Title: Corso di Laurea in Biotecnologie corso di Informatica
1Corso di Laurea in Biotecnologiecorso
diInformatica
- Paolo Mereghetti
- DISCo Dipartimento di Informatica, Sistemistica
e Comunicazione
2Sistemi Operativi
3Gestione dei Processi
- Processo programma in esecuzione
- P.S. ad ogni programma in esecuzione possono
corrispondere più processi - Oggetto dinamico (vs programma oggetto statico)
- Esecuzione di un processo
- Il programma è prelevato dal disco (memoria
secondaria) - Portato in memoria centrale
- Attivato
4Evoluzione dei processi diagramma
stati/transizioni
Interruzione esterna generata dal SO
Inizio esecuzione
In esecuzione
Pronto
Interruzione interna
Evento esterno atteso
In attesa
Fine esecuzione
5Interruzioni
- Interna generata dal processo stesso
- Il processo passa dallo stato In Esecuzione a In
Attesa - Per una buona logica di gestione dei processi
(es. se il processo è in attesa di un input
dallutente o da un altro programma è inutile che
tenga occupata lunità di elaborazione) - Esterna generata da un processo diverso dal
processo in esecuzione - Dal SO ? politiche di gestione dei processi (es.
Round-Robin) - Da In Esecuzione a Pronto
- Dai programmi di gestione delle periferiche
(es.lutente ha inserito un input da tastiera
...) - da In Attesa a Pronto
6Modalità di esecuzione in ambienti multi-tasking
(1)
- Modalità batch
- Per lesecuzione di programmi caratterizzati da
lunghe elaborazioni non interattive (es. calcoli
matematici) - Un programma in esecuzione non viene interrotto
il processo i-esimo parte solo quando si è
conclusa lelaborazione del processo (i-1)-esimo - Modalità real-time
- Per programmi che possono necessitare
unesecuzione immediata (es. sistemi di controllo
di volo, impianti di sicurezza)
7Modalità di esecuzione in ambienti multi-tasking
(2)
- Modalità time-sharing
- Tempo di elaborazione suddiviso fra vari
processi alternanza dei programmi in esecuzione - Il processore inizia un processo, ma lo può
sospendere per dedicarsi a un altro e poi tornare
al processo sospeso - Lutente ha comunque la sensazione di avere un
processore dedicato
8Modalità Batch come il triathlon
- I tre processi nuoto, bici, corsa vengono
iniziati e portati alla fine senza interruzioni - Le risorse di ogni processo (cuffia e occhialini,
scarpette e casco) vengono caricate allinizio
del processo e rilasciate alla fine
9Time-sharing come il duathlon
- Dopo la prima corsa salvo le risorse (tolgo le
scarpe da corsa) e carico quelle per la bici
(scarpette e casco) alla fine scambio di nuovo
per ripartire a piedi
10Modalità desecuzione time-sharing
Dal pto di vista di P1
Pronto
In esecuz
In esecuz
Dal punto di vista di P2
Pronto
Pronto
In esecuz
- Percezione che P1 e P2 siano eseguiti
contemporaneamente - Dal punto di vista del processore, viene eseguito
un solo processo alla volta
11Gestione della Memoria Principale
- Lesecuzione di un programma richiede che esso
risieda (con i dati su cui opera) in memoria
principale - Gestire della memoria
- Gestione memoria principale reale condivisione
della memoria - Gestione memoria virtuale realizzazione di una
visione astratta della memoria reale (secondaria)
per estendere le potenzialità della memoria
principale
12Gestione della Memoria Reale
- Condivisione da parte dei processi delle celle di
memoria - Partizione della memoria con allocazione
- contigua
- non contigua
0
Sistema Operativo
X
X1
Processi
N
13Problemi che il SO deve gestire per la
condivisione della memoria
- Quante partizioni? Quale dimensione?
- Partizioni statiche e definite a priori o
dinamiche? - Quali processi nelle varie partizioni?
- Come si tiene traccia dei vari processi in
esecuzione (es. stato)? - Come si proteggono i dati dei vari processi tra
loro?
14Gestione della Memoria Virtuale
- Necessaria in particolare per sistemi
multiprogrammati e multiutente (elevati requisiti
di memoria) - Il SO operativo fornisce una visione astratta in
cui i vari processi (e utenti) hanno a loro
disposizione una macchina virtuale (con quantità
di memoria per ogni processo o utente pari alla
quantità totale di memoria reale) - Diverse tecniche (es. Swapping, Demand Paging)
tutte richiedono oltre alla memoria principale
una memoria secondaria (es. hard disk)
15File System Gestione della memoria secondaria
- Parte del SO per la gestione e strutturazione
delle informazioni - Insieme di programmi per lorganizzazione
- Logica ? Fornire allutente una visione logica
dei file (che astrae dallorganizzazione fisica) - Fisica ? gestire i file nella memoria secondaria
(dischi) e ottimizzare lutilizzo dello spazio
disponibile
16File system Organizzazione logica
- Lutente deve poter
- Organizzare un insieme in file e cartelle i dati
- Accedere ai dati
- Identificare ogni file con un nome logico
- Operare sui file (creare, eliminare, cambiare
nome, modificare) - Proteggere i propri file (da accessi non
desiderati)
17File system Organizzazione logica
Lezione1
Paolo
Lezione2
Lezione3
Utenti
Lezione1
Marco
DISCO
FotoMarco
Sistema
DIRECTORIES
FILES
18File system Organizzazione fisica
- Il SO deve
- Tener traccia dei file memorizzati e della loro
posizione fisica sui dischi - Ottimizzare lutilizzo dello spazio su disco
- Diverse tecniche (es. Allocazione contigua,
allocazione sparsa)
19Gestione delle Periferiche di Input/Output
- Il SO deve
- Fornire allutente
- visione astratta dei dispositivi
- comandi per utilizzare i dispositivi
- Ottimizzare lutilizzo dei dispositivi
20Gestione Input/Output
- I dispositivi sono seriali possono essere usati
da un solo processo alla volta - La maggior parte dei dispositivi sono pre-emptive
(non interrompibili) - Meccanismi di coordinazione delle varie richieste
- Diverse politiche/strategie per la gestione delle
code di processi in attesa di utilizzare una
risorsa (es. con priorità, FIFO
First-In-First-Out)
21Gestione Input/Output
- Il SO fornisce un insieme di comandi (linguaggio
dinterazione tra utente e sistema) che fornisce
una visione astratta del dispositivo - Es.
- Stampa per lutente equivale allinvio di un
messaggio, indipendentemente da come avviene il
trasferimento dei byte - Lettura dello stato della stampante
- Modifica delle caratteristiche della stampa
lutente utilizza un pannello di controllo, senza
curarsi dei dettagli implementativi
22Interazione con Utente Interfaccia Testuale
23Interazione con Utente Interfaccia Grafica