IL SISTEMA OPERATIVO
Gestione sistema Gestione e allocazione delle risorse hardware (es. CPU, memoria, dispositivi I/O)
Gestione lavori Pianificazione ed esecuzione dei lavori di utente
accettazione utente (password,diritti accesso, ...) interpretazione richieste utente e attivazione lavori
Gestione dati Gestione dei dati di utente attraverso un efficiente e flessibile impiego delle memorie di massa e delle periferiche
Software per la:
IL SISTEMA OPERATIVO
Lo si può considerare come un’ INTERFACCIA uomo/macchina capace di rendere del tutto trasparente all’utenza i problemi di gestione del sistema
- Interpreta ed esegue i comandi di utente
- Coordina la esecuzione delle elaborazioni richieste dagli utenti - Attribuisce le risorse (processore centrale, unità periferiche, memoria)
3
Il sistema operativo virtualizza le caratteristiche dello Hardware
offrendo agli utilizzatori la visione di una macchina astratta più potente e semplice da usare di quella fisicamente disponibile
IL SISTEMA OPERATIVO
HW
Sistema Operativo
Software Applicativo …. macchina virtuale ….
…. Sistema operativo come necessario intermediario ….
…. macchina virtuale a ‘strati’ ….
… ogni ‘strato’ risolve uno specifico problema ….
IL SISTEMA OPERATIVO
5
Principali Elementi di un S.O.
Organizzazione di un S.O.
Gerarchia di macchine virtuali
La visione della macchina virtuale a livello N è quella fornita dallo HW e dagli strati del SO fino all’N- esimo incluso
Un S.O. gestisce una qualsiasi elaborazione come:
“un insieme di unità di elaborazioni parziali”
dette
P R O C E S S IConcetto di “processo”
PROCESSO:
La minima unità di lavoro che il S.O. predispone per la esecuzione e che possa individualmente richiedere l’uso della CPU
I sistemi operativi si classificano in base alla modalità di gestione dei processi
S.O. e “processi”
S.O. monoprocesso
S.O. multiprocesso
Supporta la esecuzione di un unico processo alla volta
ciascun processo inizia la sua esecuzione e la completa prima che possa avere inizio un nuovo processo (es. MS-DOS)
Supporta la esecuzione di più processi
9
Processi sequenziali
più processi (P1, P2, …., Pn) sono detti sequenziali se formano un insieme completamente ordinato, ovvero essi devono essere eseguiti secondo una asseganta sequenza
Processi concorrenti
più processi (P1, P2, …., Pn) sono detti concorrenti se non costituiscono un insieme completamente ordinato, ovvero l’esecuzione di ciascuno di essi può avere inizio indipendentemente dalla fine dell’esecuzione degli altri
disgiunti: i processi sono indipendenti, ognuno opera su un proprio insieme di informazioni
cooperanti: i processi cooperano per l’esecuzione di un compito, scambiandosi informazioni
S.O. e “processi”
S.O. mono e multiprogrammati
MONOPROGRAMMATI
Sistemi atti a supportare unicamente applicazioni sequenziali. Sono sistemi mono-utenti
MULTIPROGRAMMATI
Sistemi atti supportare le concorrenza dei processi: in un dato intervallo di tempo, avanzano più processi. Sono sistemi multi-utenti
11
S.O. mono e multiprogrammati
Tempo di occupazione della CPU Tempo operazioni di I/O
… tempi per l’I/O molto maggiori di quelli della CPU …
…. CPU inattiva per la maggior parte del tempo ….
… nei tempi di I/O di un processo la CPU viene assegnata ad un altro processo...
P1 P2 P3
Sistemi operativi multiprogrammati
SISTEMI BATCH
I processi da eseguire sono raggruppati in lotti, ed il lavoro procede dall’inizio alla fine senza alcuna interazione con l’utente
SISTEMI INTERATTIVI
Il lavoro richiede interventi umani: l’operatore fornisce un input, il sistema lo elabora, restituisce un output e ... il colloquio continua fino al termine dell’elaborazione
SISTEMI TIME SHARING
Servono più utenti, e forniscono a ciascun utente la sensazione di disporre dell’intero sistema e di essere immediatamente serviti
13
Gestione dei Processi in un S.O.
In una macchina monoprocessore e multiprocesso un solo processo alla volta può essere in esecuzione sulla CPU
Gli altri processi sono rispettivamente pronti (per essere eseguiti, sono in attesa della CPU) o in attesa (di un evento, quale il completamento di un’operazione di I/O)
Stati di un processo:
in esecuzione pronto attesa
Diagramma degli stati di un processo
Inizio esecuzione
(accodamento ai processi pronti)
Selezione primo processo pronto e sua esecuzione
Processo pronto
Processo in attesa
Processo in esecuzione
Fine esecuzione
Interruzione esterna
(es. fine quanto di tempo)
Interruzione interna
(es. richiesta I/O)
Evento esterno
(es. fine I/O)
15
… scelta fatta in base ad un opportuno algoritmo di scheduling per ottimizzare l’efficienza ...