il sistema operativo - maurizio mancini · il sistema operativo •il sistema operativo fornisce...

25
Sistemi operativi

Upload: others

Post on 09-Jul-2020

17 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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