Capitolo 7 Le infrastrutture SoftWare
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Funzioni del sistema operativo p ¾
Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: • • • • • •
¾
correttezza e precision; anywhere, anytime; affidabilità, disponibilità e sicurezza dei sistemi; privatezza dei dati; interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.
Il sistema operativo può essere inteso come uno strumento che virtualizza le caratteristiche dell’hardware sottostante,, offrendo di esso la visione di una macchina astratta più potente e più semplice da utilizzare di quella fisicamente disponibile.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
SO: funzionalità ¾
SO come GESTORE DELLE RISORSE
¾
SO come MACCHINA ESTESA
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Funzioni di servizio del SO ¾
Esecuzione di applicazioni
¾
Accesso ai dispositivi p di ingresso/uscita g
¾
Archiviazione di dati e programmi
¾
Controllo di accesso
¾
Contabilizzazione
¾
Gestione dei malfunzionamenti
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Vantaggi di un SO ¾
Sono S legati l ti alla ll possibilità ibilità di d definire fi i modalità standard di interfaccia con i di dispositivi iti i fi fisici, i i cosicché i hé sia i possibile: ibil • sviluppare programmi in modo semplice, modulare ed indipendente dallo specifico calcolatore su cui viene fatto funzionare il sistema operativo; • aggiornare il software di base e l'hardware in modo trasparente ai programmi applicativi e all'utente, ossia senza che vengano influenzati dall'operazione dall operazione.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Visioni fornite da un SO ¾ Dall'alto:
il sistema operativo p fornisce all'utente un'interfaccia conveniente. ¾ Dal basso: gestisce tutti le parti di un sistema complesso, allocando in modo ordinato di t le l di diverse risorse i d della ll macchina: hi processori, memorie, dischi, interfacce di rete, stampanti e altre periferiche.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Il software
SW Applicativo Sistema S ste a Operativo Ope at vo
SW
HW HW
¾ SW= ¾ Il
Sistema Operativo + SW applicativo
S.O. . . come necessario intermediario
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Elementi di un SO ¾
Sistema di gestione del processore, processore,
¾
Sistema di gestione della memoria, memoria,
¾
Sistema di gestione delle periferiche, periferiche,
¾
Sistema di gestione dei file (file system)
¾
Sistema di gestione degli utenti e dei relativi comandi (interprete comandi),
¾
Sistema di gestione della rete.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Elementi di un SO Utente
Interprete comandi
Sistema Operativo Gestione memoria
Gestione p periferiche
Software applicativo li ti File system
Nucleo (o kernel) [gestione processore]
Interfaccia con la rete
Hardware
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
SO vs applicazioni ¾
Programmi applicativi • hanno accesso a un n insieme ridotto di risorse; • possono utilizzare solo un sottoinsieme tt i i d delle ll iistruzioni t i i del processore (esecuzione in modalità utente); • non possono decidere autonomamente quando e come avere accesso alle risorse i del d l sistema i t ((richiedono i hi d al sistema operativo l’esecuzione di alcuni servizi); • …
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
¾
Sistema operativo • ha accesso a tutte le risorse; • può utilizzare tutte le istruzioni del processore (esecuzione in modalità supervisore); • stabilisce in che ordine e come le richieste che riceve devono essere soddisfatte; • … Copyright © 2005 – The McGraw-Hill Companies srl
Multiprogrammazione elaborazione
attesa per operazioni di I/O
Tempo
Progr. 1
Progr. 2
Progr. 3
Tempo
elaborazione Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
attesa per operazioni di I/O
Copyright © 2005 – The McGraw-Hill Companies srl
Processo vs programma ¾ Programma Programma::
entità statica composta dal codice eseguibile dal processore. ¾ Processo Processo:: entità dinamica che corrisponde al programma in esecuzione, composto da: • codice (il programma); • dati (quelli che servono per l’esecuzione del programma); • stato (a che punto dell’esecuzione ci si trova, cosa cc’è è nei registri, registri …). ) Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Organizzazione di un SO ¾ ¾
Gerarchia di “macchine virtuali” La visione della macchina virtuale a livello n è quella q fornita dall’HW e dagli strati del SO fino all’ennesimo (incluso)
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Organizzazione a “strati” strati ¾
¾
¾
Ogni g macchina virtuale è un insieme di programmi p g che realizza delle funzionalità che utilizzano i servizi forniti a livello inferiore. Ogni macchina virtuale ha il compito di gestire risorse specifiche di sistema regolandone l’uso e mascherandone i limiti. I meccanismi che garantiscono la correttezza l logica sono separati dalle d ll politiche l h di d gestione (maggiore flessibilità). ogni g i “strato” “ t t ” risolve i l un problema bl specifico ifi
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Nucleo ¾ ¾ ¾
¾
¾ ¾
Interagisce direttamente con l’hardware Si occupa dell’esecuzione dell esecuzione dei programmi e della risposta agli eventi esterni generati dalle unità periferiche. Scopo principale: gestire i processi corrispondenti ai programmii che h sono contemporaneamente attivi. i i Fornisce alle macchine virtuali di livello superiore la visione di un insieme di unità di elaborazione virtuali ciascuna dedicata a un processo presente in memoria G ti Gestisce il contesto t t di esecuzione i d deii varii processii Attua una politica di alternanza (scheduling (scheduling)) nell’accesso alla CPU da p parte dei processi p in esecuzione.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Nucleo: macchina astratta Memoria di lavoro
CPU
Memoria di massa
Video/tastiera (terminale)
Interfaccia I/O
Interfaccia I/O
dati BUS
indirizzi controllo
CPU virtuale
CPU virtuale
CPU virtuale
CPU virtuale
CPU virtuale
processo
processo
processo
processo
processo
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
………
Copyright © 2005 – The McGraw-Hill Companies srl
Gestore della memoria Controlla la memoria centrale, al fine di risolvere le relative esigenze processi in modo trasparente p ed efficiente. dei vari p ¾ Consente ai programmi di lavorare in un proprio spazio di indirizzamento virtuale e di ignorare quindi le effettive zone di memoria fisica occupata. ¾ Si occupa di: ¾
• proteggere programmi e relativi dati caricati nella memoria di lavoro; • mascherare la collocazione fisica dei dati; • permettere, in modo controllato, la parziale sovrapposizione degli spazi di memoria associati ai vari programmi. ¾
Fornisce alle macchine di li livello ello ssuperiore periore la possibilità di la lavorare orare come se esse avessero a disposizione una memoria dedicata, di capacità anche maggiore di quella fisicamente disponibile.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Gestore memoria: macchina astratta Memoria di lavoro (fisica)
Memoria di massa
Video/tastiera (terminale)
Interfaccia I/O
Interfaccia I/O
dati BUS
indirizzi controllo
CPU virtuale
CPU virtuale
CPU virtuale
CPU virtuale
CPU virtuale
processo
processo
processo
processo
processo
Memoria l gi logica
Memoria l gi logica
Memoria l gi logica
Memoria l gi logica
Memoria l gi logica
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
………
Copyright © 2005 – The McGraw-Hill Companies srl
Gestore delle periferiche ¾
Fornisce una visione del sistema in cui i processi possono operare mediante periferiche astratte. astratte.
¾
Maschera le caratteristiche fisiche delle periferiche e le specifiche operazioni di ingresso/uscita
¾
Ogni processo ha a disposizione delle periferiche virtuali
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Memoria logica processo
CPU virtuale
I/O virtuale
Gestore periferiche I/O: macchina astratta
I/O virtuale
Memoria di massa
Video/tastiera (terminale)
Interfaccia I/O
Interfaccia I/O
dati BUS
indirizzi controllo
CPU virtuale
I/O virtuale
CPU virtuale
I/O virtuale
CPU virtuale
I/O virtuale
Memoria processo logica
I/O virtuale
Memoria processo logica
I/O virtuale
Memoria processo logica
I/O virtuale
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Memoria logica
File System: macchina astratta
Memoria logica
processo
CPU virtuale
I/O virtuale
processo
I/O virtuale
CPU virtuale
I/O virtuale
Memoria di massa
I/O virtuale
Interfaccia I/O
dati BUS
indirizzi controllo
CPU virtuale
root
I/O virtuale uno
Memoria processo logica
I/O virtuale
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
f1
alfa
beta
f2
f1
due
tre
…
f3
f4
f3
f2
Copyright © 2005 – The McGraw-Hill Companies srl
File System (gestore dei file) ¾ Gestisce
la memoria di massa
¾ Gestisce
i file
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Interprete dei comandi ¾ ¾
¾
Modulo del SO direttamente accessibile dall’utente Ha H la l funzione f i di interpretare i t t i comandi di che h gli li giungono (da tastiera e/o point&click) e di attivare i programmi corrispondenti. Le operazioni che svolge sono: • lettura dalla memoria di massa del p programma g da eseguire; • allocazione della memoria centrale; • caricamento del programma e dei relativi dati nella memoria allocata; processo corrispondente. p • creazione e attivazione del p
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
La gestione dei processi
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
SO in time sharing ¾
Permette la condivisione della CPU tra più processi interattivi
¾
Il tempo di esecuzione del processore è condiviso tra più utenti
¾
Ogni processo in esecuzione ha a disposizione un quanto di tempo di utilizzo della CPU, al termine del quale viene sospeso per lasciare il posto ad un altro processo in attesa di esecuzione
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Esecuzione di un processo Tempo
elaborazione
attesa per operazioni di I/O
• U Un processo utente t t può ò effettivamente ff tti t essere iin esecuzione sulla CPU • Ogni operazione di I/O consiste in una chiamata al sistema operativo e quindi in una sospensione del processo utente per l’esecuzione dell’operazione di I/O da parte del kernel Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Stati di un processo Completamento operazione di I/O (si verifica l’evento atteso)
Processo attivo
Processo in attesa Richiesta operazione p di I/O
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Processi non in esecuzione ¾ Si
possono distinguere p g due casi
• Processi in attesa di un evento esterno (ad esempio I/O) • Processi pronti ad essere eseguiti in attesa della CPU ¾ Si
tratta di due stati diversi: PRONTO e ATTESA realizzati l con due d code d diverse d
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Diagramma a tre stati Termine elaborazione
Selezione primo processo pronto e sua esecuzione Inizio esecuzione (accodamento ai processi pronti)
Processi pronti
Completamento operazione di I/O ((evento t esterno t atteso) tt )
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Termine quanto di tempo
Processi in attesa
Processo in esecuzione
Richiesta operazione di I/O
Copyright © 2005 – The McGraw-Hill Companies srl
Transizioni di stato ¾
Pronto → Esecuzione • Il SO stabilisce quale dei processi “pronti” debba essere mandato in esecuzione . “esecuzione” • La scelta è fatta dall’algoritmo di scheduling che deve bilanciare efficienza e fairness.
¾
P
E
A
Esecuzione → Attesa • il processo chiede hi d d delle ll risorse i che h non sono disponibili o attende un evento • il SO salva tutte le informazioni necessarie a riprendere l’esecuzione l esecuzione e l’informazione relativa all’evento atteso nella tabella dei processi
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
P
E
A
Copyright © 2005 – The McGraw-Hill Companies srl
Transizioni di stato ¾
Attesa → Pronto • Si verifica l’evento atteso dal processo e il SO sposta quel processo nella coda dei processi pronti. pronti
¾
P
E
A
Esecuzione → Pronto • Termina il quanto di tempo e il processo in “esecuzione” lascia spazio a un altro processo “pronto”. “ t ” • Il SO salva (nella tabella dei processi) tutte le informazioni per riprendere l’esecuzione del processo dal punto in cui viene interrotta. • Contemporaneamente un altro processo passa da “pronto” pronto a “esecuzione”. esecuzione .
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
P
E
A
Copyright © 2005 – The McGraw-Hill Companies srl
¡
¢
o
p
Fine I/O
I/O
Round Robin q
r
s
Processo 1
E
P
P
E
A
A
A
P
P
E
Processo 2
P
E
P
P
E
P
E
E
P
P
Processo 3
P
P
E
P
P
E
P
P
E
P
P3 P2 P1
P
E
A Cambio di contesto
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
“concorrenza” concorrenza fra processi ¾
Vantaggi dell’esecuzione concorrente di più processi: • impiegare in maniera trasparente una o più CPU (sia inserite in un solo calcolatore che in più iù calcolatori, l l i collegati ll i iin rete); ) • aumentare l’utilizzo della CPU nei sistemi a partizione di tempo, ove si eseguono più lavori in quasi parallelismo; • condividere la stessa risorsa fisica fra diversi utenti in modo del tutto trasparente p ma controllato; • accedere contemporaneamente, da parte di diversi utenti, a una base di dati comune e centralizzata; • …
¾
Problemi • starvation: un processo non riesce ad accedere ad una risorsa perché la trova sempre occupata da altri processi (che per esempio possono avere un livello di priorità maggiore); • blocco critico: un insieme di processi rimane bloccato perché ciascuno di essi aspetta delle risorse che sono occupate da un altro processo compreso in questo stesso insieme (vincolo circolare). • Evitare (prevenzione) o risolvere (eliminazione) situazioni di blocco critico o di starvation riduce le prestazioni complessive del sistema.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Interazioni tra processi p ¾
Le interazioni fra processi sono classificabili in: • indesiderate e ((spesso) p ) impreviste p • desiderate e previste.
¾
La g gestione delle interazioni fra i p processi implica p • la sincronizzazione fra le varie attività che ogni singolo processo deve svolgere in modo parallelo rispetto agli altri • la comunicazione, ovvero una modalità per lo scambio dei dati fra i processi
¾
Modalità di funzionamento dei processi: • in foreground, quando il processo è abilitato all’interazione con l’utente; • in background, quando il processo non è in grado, almeno temporaneamente, di interagire direttamente con l’utente; questo è lo stato in cui si trovano parecchi dei processi relativi alle funzioni interne del sistema operativo
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Nucleo: macchina astratta Memoria di lavoro
CPU
Memoria di massa
Video/tastiera (terminale)
Interfaccia I/O
Interfaccia I/O
dati BUS
indirizzi controllo
CPU virtuale
CPU virtuale
CPU virtuale
CPU virtuale
CPU virtuale
processo
processo
processo
processo
processo
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
………
Copyright © 2005 – The McGraw-Hill Companies srl
La gestione della memoria
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Gestore della memoria Applica tecniche per gestire il conflitto fra dimensione della memoria p complessivo p richiesto dai programmi p g che devono essere fisica e spazio eseguiti in modo concorrente e dai relativi dati. ¾ Combina le seguenti strategie: ¾
• consentire il caricamento di un programma a partire da un indirizzo qualunque d ll memoria; della i • ridurre la necessità di spazio tenendo in memoria solo una porzione dei programmi e dei dati; • condividere parte delle istruzioni (codice eseguibile) fra diversi processi corrispondenti a uno stesso programma. ¾
Il gestore della memoria • garantisce ai vari processi uno spazio di indirizzamento virtuale in cui lavorare, che può essere superiore alla memoria fisica presente nel calcolatore • mette in atto dei meccanismi di protezione che tutelano la privatezza dello spazio i di lavoro l assegnato a ognii processo.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Swapping pp g Inizio esecuzione (accodamento ai processi pronti)
Processo in esecuzione (user)
Termine quanto di tempo e scarica dalla memoria
Esecuzione primo processo pronto
Processi pronti (su disco)
Carica in memoria
Processi pronti ((in memoria)) Scarica dalla memoria Evento E t esterno atteso
Processi in attesa (su disco)
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Processo in esecuzione (kernel)
Termine quanto di tempo
Evento E t esterno atteso
Scarica dalla memoria
RTI
Richiesta operazione di I/O
Processii P in attesa (in memoria)
SVC Interrupt
Termine elaborazione
Copyright © 2005 – The McGraw-Hill Companies srl
Paginazione ¾ ¾
¾
¾ ¾
Frammentazione della memoria (logica e fisica) in blocchi di dimensioni prefissate: le pagine. pagine. Lo spazio logico di indirizzamento del processo è suddiviso in sezioni,, di dimensioni fisse e uguali g fra loro,, dette p pagine g logiche Lo spazio fisico di indirizzamento disponibile nel calcolatore l l t è anch’esso h’ suddiviso ddi i iin pagine i fi fisiche fisiche, i h , della d ll stessa dimensione delle pagine logiche. Si basa sul principio di località spazio spazio--temporale Meccanismo: Vengono caricate, in alcune pagine fisiche su RAM, solo alcune p pagine g logiche g del codice in esecuzione. Le pagine logiche necessarie vengono caricate di volta in volta, in base all’esigenza.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Corrispondenza tra pagine logiche contigue e pagine i fi fisiche i h non contigue ti Memoria fisica del calcolatore suddivisa in 8 pagine
Spazio logico Memoria logica del processo 1 (2 pagine logiche)
PL0 PL1
Spazio fisico
Spazio logico
PF0
PL0
PF1
PL1
PF2
PL2
PF3
PL3
Memoria logica del processo 2 (4 pagine logiche)
PF4 PF5 PF6 PF7
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Paginazione RAM al tempo T1
RAM al tempo T2
0
…
0
1
Pagina 1 processo 1
1
2
Pagina 2 processo 1
3 4
Al processo 1 servono nuove pagine. Alcune vecchie non servono più
2
… Pagina 6 processo 1
3 4
Pagina 7 processo 1
5
5
Pagina 5 processo 1
6
6
7
Pagina 3 processo 1
7
Pagina 3 processo 1
8
Pagina 4 processo 1
8
Pagina 4 processo 1
…
…
…
…
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Memory y Management g Unit - MMU Serve un dispositivo dispositivo hardware aggiuntivo in grado di convertire gli indirizzi logici cui fa riferimento il programma nei corrispondenti indirizzi fisici: Memory Management Unit. Unit ¾ La MMU utilizza una tabella delle pagine: pagine: ¾
• mantiene la relazione tra ogni pagina logica e l’indirizzo della pagina fisica corrispondente. corrispondente Memoria fisica del calcolatore suddivisa in 8 pagine
Spazio logico Memoria logica del processo 1 (2 pagine logiche)
Tabella pagine del processo 1 p 0
PF3
1
PF4
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
PL0 PL1
Spazio fisico
Spazio logico
PF0
PL0
PF1
PL1
PF2
PL2
PF3
PL3
PF4
Memoria logica del processo 2 (4 pagine logiche)
Tabella pagine del processo 2 0
PF1
1
PF2
PF6
2
PF0
PF7
3
PF5
PF5
Copyright © 2005 – The McGraw-Hill Companies srl
Paginazione ¾ La
paginazione risolve contemporaneamente tre problemi: 1. Dove mettere il processo in memoria 2. Superare p il numero di p processi che p posso g gestire contemporaneamente 3. Superare la dimensione fisica della memoria di lavoro
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Gestore memoria: macchina astratta Memoria di lavoro (fisica)
Memoria di massa
Video/tastiera (terminale)
Interfaccia I/O
Interfaccia I/O
dati BUS
indirizzi controllo
CPU virtuale
CPU virtuale
CPU virtuale
CPU virtuale
CPU virtuale
processo
processo
processo
processo
processo
Memoria logica
Memoria logica
Memoria logica
Memoria logica
Memoria logica
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
………
Copyright © 2005 – The McGraw-Hill Companies srl
Gestione periferiche I/O
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Gestore delle periferiche ¾
Comunicazione C i i tra t l’ambiente l’ bi t CPU CPU--RAM ed d i dispositivi di iti i esterni.
¾
Mascherare ai processi l’esistenza di un numero limitato di risorse.
¾
Mascherare ai processi la differenza tra risorse dello stesso tipo i ((o di tipo i simile) i il )
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Gestione p periferiche I/O ¾
Comandi ad alto livello per accedere alle periferiche che usano meccanismi quali: q • i controller, • i driver.
¾
I sistemi operativi comprendono i driver per la gestione delle periferiche più comuni.
¾
Ogni aggiunta o modifica alla configurazione standard comporta l’installazione di software addizionale (driver aggiuntivi).
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Installazione driver
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Plug& Plug &Play ¾
I sistemi operativi più recenti sono dotati di funzioni di Plug& Plug &Play (PnP PnP)) che permettono la configurazione automatica dei driver.
¾
Un sistema PnP consente di aggiungere (plug (plug)) nuove periferiche al sistema che possono essere utilizzate (play (play), ), senza necessità di intervento da parte dell’utente dell utente per la selezione e l’installazione dei driver.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Spooling I driver servono anche a virtualizzare la presenza di più periferiche spooling. p g. intrinsecamente non condivisibili,, tramite la tecnica di spooling ¾ Esempio: gestione di una stampante ¾
• quando un processo desidera stampare un file, lo invia al driver, • il driver lo accoda in un’opportuna pp directoryy di spooling, p g, • i file contenuti nella directory di spooling vengono stampati in ordine di arrivo (a meno che siano stabilite delle politiche di gestione delle priorità); • quando la directory di spooling si svuota il driver rimane in memoria in attesa che un processo cerchi di stampare. stampare ¾
Questa soluzione • consente di disaccoppiare il programma che deve stampare e la periferica • rende possibile ll’uso uso della stampante da parte di molti processi senza attese inutili.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Gestione stampe
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Memoria logica processo
CPU virtuale
I/O virtuale
Gestore periferiche I/O: macchina astratta
I/O virtuale
Memoria di massa
Video/tastiera (terminale)
Interfaccia I/O
Interfaccia I/O
dati BUS
indirizzi controllo
CPU virtuale
I/O virtuale
CPU virtuale
I/O virtuale
CPU virtuale
I/O virtuale
Memoria processo logica
I/O virtuale
Memoria processo logica
I/O virtuale
Memoria processo logica
I/O virtuale
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
File System Ovvero il sistema di gestione della memoria di massa. massa.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Gestione memoria di massa ¾
¾
Obiettivo: Obiettivo: presentare all’utente all utente ll’organizzazione organizzazione logica dei dati e le operazioni che è possibile compiere su di essi. Operazioni p di base di un file system: y • • • • •
¾
recupero di dati precedentemente memorizzati; eliminazione (cancellazione) di dati obsoleti; modifica/aggiornamento difi / i t di d dati ti preesistenti; i t ti copia di dati (e.g. da HD a FD) per backup o per il trasferimento; …
I servizi vengono forniti sia ai programmi applicativi che direttamente agli utenti utenti..
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
File system ¾
FILE:: FILE • contenitore logico di informazioni (dati o istruzioni); • oggetto a “lunga vita”, per conservare le informazioni anche dopo la terminazione del processo che lo ha generato.
¾
Per ogni file: • • • • • •
Identificatore (nome.estensione) Periferica (drive) e percorso sulla periferica D Data creazione i Dimensione Posizione effettiva dei dati nella memoria di massa Altre informazioni • • • •
applicazione che consente all’utente di “usare” il file data di ultima modifica diritti di accesso al contenuto del file …
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
File ¾
I nomi dei file possono essere composti da due parti: • nome (vero e proprio) proprio), che viene assegnato dall dall’utente utente • estensione, associata al programma che ha generato il file e consente quindi di identificare la tipologia dei dati contenuti nel file
¾
Ogni sistema operativo pone dei vincoli sulla lunghezza dei filename e sui caratteri di cui possono essere costituiti • MS-DOS imponeva una lunghezza massima di 8+3 caratteri per nomi ed estensioni • Windows ha un limite di 254 caratteri (compreso il path)
¾
I file sono generalmente organizzati in cartelle (directory) e sottocartelle in una gerarchia ad albero (o, (o al limite, limite a grafo aciclico).
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Un esempio di struttura .
(radice) UTENTI
DOS
DIDATT ROSSI
command.com
LEZIONI ESAMI
edit.com xcopy.com
NERI
filea.txt
BIANCHI
filec.jpg
filea.txt
intro.txt iscrfeb.doc
iscrgen.doc
fileb.wav
iscrmar.doc
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Interfaccia grafica
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Organizzazione fisica dei dati ¾
Come mantenere C t lla corrispondenza i d ttra il nome d dell file e i blocchi su disco che ne contengono i dati: • FAT; lista concatenata (e.g. (e g Windows 95/98) • i-node (e.g. UNIX)
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Il controllo degli accessi ¾
Identificazione degli accessi al sistema. • Associare a ogni utente un account (login) e una parola d’ordine (password). • All’interno del sistema operativo, in un apposito file, è contenuta la lista di tutti gli account e delle relative password: solo se viene specificato un account fra quelli previsti (utente abilitato) e la password corrisponde a quella memorizzata (certificazione di identità) viene consentito l’accesso al sistema.
¾
Q Questo t consente t di personalizzare li il sistema, i t per esempio i d definendo: fi d • la distribuzione dei costi di gestione fra i vari utenti; • la visibilità del sistema in termini di porzione del file system complessivo, periferiche e programmi p g applicativi pp disponibili; p ; • la personalizzazione dell’ambiente operativo.
¾
Consente di controllare gli accessi ai file: • livello li ll di protezione t i a livello li ll di fil file o di directory; di t • altro metodo: Access Control List
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Memoria logica
File System: macchina astratta
Memoria logica
processo
CPU virtuale
I/O virtuale
processo
I/O virtuale
CPU virtuale
I/O virtuale
Memoria di massa
I/O virtuale
Interfaccia I/O
dati BUS
indirizzi controllo
CPU virtuale
root
I/O virtuale uno
Memoria processo logica
I/O virtuale
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
f1
alfa
beta
f2
f1
due
tre
…
f3
f4
f3
f2
Copyright © 2005 – The McGraw-Hill Companies srl
Il gestore delle interfacce - Shell Interfaccia a caratteri tt i
Interfaccia grafica (point & click)
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
La gestione della rete
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Virtualizzazione delle risorse di rete ¾
Estendere anche a processi in esecuzione su calcolatori diversi il principio di virtualizzazione delle risorse.
¾
Condividere in modo trasparente dati, periferiche e unità di elaborazione.
¾
In particolare si tratta di poter gestire le periferiche if i h e il file fil system. system t .
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
File system di rete ¾
Un sistema operativo che consente una gestione distribuita del file system deve: • integrare in modo organico i singoli file system dei calcolatori della rete; • risolvere i problemi dell’univocità dei nomi di file e di directory per i calcolatori l l id della ll rete; • consentire un accesso efficiente anche a file presenti su calcolatori remoti. remoti
¾
Questi requisiti vengono soddisfatti con un file system t di tipo ti clientclient li t-server.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Organizzazione g client-server client¾
Obiettivo: minimizzare le dimensioni del nucleo • si spostano alcune componenti del sistema verso gli strati applicativi • le funzionalità estranee al nucleo sono “servizi” forniti da processi server.
Processo client
…
Processo client
Processo client
Strato Utente
Scambio messaggi
Terminal server
File server
…
Print server
Memory server Strato Sistema
Primitive di sistema Nucleo
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Organizzazione g client-server client¾ ¾
I client possono usufruire dei servizi di sistema inviando una richiesta al server Ottime proprietà di modularità e portabilità portabilità::
Calcolatore 1
Calcolatore 2 Client
Client Client
Client Client
Client
Nucleo
Calcolatore 4
Client
Server
Client
Nucleo
Calcolatore 3
Client
Client
Server
Nucleo
Nucleo
Messaggio da client verso server
Rete di trasmissione
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl
Client--server Client ¾
Vantaggi di questa strutturazione: • indipendenza fisica fra le applicazioni client e applicazioni server; • possibilità di specializzare l’interfaccia utente del client lasciando invariato l’insieme dei servizi del server • possibilità di aggiornare tecnologicamente e funzionalmente il server in modo trasparente p ai client;; • riduzione degli interventi di manutenzione del software e garanzia di coerenza degli aggiornamenti.
¾
Diffusione destinata a rafforzarsi ulteriormente: • introduzione di palmari wireless: client in grado di connettersi a processi server accessibili tramite la rete.
¾
Microkernel: Microkernel: struttura moderna d in i cuii sii assegnano all k kernell poche h ffunzioni i i essenziali i li • • • •
gestione degli spazi di indirizzamento, comunicazione fra i processi (IPC, Inter-Process Communication) funzioni base di gestione della CPU (scheduling). (scheduling) i servizi del SO sono forniti da processi che sono trattati dal microkernel come tutte le altre applicazioni.
Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari
Copyright © 2005 – The McGraw-Hill Companies srl