Sistemi Operativi - Home di homes.di.unimi.it

annuncio pubblicitario
Sistemi
Operativi
Bruschi
Martignoni
Monga
Sistemi Operativi1
Concetti
generali
Evoluzione dei
sistemi
operativi
Mattia Monga
I generazione
II generazione
III generazione
IV generazione
Dip. di Informatica e Comunicazione
Università degli Studi di Milano, Italia
[email protected]
a.a. 2008/09
1
c 2009 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia License.
http://creativecommons.org/licenses/by-sa/2.5/it/. Immagini tratte da [2] e da Wikipedia.
1
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
Lezione I: Introduzione
I generazione
II generazione
III generazione
IV generazione
2
Informazioni sul corso
Sistemi
Operativi
Bruschi
Martignoni
Monga
4+4 ore di lezione settimanali (12 crediti)
Lezioni di teoria e in laboratorio
Esame:
Concetti
generali
Evoluzione dei
sistemi
operativi
Scritto con domande a risposta multipla + orale
Prova pratica per la parte di laboratorio
Sono previste 2 prove intermedie
I generazione
II generazione
III generazione
IV generazione
Libro di testo per la parte di teoria: Operating System
Design and Implementation, di Tanenbaum e Woodhull, III
ed.[2]
http://homes.dico.unimi.it/sisop/
3
Il sistema operativo
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Cos’è un sistema operativo
Un insieme di programmi che:
Evoluzione dei
sistemi
operativi
Gestisce in modo ottimale le risorse di un calcolatore;
I generazione
II generazione
III generazione
IV generazione
Facilita a programmatori ed utenti finali l’uso della
sottostante macchina hardware
4
The onion model
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
5
Kernel/User mode
Sistemi
Operativi
Bruschi
Martignoni
Monga
Il s.o. è l’unico programma che esegue con il totale
controllo delle risorse hardware (kernel mode).
Concetti
generali
Evoluzione dei
sistemi
operativi
Gli altri programmi si appoggiano unicamente sui servizi
del s.o. e la loro esecuzione è gestita e controllata dal s.o.
(user mode)
I generazione
II generazione
III generazione
IV generazione
In molti processori questa separazione è imposta via
hardware
6
Software di base
Sistemi
Operativi
Bruschi
Martignoni
Monga
Con software di base si indica il sw che:
Abilita l’uso del computer e delle sue componenti ad un
utente
Concetti
generali
Gestisce le risorse del sistema
Evoluzione dei
sistemi
operativi
Facilita l’uso delle stesse ai programmatori di applicazioni
I generazione
II generazione
III generazione
IV generazione
Fanno parte del sw di base:
Sistema operativo
Compilatori e interpreti
DBMS
Sistemi operativi di rete
7
Software applicativo
Sistemi
Operativi
Bruschi
Martignoni
Monga
Con software applicativo si indica il sw che:
Soddisfa le specifiche esigenze degli utenti finali
(utilizzatori) in merito all’uso del calcolatore nelle loro
attività
Concetti
generali
Evoluzione dei
sistemi
operativi
Fanno parte del sw applicativo:
I generazione
II generazione
III generazione
IV generazione
Video-scrittura, Foglio elettronico
Contabilità, Fatturazione
WWW, Posta elettronica, News
...
8
Unità di misura
Sistemi
Operativi
exp
10−3
10−6
10−9
10−12
10−15
10−18
10−21
10−24
prefisso
milli (m)
micro (µ)
nano (n)
pico (p)
femto (f)
atto (a)
zepto (z)
yocto (y)
exp
103
106
109
1012
1015
1018
1021
1024
prefisso
kilo (K)
mega (M)
giga (G)
tera (T)
peta (P)
exa (E)
zetta (Z)
yotta (Y)
exp
210
220
230
240
250
260
–
–
prefisso
kibi (Ki)
mebi (Mi)
gibi (Gi)
tebi (Ti)
pebi (Pi)
exbi (Ei)
–
–
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
bit (b) binary digit;
byte (B) un insieme di bit adiacenti (generalmente otto)
octet (o) otto bit
9
Definizioni preliminari
Sistemi
Operativi
Tempo di turnaround : intervallo di tempo che intercorre tra
l’istante di tempo in cui si sottopone un processo
(job) al sistema e l’istante di tempo in cui
termina l’esecuzione del job (wall clock time)
Tempo di esecuzione : quantità di tempo utilizzata dalla CPU
per eseguire un determinato job
Input time : tempo impiegato per immettere i dati di input
Output time : tempo impiegato per emettere l’output (non
calcolarlo!)
Utilizzo CPU in un intervallo di tempo T :
tempo di esecuzione
T
Troughput in un intervallo T : numero di job eseguiti in T
10
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
Tempi tipici
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Risorse usate da un’applicazione tipica
Input time manuale: 15 min
Evoluzione dei
sistemi
operativi
Input time automatico: 0.3 min
I generazione
II generazione
III generazione
IV generazione
Output time: 0.5 min
Execution time: 1 min
11
Generazioni
Sistemi
Operativi
Bruschi
Martignoni
Monga
Generazione 1 (1945-55) : Valvole, modello open shop,
applicazioni scientifiche
Concetti
generali
Generazione 2 (1955-65) : Transistor, sistemi batch,
applicazioni scientifiche e prime applicazioni
commerciali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
Generazione 3 (1965-80) : ICs, sistemi multiprogrammati e
timesharing, applicazioni commerciali
Generazione 4 (1980-Present) : VLSI, applicazioni personali
12
Modello open shop
Sistemi
Operativi
Bruschi
Martignoni
Monga
Gli utenti accedevano a turno al calcolatore dove caricavano ed
eseguivano i loro programmi.
Sistema poco efficiente
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
Un utente ogni 20 min circa
Utilizzo CPU 1/20 = 5%
Concetti
generali
(v. tempi tipici)
13
I generazione
Sistemi
Operativi
In questo caso la memoria del calcolatore era completamente a
disposizione dell’utente finale ed appariva in questo modo:
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
14
II generazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
Un primo miglioramento derivò dall’eliminazione dei tempi di
input di dati e programmi con l’introduzione delle schede
perforate
Concetti
generali
Evoluzione dei
sistemi
operativi
L’utente preparava off-line il suo programma su schede
perforate
I generazione
II generazione
III generazione
IV generazione
Accedeva al calcolatore a cui faceva leggere le schede
il programma veniva eseguito ed i risultati stampati
15
Schede perforate
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
16
Profilo temporale
Sistemi
Operativi
Bruschi
Martignoni
Monga
Il profilo temporale dell’esecuzione dei programmi era quindi:
I1 E1 O1 I2 E2 O2 I3 E3 O3 I4 E4 O4
Concetti
generali
Evoluzione dei
sistemi
operativi
In questo caso, se consideriamo il profilo di un’applicazione
standard, il troughput del sistema diventa 33 job/h con un uso
della CPU = 33/60 = 55% (v. tempi tipici)
17
I generazione
II generazione
III generazione
IV generazione
Esigenza del s.o.
Sistemi
Operativi
Bruschi
Martignoni
Monga
L’avvento dei lettori di schede incominciò a richiedere la
presenza in memoria centrale di un programma che fosse in
grado di:
Concetti
generali
Evoluzione dei
sistemi
operativi
Gestire l’unità periferica (CR)
Leggere le schede
I generazione
II generazione
III generazione
IV generazione
Interpretare ed eseguire i comandi richiesti (Job Control
Language)
Copiare il contenuto delle schede in memoria
A lettura ultimata “lanciare” l’esecuzione del programma
18
Memoria
Sistemi
Operativi
La memoria risultava occupata in questo modo
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
19
Batch
Sistemi
Operativi
Bruschi
Martignoni
Monga
Nasce l’esigenza di ottimizzare l’uso dei sistemi di calcolo
e di eliminare dal “ciclo produttivo” le unità di I/O
Concetti
generali
Le unità di I/O che fino a quel momento erano state
collegate ai calcolatori, (card reader e stampanti) vengono
sostituite da unità a nastri molto piú veloci
Si modifica completamente lo schema di accesso ad un
calcolatore
20
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
Batch
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
21
Profilo temporale
Sistemi
Operativi
Il profilo temporale dell’esecuzione dei programmi era quindi:
I1 I2 I3 I4 E1 E2 E3 E4 O1 O2 O3 O4
Bruschi
Martignoni
Monga
Concetti
generali
In questo caso il troughput del sistema era di 55 job/h con un
uso della CPU = 55/60 = 91% (v. tempi tipici)
La CPU veniva utilizzata al meglio ma . . .
Il tempo di turnaround era diventato estremamente elevato
L’utente doveva attendere la fine del batch per poter
accedere ai risultati della propria elaborazione
Nella maggioranza dei casi il tempo di turnaround si
aggirava intorno alle 24 ore
22
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
Ulteriori problemi
Sistemi
Operativi
Un ulteriore elemento di criticità presente nei sistemi batch era
costituito dal cambiamento delle applicazioni tipo
Sino alla fine degli anni ’50 il calcolatore era usato
principalmente per computazioni di tipo scientifico che
richiedevano quindi un uso intensivo della CPU (CPU
bound)
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
Dalla fine degli anni ’50 il calcolatore incominci ad essere
utilizzato in applicazioni commerciali, caratterizzate da un
forte uso di I/O (I/O bound)
23
Profilo batch (2)
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
24
III generazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Applicazioni tipicamente commerciali o molto interattive
Evoluzione dei
sistemi
operativi
Nascono come risposta al problema di un miglior
sfruttamento della CPU
I generazione
II generazione
III generazione
IV generazione
S.O. di riferimento: IBM OS/360
25
Multiprogrammazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
I sistemi multiprogrammati godono delle seguenti
caratteristiche:
Concetti
generali
Evoluzione dei
sistemi
operativi
Consentono la coesistenza contemporanea in memoria
centrale di due o piú programmi
I generazione
II generazione
III generazione
IV generazione
Adottano meccanismi che consentono di svincolare
l’attività della CPU da quella delle periferiche di I/O
Ottimizzano l’uso della CPU
26
Memoria multiprogrammata
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
27
Multiprogrammazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
Principio di funzionamento:
Concetti
generali
Viene scelto un programma P1 da eseguire, tra quelli
presenti in memoria
Evoluzione dei
sistemi
operativi
Quando P1 richiede lo svolgimento di un’operazione di
I/O, la stessa viene demandata alla periferica, il
programma P1 viene momentaneamente sospeso, sarà
ripreso successivamente
I generazione
II generazione
III generazione
IV generazione
La CPU procede nell’esecuzione di un altro programma
28
Multiprogrammazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
29
Multiprogrammazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
29
Interrupt
Sistemi
Operativi
Bruschi
Martignoni
Monga
Per realizzare questa modalità diventano fondamentali i segnali
di interrupt
Concetti
generali
Evoluzione dei
sistemi
operativi
Interrupt
È un segnale elettrico inviato da un dispositivo esterno al
microprocessore, piú precisamente all’interrupt controller
L’interrupt permette al processore di interrompere le attività in
corso e di eseguirne altre
30
I generazione
II generazione
III generazione
IV generazione
Multiprogrammazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
Affinché lo schema funzioni, è necessario disporre di:
Routine di gestione degli interrupt
Concetti
generali
Moduli per la gestione dei programmi sospesi e di quelli
pronti all’esecuzione
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
Moduli per la gestione delle periferiche
piú processi possono richiedere l’uso della stessa risorsa
Moduli per la gestione della memoria
Tutte queste funzionalità sono accorpate nel sistema operativo
31
Multiprogrammazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
32
Time sharing
Sistemi
Operativi
Bruschi
Martignoni
Monga
Sistemi altamente interattivi
Ogni utente lavora interattivamente e riceve
periodicamente attenzione dal calcolatore
Concetti
generali
Evoluzione dei
sistemi
operativi
L’impressione che ne ottiene è di avere a disposizione un
sistema dedicato
I generazione
II generazione
III generazione
IV generazione
Un sistema time-sharing non deve necessariamente essere
multiprogrammato (in ogni time slice un solo programma
utente è caricato in memoria)
CTS5
Multics
Unix
33
Confronto
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
34
Real time
Sistemi
Operativi
Bruschi
Martignoni
Monga
Sistemi che devono garantire l’esecuzione di certe
operazioni entro limiti di tempo prefissato
Concetti
generali
La nozione di real-time legata all’ambito applicativo
Sistemi hard real-time i vincoli di tempo non possono
essere violati pena gravi danni al sistema e
all’ambiente
Sistemi soft real-time il mancato rispetto dei vincoli di
tempo porta ad un degrado delle prestazioni
del sistema
35
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
IV generazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
Sistemi operativi piú facili da utilizzare
Concetti
generali
Installabili da utenti poco esperti
Utilizzabili da ogni classe di utente
Evoluzione dei
sistemi
operativi
Nasce la nozione di sistema user-friendly
I generazione
II generazione
III generazione
IV generazione
Molta enfasi viene posta sulle interfacce utente, grazie
soprattutto al lavoro della Xerox (e poi Apple) che
introduce le interfacce a finestre
36
IV generazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
I principali sistemi operativi di IV generazione sono:
UNIX
Concetti
generali
molto diffuso su workstation nelle varie versioni: HP-UX,
SOLARIS, AIX, ULTRIX
in ambiente PC: Linux, FreeBSD, OpendBSD
in ambiente Apple: MacOs X
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
MS-DOS W95 WNT W2000 XP VISTA
Nato per PC IBM e compatibili, che usavano il processore
Intel 8088
Con WNT Microsoft ha iniziato ad operare sul mercato
delle WKS
37
IV generazione
Sistemi
Operativi
Bruschi
Martignoni
Monga
Concetti
generali
I sistemi operativi di IV generazione hanno dovuto fare i
conti, per primi, con una nuova risorsa: la rete
A partire dalla metà degli anni ’70, lo sviluppo di protocolli
per reti locali prima e per reti geografiche immediatamente
dopo ha favorito lo sviluppo delle reti di calcolatori
38
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
Rete
Sistemi
Operativi
Bruschi
Martignoni
Monga
Per poter operare in una rete, un calcolatore deve essere
predisposto del necessario
Concetti
generali
Evoluzione dei
sistemi
operativi
HW: cavi e schede di rete
SW: protocolli per la comunicazione con gli altri host
collegati in rete. I protocolli piú diffusi:
I generazione
II generazione
III generazione
IV generazione
Ethernet
TCP-UDP/IP
39
Il futuro
Sistemi
Operativi
Bruschi
Martignoni
Monga
Si assiste ad una continua evoluzione verso l’usabilità del
sistema, che richiede interfacce sempre piú intuitive
Concetti
generali
Vi è una continua evoluzione di unità periferiche e sistemi
di interconnessione (bluetooth, wi.fi, digital camera,
biometric device) che il sistema operativo deve essere in
grado di inglobare e gestire
La complessità del s.o. cresce
40
Evoluzione dei
sistemi
operativi
I generazione
II generazione
III generazione
IV generazione
Scarica