INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2....
Transcript of INFORMATICA GENERALEgroups.di.unipi.it/~antonell/slideig/09-Sistemi operativi... · 2007. 2....
Informatica G
enerale
1
INFORMATICA GENERALE a.a. 2006/2007COGNOMI A-L
Silvano Antonelli-Ricevimento : • durante il corso:
Martedì ore 15.30pressoDipartimento di Informatica, Largo Pontecorvo 2Stanza 394
• negli altri periodi:su appuntamento
posta elettronica : [email protected] web : (programma, esami, date appelli…)http://www.di.unipi.it/~antonell/
Informatica G
enerale
2
Testi di riferimento
– Dennis P. Curtin, Kim Floley, Hunal Sen, Cathleen Morin “Informatica di base” 3/ed, McGraw-Hill,2005
– M.R. Laganà, M- Righi, F. Romani " INFORMATICA Concetti e sperimentazioni" , Apogeo ,2003
– L. Console, M. Ribaudo , U. Avalle" Introduzione all'informatica" , UTET Libreria, Torino,2004
– D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari " Introduzione ai sistemi informatici", McGraw-Hill,1997
– P. Tosoratti , G. Collinasi "Introduzione all'informatica", Seconda Edizione, Casa Editrice Ambrosiana , Milano
Informatica G
enerale
3
Software
� Applicazioni utente (word, Excel, …)
� Software di base
• Compilatori
• Assemblatori
• Editors (Blocco Note,…)
• ……
� Sistema Operativo ( SO )
Informatica G
enerale
4
Livelli di astrazione
Hardware
Sistema Operativo
Applicazioni
È il livello di SW con cuiinteragisce l’utentee comprende programmi quali :CompilatoriEditori di testiFogli elettroniciSistemi bancariNavigatori per Web…..
Software
È il livello di SW che interagisce direttamentecon l’hw e che si occupa di una uso correttoed efficiente delle risorse fisiche (processore, memorie,periferiche etc.)
Windows98,2000,Millennium,XPUnix/LinuxMac OS
gcc, Word, PowerPointExcel, ExplorerPhotoshop, Gimp
Informatica G
enerale
5
• Esiste in qualunque sistema e ne determina
le prestazioni complessive
• Dimensioni
• Affidabilità: corretto funzionamento
• protezione
• Meccanismi per controllo di attività che
evolvono contemporaneamente
• Prestazioni
Il S.O : caratteristiche
Informatica G
enerale
6
Funzionamento del S.O.
� S.O.: insieme vasto e complesso di
programmi, che interagiscono tra loro e con
i livelli superiore e inferiore.
� Fasi della vita del S.O. (dall’accensione allo
spegnimento dell’elab.):
• bootstrap
• funzionamento a regime
• shutdown
Informatica G
enerale
7
funzioni di un SO
� Esegue applicazioni : – carica il programma binario prodotto della compilazione (e residente su disco) nella RAM,
– cede il processore all’applicazione da eseguire
� Facilita l’accesso ai dispositivi di I/O– interagisce con le periferiche facendosi carico di tutti i dettagli fisici (es. modem, reti, video…)
– mette a disposizione operazioni di lettura/scrittura ad alto livello che possono essere usate senza conoscere i dettagli tecnici della periferica
Informatica G
enerale
8
funzioni di un SO
� Archivia dati e programmi : – mette a disposizione dell’utente una visione astratta della memoria secondaria (il file systembasato sulle astrazioni : file/archivi e folder/cartelle)
– gestisce la realizzazione di queste astrazioni sul supporto fisico (disco) gestendo tutti i dettagli legati alla lettura/scrittura dei settori
Informatica G
enerale
9
funzioni di un SO
� Gestisce le risorse– ripartisce le risorse disponibili fra le varie applicazioni (processore, RAM, periferiche)
– evita che ci siano malfunzionamenti dovuti all’uso contemporaneo di risorse • es: un word processor e un web browser che inviano contemporaneamente dati alla stampante provocano una stampa erronea
– ottimizza le prestazioni scegliendo delle politiche che permettano di sfruttare al meglio tutte le parti del computer
Informatica G
enerale
10
funzioni di un SO
� Gestisce malfunzionamenti del sistema– rileva e gestisce situazioni anomale
• es: se il disco ha un settore difettoso, il SO può trasportare automaticamente le informazioni residenti su quel settore da un’altra parte
• es: se un’applicazione cerca di effettuare una operazione non permessa (come leggere i dati di un’altra applicazione) può bloccare l’applicazione segnalando all’utente la situazione erronea
� … i SO sono sistemi complessi che non sempre riescono a fare correttamente tutto quello che dovrebbero ….
Informatica G
enerale
11
Strutturazione a livelli del S.O.
File SystemGestione
processore
Gestione
processiGestione
I / O
Gestione
della memoria
NUCLEO (o kernel) (sempre caricato nella RAM)
Interfaccia nucleo (chiamate di sistema)
Applicazioni
HW
Informatica G
enerale
12
Stato utente e stato supervisore
� Stato utente : – modalità di funzionamento del computer che permette l’accesso solo a un numero limitato di risorse• es : un sottoinsieme delle istruzioni assembler (non si può accedere alle istruzioni che istruiscono le interfacce di I/O), una sola parte della RAM etc.
� Stato supervisore :– modalità che permette l’accesso a tutte le risorse
Informatica G
enerale
13
Stato utente e stato supervisore
� I programmi che girano in stato utente richiedono servizi al SO (es stampa: richiesta allo spooler)
� Il sistema operativo decide come e quando effettuare il servizio
� Il sistema operativo può interrompere un programma che gira in stato utente per eseguire altri programmi o per effettuare operazioni di ‘gestione’ della macchina
Informatica G
enerale
14
Numero di utenti
� S.O. mono-utente: possono gestire un solo
utente collegato in un certo istante (es.: MS-
DOS, MS-Windows, Windows-NT, ...)
� S.O. multi-utente: possono gestire più utenti
collegati contemporaneamente (es.: UNIX,
Windows-NT ediz. TSE, ...)
Informatica G
enerale
15
S.O : Classificazione
� Classificazione dei S.O. in base alla modalità
di gestione dei processi:
– mono-tasking
– multi-tasking (multiprogrammato)
Informatica G
enerale
16
Esecuzione di un programmain un SO mono-tasking
Spazio programma
Sistema operativo
Program Counter
RAM
Informatica G
enerale
17
Esecuzione di un programmain un SO multiprogrammato
Sistema Operativo
Spazio programma 1
Una possibile organizzazione della RAM con più programmi caricati
contemporaneamente (solamente uno alla volta viene eseguito)
Spazio programma 2
Spazio programma 3
codice
datiRAM
Informatica G
enerale
18
I Processi
� Processo: parte o intero programma in
esecuzione
– programma (entità statica): sequenza di istruzioni
– contesto (entità dinamica): insieme di informazioni
che caratterizzano la particolare esecuzione del
programma
� Diversità tra programma e processo
(1 programma genera 1 o più processi).
Informatica G
enerale
19
Esecuzione di un programma
� Quando un programma utente è stato attivato il processore esegue una dopo l’altra le istruzioni assembler che lo compongono
� Un programma o parte di esso in esecuzione viene detto ‘processo’
� Problema : Come fa il Sistema Operativo a riprendere il controllo del processore dopo l’attivazione di un processo?– Terminazione (normale o erronea)
– Interruzione
Informatica G
enerale
20
� Processo utente: generato dall’esecuzione di
un applicativo utente.
� Processo di sistema: generato dal SW di
sistema (Sistema Operativo, utilities, ecc.).
I Processi
Informatica G
enerale
21
� Connotazione temporale: il processo
rappresenta lo stato di avanzamento del
programma istante per istante.
� Contesto all’istante t :
– istruzione da eseguire (indirizzo in RAM: PC, IR)
– contenuto dei registri dati del processore
– ….
I Processi
Informatica G
enerale
22
Terminazione di un processo
� Un processo termina :– Quando esegue una istruzione assembler di terminazione
– Quando effettua una operazione illecita (es. cerca di accedere a memoria privata di altri processi)
– Quando c’è un errore che non lo permette di proseguire (es. overflow, etc)
� In tutti questi casi il processore ricomincia automaticamente ad eseguire il sistema operativo ad un indirizzo prefissato
Informatica G
enerale
23
Interruzione di un processo
� Il sistema operativo può bloccare un processo in un qualsiasi istante della sua esecuzione per effettuare qualche operazione di gestione della macchina
� Questo avviene attraverso il meccanismo hardware delle interruzioni
� Come funzionano le interruzioni– ogni periferica può ‘richiedere attenzione’ inviando un segnale di interruzione usando le linee di controllo del bus
– alla fine dell’esecuzione di ogni istruzione assembler il processore controlla la presenza di una interruzione
– se è presente il controllo passa automaticamente al sistema operativo
Informatica G
enerale
24
S.O. mono-tasking
� Esempi: – Sistemi batch (lotti di schede perforate, ‘50)
– MS-DOS (‘81)– Palm
Informatica G
enerale
25
S.O. multi-tasking
� Esecuzione “contemporanea” di più processi.
� Multi-tasking ≅ Multi-programmazione
(Multi-programmazione: molti programmi risiedono
contemporaneamente nella RAM)
� Es. Windows (no 3.11), Unix
Informatica G
enerale
26
Esecuzione di un programmain un SO multiprogrammato
Sistema Operativo
Spazio programma 1
Una possibile organizzazione della RAM con più programmi caricati
contemporaneamente (solamente uno alla volta viene eseguito)
Spazio programma 2
Spazio programma 3
codice
dati
Program Counter
RAM
Informatica G
enerale
27
Il gestore del processore
� Nei computer attuali, tutti i programmi che compongono il SO ed i programmi applicativi ‘avviati’ sono attivi contemporaneamente sul calcolatore (multiprogrammazione)– es : Windows 2000 + Word + cd player ...
� Il gestore del processore si preoccupa di far condividere il (un) processore a tutti i programmi attivi in modo corretto – lo scopo è dare l’impressione che ognuno abbia il suo processore dedicato
Informatica G
enerale
28
Gestione dei processi e deiprocessori
� Gestione dei processi:
gestione dell’avvicendamento dei processi in
esecuzione sul processore (o sui processori).
� Gestione dei processori:
gestione dell’assegnazione dei processori ai
processi.
Informatica G
enerale
29
Tempo
� Elapsed time: tempo trascorso tra l’inizio
della vita del processo e la sua terminazione
� CPU time: tempo in cui il processo è stato
realmente in esecuzione
Informatica G
enerale
30
� Massimizzare l’uso della CPU.
� Massimizzare il numero di processi eseguiti
nell’unità di tempo.
� Minimizzare il tempo di risposta.
Obiettivi
Informatica G
enerale
31
Processi Concorrenti
� Nei sistemi attuali sono in esecuzione più
processi ‘contemporaneamente’.
� La CPU esegue comunque una sola istruzione
per volta.
� Il S.O. gestisce l’avvicendamento dei processi
in esecuzione: assegna la CPU ai vari processi
istante dopo istante.
� Scheduler: parte del S.O. che si occupa
della gestione dei processi e dei processori
Informatica G
enerale
32
Stati di avanzamento di un processo
� Possibili stati di un processo:
– execute (in esecuzione): la CPU è assegnata al
processo
– blocked (bloccato): il processo è in attesa di un
evento (completamento di un’operazione di I/O,…)
– ready (pronto): il processo è eseguibile, ma la CPU
è assegnata a un altro processo
Informatica G
enerale
33
� Ciclo di vita di un processo (dall’inizio allaterminazione): alternarsi di periodi in stato diexecute, ready, blocked
Execute
Ready BlockedInizio
Terminazione
Ciclo di vita di un processo
Informatica G
enerale
34
Gestione informazione sui processi
� Il S.O. mantiene l’informazione relativa a tutti
i processi attivi (non terminati) nella tabella
dei processi (PCB, Process Control Block) .
� Per ogni processo la PCB contiene un certo
numero di informazioni.
� La tabella dei processi è in ogni istante
caricata interamente in RAM.
Informatica G
enerale
35
La tabella (PCB) dei processi
� Per ogni processo attivo:
PID: Process Identifier
Program Counter
Stato corrente(Execute, Ready, Blocked)
Contenuto dei registri
Priorità
…...
Informatica G
enerale
36
� Cambiamento di contesto� Il processo A (es. Word) è in esecuzione
� tutti i dati del processo A (es. Word) , in particolare ilProgram Counter, vengono salvati
�A (es. Word) viene sostituito dal processo B (es. Excel)
� Ripristino del contesto
Quando il processo A torna in esecuzione riprende dai dati precedentemente salvati
Commutazione del contesto