Sistemi operativi Il sistema operativo Sistema Operativo HW

  • Slides: 25
Download presentation
Sistemi operativi

Sistemi operativi

Il sistema operativo Sistema Operativo HW

Il sistema operativo Sistema Operativo HW

Il sistema operativo SW Applicativo Sistema Operativo HW n SW = Sistema Operativo +

Il sistema operativo SW Applicativo Sistema Operativo HW n SW = Sistema Operativo + SW applicativo

Il sistema operativo • il sistema operativo fornisce dei servizi ai programmi applicativi e

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

Il sistema operativo: funzioni • Il S. O. deve svolgere delle funzioni di base:

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

Il sistema operativo: tipologie • varie tipologie di S. O. : – sistemi batch

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)

Struttura di un sistema operativo • Un classico modello di organizzazione del S. O.

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

User interface • permette all'utente di interagire con il sistema operativo e quindi con

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

Command Line Interface • si scrivono singoli comandi per far svolgere al computer un

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)

Graphic User Interface • permette una comunicazione col computer attraverso finestre, icone e menù

Graphic User Interface • permette una comunicazione col computer attraverso finestre, icone e menù – WIMP (Windows, Icons, Menus, Pointing devices)

File management system • permette di organizzare i dati contenuti nella memoria secondaria in

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/f 1

File system • permette all’utente di: – operare sui file mediante opportune operazioni –

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

File system • i file vengono utilizzati come supporto per la memorizzazione dei programmi

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 nomi significativi è meglio non usare caratteri speciali e lo spazio bianco mio. doc, a. txt prima pagina. html, mia foto. jpg tesi. doc, inf_lezione 9. ppt index. html, montagne. gif

File system • Un file ha anche una estensione Esempi: . doc. txt. html.

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)

Organizzazione gerarchica dei file • Un unico spazio (“contenitore”) di file è scomodo –

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

Organizzazione gerarchica dei file

Organizzazione gerarchica dei file

Organizzazione gerarchica dei file Photoshop. exe radice dell’albero A: Applicazioni Biblioteca Elab_imm Premiere. exe

Organizzazione gerarchica dei file Photoshop. exe radice dell’albero A: Applicazioni Biblioteca Elab_imm Premiere. exe Elab_testi Winword. exe Narrativa-Fra libro 1. pdf libro 2. pdf Narrativa-Ing libro 1. pdf Narrativa-Ita libro 1. pdf foglie libro 2. pdf Utenti Bianchi … Rossi … Indice Pautasso … Questa struttura viene chiamata albero

Organizzazione fisica dei file • esempio: FAT (File Allocation Table) file system – il

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, vedere esempio in basso) – ogni cartella è un file speciale che include i numeri dei primi cluster dei file in essa contenuti – la FAT contiene il tipo di ogni cluster del disco: • Unused (0 x 0000), Cluster in use by a file, Bad cluster (0 x. FFF 7), Last cluster in a file (0 x. FFF 8 -0 x. FFFF)

Input/Output • gestisce la comunicazione con dispositivi esterni – hard disk, tastiera, stampante, monitor,

Input/Output • gestisce la comunicazione con dispositivi esterni – hard disk, tastiera, stampante, monitor, ecc. • fornisce una visione del sistema in cui i processi possono operare mediante periferiche astratte • maschera le caratteristiche fisiche delle periferiche e le specifiche operazioni di ingresso/uscita • mette a disposizione di ogni processo delle periferiche virtuali – esempio: spooling della stampante

Memory management • consente ai programmi di lavorare in un proprio spazio di indirizzamento

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

Kernel • Per la gestione dei processi il S. O. deve: – Interagire direttamente

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

Time-sharing elaborazione attesa per operazioni di I/O Progr. 1 Progr. 2 Progr. 3 Tempo

Time-sharing elaborazione attesa per operazioni di I/O Progr. 1 Progr. 2 Progr. 3 Tempo P 1 P 3 P 2

Processi • Un programma è un insieme di istruzioni da eseguire (entità statica). •

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)

Gestione dei processi • compiti del s. o. per la gestione dei processi –

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 Inizio esecuzione (accodamento ai processi pronti) Termine elaborazione Selezione primo processo pronto e sua esecuzione Processi pronti Completamento operazione di I/O (evento esterno atteso) Termine quanto di tempo Processi in attesa Processo in esecuzione Richiesta operazione di I/O

Stato di un processo • In esecuzione: assegnato al processore ed eseguito da esso

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 Inizio esecuzione - Fine quanto di tempo - Interruzione esterna Processo in esecuzione Processo pronto Evento esterno atteso Interruzione interna - Fine esecuzione - Abort per errore Processo in attesa 28