Title: Abstract View of System Components
1Corso di Laboratorio di Sistemi Operativi
Corsi di Laurea in Scienza e Teoria
dell'Informatica e Matematica, Università di
Siena Anno accademico 2003/2004 Â
Dott. Simone Rinaldi e-mail rinaldi_at_unisi.it
Dott. Andrea Frosini e-mail frosini_at_unisi.it
Ricevimento lunedì dalle 1400 alle 1600. I
lucidi delle lezioni ed altro eventuale materiale
didattico potranno essere reperiti alla
pagina http//www2.dsmi.unisi.it/newsito/insegnam
ento.php?id24
2Programma del corso (1/2)
Introduzione 1. Preliminari 2. Sviluppo dei
Sistemi Operativi Storia di UNIX e di Linux 1.
Evoluzione di UNIX 2. Avvento di Linux 3. Linux e
MINIX 4. Concetto di Open Source e Free Software
Foundation 5. Distribuzioni6. Mandrake 9.0
"Dolphin" (caratteristiche e istallazione) Struttu
ra di UNIX e di Linux 1. Livelli e componenti di
UNIX 2. Shell 3. Libreria Standard 4. Kernel
5. Kernel modulare di Linux 6. Introduzione al
file system
I comandi principali 1. Avviare il sistema 2.
Connessione e disconnessione dal sistema 3.
Shell 4. Comandi 5. Filtri 6. Manuali man,
info 7. Gestione dei files e directories 8.
Standard input, output, error 9. Pipelines 10.
find 11. grep
La gestione dei files  1. UNIX File system 2.
Index node 3. Link 4. Gestione dei files e
delle directories5. Attributi dei files 6.
Gestione dei Permessi 7. Linux file system 8.
Compressione e uso del tar
3Programma del corso (2/2)
La gestione dei processi 1. Introduzione ai
processi 2. Stati di un processo 3. Comandi
per la gestione dei processi UNIX 4. System
calls per la gestione dei processi fork(),
wait(), exec(), exit () 5. Programmi in C e
system calls 6. Segnali Link 7. Scheduling
La shell bash 1. Introduzione alle shell 2.
Programmi e Scripting 3. Introduzione agli
script per bash4. Gestione delle variabili 5.
If-then-else-fi 6. Espressioni 7. Parametri
posizioni e parametri speciali 8. case-in-esac
9. for-in-do-done 10. Array Link 11. Debugging
12. while-do-done 13. conitnue-break 14.
until-do-done Link 15. Gestione stringhe Link
16. Sostituzione dei parametri 17. Funzioni
18. Esempi Â
4- Modalità di esame
- L'esame consiste nella realizzazione di scripts
che risolvono un esercizio assegnato dal docente.
- Gli scripts devono essere realizzati in una
settimana. - Al momento della consegnata del programma al
docente lo studente sostiene la prova orale che
consiste in una - discussione sugli scripts realizzati. L'esercizio
deve essere svolto individualmente.
Prenotazione Esame - Deve essere effettuata la prenotazione all'esame
inviando una email con soggetto - Prenotazione Laboratorio di S.O. ad uno degli
indirizzi - frosini_at_unisi.it
- rinaldi_at_unisi.it
- specificando inoltre Nome, Cognome, Nome del
corso, Corso di Laurea. - Il docente invierà l'esercizio (sempre via email)
dopo circa una settimana. - Â
- La consegna prevede
- una relazione che illustri i vari passi della
procedura che risolve l'esercizio e gli scripts
implementati - sia la relazione che gli scripts possono essere
consegnati inviando una email all'indirizzo
frosini_at_unisi.it oppure rinaldi_at_unisi.it - il docente risponde al messaggio comunicando la
data della prova orale - Â
5Libri di Testo  Linux La guida , M. Welsh, M. K.
Dalheimwer, L. Kaufman, ApogeoGuida a Unix con
Linux, di Jack Dent, Tony Gaddis, Apogeo Per
ulteriori approfondimenti sui S.O. Sistemi
Operativi, V Edizione, A. Silberschatz and P. B.
Galvin, Addison Wesley. I Moderni Sistemi
Operativi, A. S. Tanenbaum, Jackson Al Kelley,
C Didattica e Programmazione Al Kelley, Ira
Pohl, , Addison-Wesley Manuali
online Appunti_di_informatica_libera.html,
Daniele Gioacomini Linux Guida dellUtente,
Larry Greenfield Linux HOWTO - Istallazione e
Configurazione BASH Programming - Introduction
HOWTOÂ
6What is an Operating System?
- A program that acts as an intermediary between a
user of a computer and the computer hardware. - Operating system goals
- Furnish services to programs (I/O, read, write,
timer, interrupt ... ) using special instructions
(system calls). - Make the computer system convenient to use,
organizing its resources and sharing them among
the users. - Use the computer hardware in an efficient manner.
7Computer System Components
- Hardware provides basic computing resources
(CPU, memory, I/O devices). - Operating system It is a special system program
that controls and coordinates the use of the
hardware among the various system and application
programs for the various users. - System and Application programs define the ways
in which the system resources are used to solve
the computing problems of the users (compilers,
database systems, video games, browsers). - Users (people, machines, other computers).
8Abstract View of System Components
9Operating System Definitions
- Resource allocator manages and allocates
resources. - Control program controls the execution of user
programs and operations of I/O devices. - Kernel the one program running at all times
(all else being application programs).
10History of Operating Systems
- First generation 1945 - 1955
- vacuum tubes, plug boards
- Second generation 1955 - 1965
- transistors, batch systems
- Third generation 1965 1980
- ICs and multiprogramming
- Fourth generation 1980 present
- personal computers
11Batch Systems (2nd generation)
- Early batch system
- bring cards to 1401
- read cards to tape
- put tape on 7094 which does computing
- put tape on 1401 which prints output
12Batch Systems
- Structure of a typical Fortran Monitor System job
13Batch Systems
- Reduce setup time by batching similar jobs
- Automatic job sequencing automatically
transfers control from one job to another. First
rudimentary operating system. - Use of a small machine for writing jobs on a tape
and printing results from tape. It has no
computational capability.
14Memory Layout for a Simple Batch System
15Multi-programmed Batch Systems (3rd generation)
Several jobs are kept in main memory at the same
time (pool of jobs), and the CPU is multiplexed
among them (CPU scheduling).
16OS Features Needed for Multiprogramming
- CPU scheduling the system must choose among
several jobs ready to run. - Memory management the system must allocate the
memory to several jobs. - I/O routine supplied by the system.
- Spooling systems for handling outputs.
17Time-Sharing SystemsInteractive Computing
- The CPU is multiplexed among several jobs that
are kept in memory and on disk (the CPU is
allocated to a job only if the job is in memory). - A job swapped in and out of memory to the disk.
- On-line communication between the user and the
system is provided when the operating system
finishes the execution of one command, it seeks
the next control statement from the users
keyboard. - On-line system must be available for users to
access data and code.
18OS Time-Sharing Systems
- CTSS (Compatible Time Sharing System - 1962)
- MULTICS (MULTIplexed Information and Computing
Service - 1965) - UNIX (1969)
19Desktop Systems (4nd generation)
- Personal computers computer system dedicated to
a single user. - I/O devices keyboards, mice, display screens,
small printers. - User convenience and responsiveness.
- Can adopt technology developed for larger
operating system. Often individuals have sole use
of computer and do not need advanced CPU
utilization of protection features. - May run several different types of operating
systems (Windows, MacOS, UNIX, Linux)
20Desktop Systems
- MS-DOS (MicroSoft Disk Operating System -1980)
- Windows (1985)
- Windows 95, Windows 98, Windows Me
- Windows NT, Windows 2000 (5th version of NT),
Windows XP - UNIX
- Minix (1987)
- Linux (1994)
21Distributed Systems
- Requires networking infrastructure.
- Local area networks (LAN) or Wide area networks
(WAN) - May be either client-server or peer-to-peer
systems.