Sistemi Operativi - homes.di.unimi.ithomes.di.unimi.it/~sisop/lucidi0708/so01.pdf ·...
-
Upload
vuongquynh -
Category
Documents
-
view
228 -
download
0
Transcript of Sistemi Operativi - homes.di.unimi.ithomes.di.unimi.it/~sisop/lucidi0708/so01.pdf ·...
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Sistemi Operativi1
Mattia Monga
Dip. di Informatica e ComunicazioneUniversita degli Studi di Milano, Italia
4 marzo 2008
1c© 2008 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 [1] e da Wikipedia.
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Lezione I: Introduzione
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Informazioni sul corso
4+4 ore di lezione settimanali (12 crediti)
Lezioni di teoria e in laboratorio
Esame:
Scritto con domande a risposta multipla + oraleProva pratica per la parte di laboratorioSono previste 2 prove intermedie
Libro di testo per la parte di teoria: Operating SystemDesign and Implementation, di Tanenbaum e Woodhull, IIIed.[1]
http://homes.dico.unimi.it/sisop/
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Il sistema operativo
Cos’e un sistema operativo
Un insieme di programmi che:
Gestisce in modo ottimale le risorse di un calcolatore;
Facilita a programmatori ed utenti finali l’uso dellasottostante macchina hardware
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
The onion model
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Kernel/User mode
Il s.o. e l’unico programma che esegue con il totalecontrollo delle risorse hardware (kernel mode).
Gli altri programmi si appoggiano unicamente sui servizidel s.o. e la loro esecuzione e gestita e controllata dal s.o.(user mode)
In molti processori questa separazione e imposta viahardware
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Software di base
Con software di base si indica il sw che:
Abilita l’uso del computer e delle sue componenti ad unutente
Gestisce le risorse del sistema
Facilita l’uso delle stesse ai programmatori di applicazioni
Fanno parte del sw di base:
Sistema operativo
Compilatori e interpreti
DBMS
Sistemi operativi di rete
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Software applicativo
Con software applicativo si indica il sw che:
Soddisfa le specifiche esigenze degli utenti finali(utilizzatori) in merito all’uso del calcolatore nelle loroattivita
Fanno parte del sw applicativo:
Video-scrittura, Foglio elettronico
Contabilita, Fatturazione
WWW, Posta elettronica, News
. . .
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Unita di misura
exp prefisso exp prefisso exp prefisso10−3 milli (m) 103 kilo (K) 210 kibi (Ki)
10−6 micro (µ) 106 mega (M) 220 mebi (Mi)
10−9 nano (n) 109 giga (G) 230 gibi (Gi)
10−12 pico (p) 1012 tera (T) 240 tebi (Ti)
10−15 femto (f) 1015 peta (P) 250 pebi (Pi)
10−18 atto (a) 1018 exa (E) 260 exbi (Ei)
10−21 zepto (z) 1021 zetta (Z) – –
10−24 yocto (y) 1024 yotta (Y) – –
bit (b) binary digit;
byte (B) un insieme di bit adiacenti (generalmente otto)
octet (o) otto bit
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Definizioni preliminari
Tempo di turnaround : intervallo di tempo che intercorre tral’istante di tempo in cui si sottopone un processo(job) al sistema e l’istante di tempo in cuitermina l’esecuzione del job (wall clock time)
Tempo di esecuzione : quantita di tempo utilizzata dalla CPUper eseguire un determinato job
Input time : tempo impiegato per immettere i dati di input
Output time : tempo impiegato per emettere l’output (noncalcolarlo!)
Utilizzo CPU in un intervallo di tempo T : tempo di esecuzioneT
Troughput in un intervallo T : numero di job eseguiti in T
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Tempi tipici
Risorse usate da un’applicazione tipica
Input time manuale: 15 min
Input time automatico: 0.3 min
Output time: 0.5 min
Execution time: 1 min
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Generazioni
Generazione 1 (1945-55) : Valvole, modello open shop,applicazioni scientifiche
Generazione 2 (1955-65) : Transistor, sistemi batch,applicazioni scientifiche e prime applicazionicommerciali
Generazione 3 (1965-80) : ICs, sistemi multiprogrammati etimesharing, applicazioni commerciali
Generazione 4 (1980-Present) : VLSI, applicazioni personali
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Modello open shop
Gli utenti accedevano a turno al calcolatore dove caricavano edeseguivano i loro programmi.Sistema poco efficiente
Un utente ogni 20 min circa
Utilizzo CPU 1/20 = 5% (v. tempi tipici)
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
I generazione
In questo caso la memoria del calcolatore era completamente adisposizione dell’utente finale ed appariva in questo modo:
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
II generazione
Un primo miglioramento derivo dall’eliminazione dei tempi diinput di dati e programmi con l’introduzione delle schedeperforate
L’utente preparava off-line il suo programma su schedeperforate
Accedeva al calcolatore a cui faceva leggere le schede
il programma veniva eseguito ed i risultati stampati
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Schede perforate
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Profilo temporale
Il profilo temporale dell’esecuzione dei programmi era quindi:I1 E1 O1 I2 E2 O2 I3 E3 O3 I4 E4 O4
In questo caso, se consideriamo il profilo di un’applicazionestandard, il troughput del sistema diventa 33 job/h con un usodella CPU = 33/60 = 55% (v. tempi tipici)
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Esigenza del s.o.
L’avvento dei lettori di schede incominci a richiedere la presenzain memoria centrale di un programma che fosse in grado di:
Gestire l’unita periferica (CR)
Leggere le schede
Interpretare ed eseguire i comandi richiesti (Job ControlLanguage)
Copiare il contenuto delle schede in memoria
A lettura ultimata “lanciare” l’esecuzione del programma
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Memoria
La memoria risultava occupata in questo modo
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Batch
Nasce l’esigenza di ottimizzare l’uso dei sistemi di calcoloe di eliminare dal “ciclo produttivo” le unita di I/O
Le unita di I/O che fino a quel momento erano statecollegate ai calcolatori, (card reader e stampanti) vengonosostituite da unita a nastri molto piu veloci
Si modifica completamente lo schema di accesso ad uncalcolatore
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Batch
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Profilo temporale
Il profilo temporale dell’esecuzione dei programmi era quindi:I1 I2 I3 I4 E1 E2 E3 E4 O1 O2 O3 O4
In questo caso il troughput del sistema era di 55 job/h con unuso 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 poteraccedere ai risultati della propria elaborazione
Nella maggioranza dei casi il tempo di turnaround siaggirava intorno alle 24 ore
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Ulteriori problemi
Un ulteriore elemento di criticita presente nei sistemi batch eracostituito dal cambiamento delle applicazioni tipo
Sino alla fine degli anni ’50 il calcolatore era usatoprincipalmente per computazioni di tipo scientifico cherichiedevano quindi un uso intensivo della CPU (CPUbound)
Dalla fine degli anni ’50 il calcolatore incominci ad essereutilizzato in applicazioni commerciali, caratterizzate da unforte uso di I/O (I/O bound)
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Profilo batch (2)
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
III generazione
Applicazioni tipicamente commerciali o molto interattive
Nascono come risposta al problema di un migliorsfruttamento della CPU
S.O. di riferimento: IBM OS/360
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Multiprogrammazione
I sistemi multiprogrammati godono delle seguenticaratteristiche:
Consentono la coesistenza contemporanea in memoriacentrale di due o piu programmi
Adottano meccanismi che consentono di svincolarel’attivita della CPU da quella delle periferiche di I/O
Ottimizzano l’uso della CPU
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Memoria multiprogrammata
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Multiprogrammazione
Principio di funzionamento:
Viene scelto un programma P1 da eseguire, tra quellipresenti in memoria
Quando P1 richiede lo svolgimento di un’operazione diI/O, la stessa viene demandata alla periferica, ilprogramma P1 viene momentaneamente sospeso, sararipreso successivamente
La CPU procede nell’esecuzione di un altro programma
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Multiprogrammazione
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Multiprogrammazione
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Interrupt
Per realizzare questa modalita diventano fondamentali i segnalidi interrupt
Interrupt
E un segnale elettrico inviato da un dispositivo esterno almicroprocessore, piu precisamente all’interrupt controllerL’interrupt permette al processore di interrompere le attivita incorso e di eseguirne altre
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Multiprogrammazione
Affinche lo schema funzioni, e necessario disporre di:
Routine di gestione degli interrupt
Moduli per la gestione dei programmi sospesi e di quellipronti all’esecuzione
Moduli per la gestione delle periferiche
piu processi possono richiedere l’uso della stessa risorsa
Moduli per la gestione della memoria
Tutte queste funzionalita sono accorpate nel sistema operativo
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Multiprogrammazione
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Time sharing
Sistemi altamente interattivi
Ogni utente lavora interattivamente e riceveperiodicamente attenzione dal calcolatore
L’impressione che ne ottiene e di avere a disposizione unsistema dedicato
Un sistema time-sharing non deve necessariamente esseremultiprogrammato (in ogni time slice un solo programmautente e caricato in memoria)
CTS5 Multics Unix
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Confronto
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Real time
Sistemi che devono garantire l’esecuzione di certeoperazioni entro limiti di tempo prefissato
La nozione di real-time legata all’ambito applicativo
Sistemi hard real-time i vincoli di tempo non possonoessere violati pena gravi danni al sistema eall’ambiente
Sistemi soft real-time il mancato rispetto dei vincoli ditempo porta ad un degrado delle prestazionidel sistema
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
IV generazione
Sistemi operativi piu facili da utilizzare
Installabili da utenti poco espertiUtilizzabili da ogni classe di utente
Nasce la nozione di sistema user-friendly
Molta enfasi viene posta sulle interfacce utente, graziesoprattutto al lavoro della Xerox (e poi Apple) cheintroduce le interfacce a finestre
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
IV generazione
I principali sistemi operativi di IV generazione sono:
UNIX
molto diffuso su workstation nelle varie versioni: HP-UX,SOLARIS, AIX, ULTRIXin ambiente PC: Linux, FreeBSD, OpendBSDin ambiente Apple: MacOs X
MS-DOS W95 WNT W2000 XP VISTA
Nato per PC IBM e compatibili, che usavano il processoreIntel 8088Con WNT Microsoft ha iniziato ad operare sul mercatodelle WKS
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
IV generazione
I sistemi operativi di IV generazione hanno dovuto fare iconti, per primi, con una nuova risorsa: la rete
A partire dalla meta degli anni ’70, lo sviluppo di protocolliper reti locali prima e per reti geografiche immediatamentedopo ha favorito lo sviluppo delle reti di calcolatori
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Rete
Per poter operare in una rete, un calcolatore deve esserepredisposto del necessario
HW: cavi e schede di rete
SW: protocolli per la comunicazione con gli altri hostcollegati in rete. I protocolli piu diffusi:
EthernetTCP-UDP/IP
SistemiOperativi
Danilo BruschiMattia Monga
Concettigenerali
Evoluzione deisistemioperativi
I generazione
II generazione
III generazione
IV generazione
Il futuro
Si assiste ad una continua evoluzione verso l’usabilita delsistema, che richiede interfacce sempre piu intuitive
Vi e una continua evoluzione di unita periferiche e sistemidi interconnessione (bluetooth, wi.fi, digital camera,biometric device) che il sistema operativo deve essere ingrado di inglobare e gestire
La complessita del s.o. cresce