il sistema operativo - maurizio mancini · il sistema operativo •il sistema operativo fornisce...
TRANSCRIPT
![Page 1: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/1.jpg)
Sistemi operativi
![Page 2: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/2.jpg)
HW
Sistema Operativo
Il sistema operativo
![Page 3: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/3.jpg)
SW = Sistema Operativo + SW applicativo
SW Applicativo
Il sistema operativo
HW
Sistema Operativo
![Page 4: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/4.jpg)
Il sistema operativo
• il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse fisiche presenti nel sistema
• 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
![Page 5: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/5.jpg)
Il sistema operativo: funzioni
• Il S.O. deve svolgere delle funzioni di base:
– esecuzione di applicazioni
– accesso ai dispositivi di ingresso/uscita
– archiviazione di dati e programmi
– controllo di accesso
– gestione dei tempi di utilizzo del sistema
– gestione dei malfunzionamenti
![Page 6: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/6.jpg)
Il sistema operativo: tipologie
• varie tipologie di S.O.:
– sistemi batch (esecuzione non interattiva di task)
– sistemi interattivi (interazione con l’utente)
– sistemi uniprogrammati e monoutente (1 solo l’utente, 1 solo programma utente per volta in esecuzione)
– sistemi time-sharing: interattivi, multiprogrammati e multiutente (più utenti e più programmi utente in esecuzione)
![Page 7: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/7.jpg)
Struttura di un sistema operativo
• Un classico modello di organizzazione del S.O. è quello a “strati”, detto anche a “buccia di cipolla”:
– determina una gerarchia di macchine virtuali (mv)
– la mv al livello N è determinata dall’hardware e dagli strati del S.O. fino a
quel livello
macchina virtuale: software che emula il comportamento di una macchina fisica
![Page 8: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/8.jpg)
User interface
• permette all'utente di interagire con il sistema operativo e quindi con il computer
• due principali tipi di user interface:– Command Line Interface (CLI)
• cmd.exe (Windows), terminal (Linux)
– Graphic User Interface (GUI)
• Windows Aero
• Linux Gnome, KDE
![Page 9: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/9.jpg)
Command Line Interface
• si scrivono singoli comandi per far svolgere al computer un certo compito:– cd /home/Downloads (spostamento nella cartella Downloads)
– vi esempio.txt (avvio dell'editor "vi" e caricamento di un file)
![Page 10: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/10.jpg)
Graphic User Interface
• permette una comunicazione col computer attraversofinestre, icone e menù– WIMP (Windows, Icons, Menus, Pointing devices)
![Page 11: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/11.jpg)
File management system
• permette di organizzare i dati contenuti nella memoria secondaria in forma strutturata
• i dati sono raccolti in strutture logiche dette files, identificate da un nome (filename)
• i files sono organizzati in più contenitori logici (cartelle o directory) secondo una struttura ad albero
• ciascun file è individuato mediante il suo percorso (path) assoluto, ottenuto giustapponendo i nomi dei nodi che si incontrano dalla radice al file (separati da un carattere apposito, in Linux /, in Windows \)Esempio: /uno/alfa/f1
![Page 12: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/12.jpg)
File system
• permette all’utente di:– operare sui file mediante opportune operazioni
– effettuare l'accesso alle informazioni grazie ad operazione di alto livello, che non tengono conto del tipo di memorizzazione
• per esempio, si deve accedere allo stesso modo ad un file memorizzato sul disco rigido oppure su un CD-ROM
– proteggere i propri file in un sistema multi-utente, ossia per impedire ad altri utenti di leggerli, scriverli o cancellarli
![Page 13: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/13.jpg)
File system
• i file vengono utilizzati come supporto per la memorizzazione dei programmi e dei dati– un file può corrispondere ad un programma, o ad un insieme di
dati omogenee
– diversi tipi di file contengono diversi tipi di informazione
– un file deve avere un nome logico
è meglio usare nomisignificativi
mio.doc, a.txt
tesi.doc, inf_lezione9.ppt
è meglio non usare caratteri speciali e lo spazio bianco
prima pagina.html, mia foto.jpg
index.html, montagne.gif
![Page 14: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/14.jpg)
File system
• Un file ha anche una estensione
Esempi: .doc .txt .html .jpg .gif .pdf
Le estensioni sono importanti perché di solito indicano il tipo del file (quindi danno informazioni sul programma applicativo in grado di manipolarlo)
![Page 15: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/15.jpg)
Organizzazione gerarchica dei file
• Un unico spazio (“contenitore”) di file è scomodo– La scelta dei nomi diventa difficile perché non è possibile avere
due file con lo stesso nome nella stessa contenitore
– Le operazioni di ricerca dei file diventano onerose
• L’idea è quella di raggruppare i file in sottoinsiemi
• Questi sottoinsiemi di file vengono memorizzati all’interno di contenitori dette cartelle (directory)
• I nomi dei file sono locali alle directory– Si possono avere due file con lo stesso nome perché siano in due
directory diverse
![Page 16: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/16.jpg)
Organizzazione gerarchica dei file
![Page 17: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/17.jpg)
Organizzazione gerarchica dei file
Applicazioni
Biblioteca
Utenti
Indice
Elab_imm
Elab_testi
Narrativa-Fra
Narrativa-Ing
Narrativa-Ita
Bianchi …
Rossi …
Pautasso …
Photoshop.exe
Winword.exe
libro1.pdf
libro2.pdf
libro1.pdf
libro1.pdf
libro2.pdf
Premiere.exe
A:
Questa struttura viene
chiamata albero
foglie
radice
dell’albero
![Page 18: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/18.jpg)
Organizzazione fisica dei file
• esempio: FAT (File Allocation Table) file system– il disco è diviso in cluster di lunghezza fissa (64 KB)
– ogni file è una catena di cluster (anche non consecutivi, vedereesempio in basso)
– ogni cartella è un file speciale che include i numeri dei primicluster dei file in essa contenuti
– la FAT contiene il tipo di ogni cluster del disco:
• Unused (0x0000), Cluster in use by a file, Bad cluster (0xFFF7), Last cluster in a file (0xFFF8-0xFFFF)
![Page 19: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/19.jpg)
Input/Output
• gestisce la comunicazione con dispositivi esterni– hard disk, tastiera, stampante, monitor, ecc.
• fornisce una visione del sistema in cui i processi possonooperare mediante periferiche astratte
• maschera le caratteristiche fisiche delle periferiche e le specifiche operazioni di ingresso/uscita
• mette a disposizione di ogni processo delle periferichevirtuali– esempio: spooling della stampante
![Page 20: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/20.jpg)
Memory management
• consente ai programmi di lavorare in un proprio spazio di indirizzamento virtuale e di ignorare quindi le effettive zone di memoria fisica occupata.
• fornisce alle macchine virtuali di livello superiore la possibilità di lavorare come se esse avessero a disposizione una memoria dedicata, di capacità anche maggiore di quella fisicamente disponibile– esempio: memoria virtuale
![Page 21: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/21.jpg)
Kernel
• Per la gestione dei processi il S.O. deve: – Interagire direttamente con l’hardware– Occuparsi dell’esecuzione dei programmi e della risposta
agli eventi esterni generati dalle unità periferiche di I/O– Gestire i processi corrispondenti ai programmi che sono
contemporaneamente attivi– Gestire il contesto di esecuzione dei vari processi– Attuare una politica di alternanza (time-sharing) nell'accesso
alla CPU da parte dei processi in esecuzione
![Page 22: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/22.jpg)
Time-sharing
attesa per operazioni di I/Oelaborazione
TempoProgr. 3
Progr. 2
Progr. 1
P1 P3 P2 P1 P3 P2 P1 P3 P2
![Page 23: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/23.jpg)
Processi
• Un programma è un insieme di istruzioni da eseguire(entità statica).
• Un processo è un’istanza di un programma in esecuzione (entità dinamica).
• Un processo è costituito dal programma e dal contesto di esecuzione(program counter, registri, memoria, etc.).
• In un S.O. multiprogrammato (o multitasking o multiprocesso) possono esistere più processi in esecuzione
• I processi possono essere eseguiti in kernel mode (ad es. i servizi forniti dal sistema operativo) o user mode (ad es. i programmi applicativi)
![Page 24: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/24.jpg)
Gestione dei processi
• compiti del s.o. per la gestione dei processi– creazione/terminazione dei processi
– sospensione/ripristino dei processi
– sincronizzazione/comunicazione tra processi
– gestione di situazioni di stallo (blocco critico o deadlock)
– esempio di diagramma di stato dei processi
Selezione primo processo
pronto e sua esecuzione
Processo in
esecuzione
Processi
pronti
Inizio esecuzione
(accodamento ai
processi pronti)
Termine quanto di
tempo
Termine
elaborazione
Processi
in attesa
Richiesta
operazione di I/OCompletamento operazione di
I/O (evento esterno atteso)
![Page 25: Il Sistema Operativo - Maurizio Mancini · Il sistema operativo •il sistema operativo fornisce dei servizi ai programmi applicativi e agli utenti rendendo utilizzabili le risorse](https://reader030.vdocuments.mx/reader030/viewer/2022040117/5f30d900a5719c7751146c59/html5/thumbnails/25.jpg)
Stato di un processo• In esecuzione:
assegnato al processore ed eseguito da esso
• Pronto: può andare in esecuzione, se il gestore dei processi lo decide
• In attesa: attende il verificarsi di un evento esterno per andare in stato di pronto
28
Processo in
esecuzione
Processo
pronto
Processo in
attesa
Inizio esecuzione
- Fine quanto di tempo
- Interruzione esterna
Interruzione interna
Evento esterno
atteso
- Fine esecuzione
- Abort per errore