Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
STRUTTURA DEL SISTEMA OPERATIVO
UTENTE LIVELLO N Esempi LIVELLO N-1 Gestione RAM Gestione CPU LIVELLO 3 LIVELLO 2 Gestione I/O Prog1 Prog2 Prog3 LIVELLO 1 M1 Mn M1 M2 Mn M1 HARDWARE
2
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI
La scelta del S.O. è dettata da: se eseguire uno o più programmi utente contemporaneamente uno o più utenti contemporaneamente gestiscono le risorse del computer Sistema di elaborazione di riferimento Risorse Hardware Sistemi Multiprocessori I sistemi di elaborazione ad alte prestazioni possono possedere più CPU. S.O più complesso.
3
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI
Sistema di elaborazione di riferimento Risorse Hardware Un S.O. è composto da un insieme di programmi che, per essere eseguiti dalla CPU, devono essere allocati nella RAM, nella forma di codice macchina.
4
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MONOPROGRAMMATI
Un sistema viene detto monoprogrammato (o uniprogrammato) quando la sua memoria centrale contiene, in un dato istante, codice utente proveniente da un unico programma. Il S.O. è sempre allocato in RAM, condivisa insieme ai programmi utente. L’esecuzione di un’istruzione del programma utente comporta una chiamata di sistema (system call / routine di S.O.). Esempio: richiesta d’accesso a qualche dispositivo
5
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MONOPROGRAMMATI
Un sistema viene detto monoprogrammato (o uniprogrammato) quando la sua memoria centrale contiene, in un dato istante, codice utente proveniente da un unico programma. Il S.O. è sempre allocato in RAM, condivisa insieme ai programmi utente. Quando si scrive un programma in C++ è il compilatore che genera il codice appropriato per il S.O. usato, diverso per Linux e Windows. Nel programma C++ c’è almeno una chiamata al S.O. Flusso di esecuzione quando un istruzione del programma utente attraversa la chiamata di sistema: - Chiamata di sistema del programma utente - Sospensione esecuzione programma - Salvataggio stato programma - Controllo S.O: Esecuzione della routine di sistema chiamata - Esecuzione del programma dall’istruzione successiva all’interruzione
6
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MONOPROGRAMMATI
Si può dividere il tempo che intercorre tra l’inizio e la fine del programma in intervalli caratterizzati dalle diverse attività della CPU. Attività della CPU • Esecuzione di istruzioni del programma utente • Esecuzione di istruzioni del sistema operativo • Inattività, per esempio quando la CPU attende un input da tastiera.
7
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MONOPROGRAMMATI
Attività della CPU Un sistema di questo tipo non è efficiente nell’utilizzo della CPU. Si potrebbe utilizzare il tempo di inattività per far eseguire alla CPU programmi di utenti diversi.
8
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI
SISTEMI MULTIPROGRAMMATI L’obiettivo è ottenere il massimo rendimento della CPU attraverso l’impiego dei tempi di inattività S.O. più complicato rispetto alla monoprogrammazione. - La CPU, nel tempo in cui non viene usata dal programma utente, viene adoperata per eseguire altri programmi, eventualmente di utenti diversi. - Usare i meccanismi di sospensione dell’esecuzione, impiegati per le routine di sistema, per permettere l’esecuzione anche di altri programmi utente. L’obiettivo è raggiunto con i Sistemi Multiprogrammati
9
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI
SISTEMI MULTIPROGRAMMATI Nuove funzioni richieste ai sistemi multiprogrammati - Decidere quale istruzione far eseguire dopo quella attuale, se prelevandola dallo stesso programma o da un altro - Garantire la mutua protezione tra i diversi programmi, per evitare che i dati di uno vengono inquinati dalle istruzioni dell’altro. - Risolvere eventuali conflitti per l’assegnazione di una determinata risorsa Più attività richieste al S.O. e più tempo macchina assegnato al S.O
10
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI
La multiprogrammazione si ottiene con il Time sharing Si dice che una risorsa viene gestita in modo time sharing (a partizione di tempo), quando il suo uso viene concesso per un tempo che non può superare un massimo: questo intervallo viene chiamato time slice (fetta o quanto di tempo). Il Time sharing è un concetto che viene applicato ai singoli dispositivi. Se la CPU di un sistema multiprogrammazione viene gestita in Time sharing, essa rimane assegnata a un programma utente fino a quando: Il programma utente termina Il progr. U. chiede operazioni che coinvolgono altri dispositivi Scade il time slice
11
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI
Se la CPU di un sistema multiprogrammazione viene gestita in Time sharing, essa rimane assegnata a un programma utente fino a quando: Il programma utente termina Il progr. U. chiede operazioni che coinvolgono altri dispositivi Scade il time slice Appena accade un di questi eventi, il controllo passa al S.O. che effettua un cambiamento di contesto, ossia decide a quale tra gli altri programmi in RAM toccherà disporre della CPU per il prossimo time slice. Il tempo necessario per prendere tale decisione si chiama tempo di assegnamento.
12
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI
Il tempo necessario per prendere tale decisione si chiama tempo di assegnamento.
13
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI
La modalità con cui il S.O. decide un cambiamento di contesto costituisce un esempio di politica di gestione. Una politica di gestione semplice consiste nell’assegnamento round robin (a rotazione) RAM Sistema Op. P2 P3 P4 Progr. 1
14
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI
E’ possibile che un S.O. usi meccanismi di priorità. Programmi con priorità alta vengono eseguiti più velocemente: Concedendo un time slice più lungo Assegnare più spesso la CPU
15
SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI
L’uso del time sharing della CPU permette di realizzare ambienti multiprogrammati o multiutente senza la necessità di disporre di diverse CPU. Il S.O. attraverso il time sharing trasforma un singolo dispositivo fisico in molti dispositivi virtuali, disponibili in un tempo e prestazioni inferiore.
16
CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE
- Sistemi dedicati - multitasking - Sistemi batch - Sistemi interattivi multiutente - Sistemi per la gestione delle reti - Sistemi transazionali - Sistemi real time
17
CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE
Sistemi dedicati Prevedono l’utilizzo di un solo utente per volta. Esempio: DOS (Disk Operating System). Sistema monoprogrammato Sistemi dedicati più moderni supportano il multitasking: particolare multiprogrammazione nella quale più applicazioni (task: compiti) vengono eseguite contemporaneamente sulla stessa macchina scambiando tra loro dati e risultati.
18
Sistemi batch (a lotti di lavoro)
CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi batch (a lotti di lavoro) L’utente non interagisce con il calcolatore durante l’esecuzione dei programmi. Svantaggi: non è possibile fornire i dati nel momento della richiesta non è possibile ottenere risultati parziali non è possibile avere messaggi di avvertimento o di errore Vantaggi: - Sfruttamento intelligente delle risorse nei casi in cui l’intervento dell’operatore non è necessario
19
Sistemi interattivi multiutente
CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi interattivi multiutente Si ottengono con l’uso in time sharing della CPU La risorsa CPU viene dedicata a ciascun utente a turno per un tempo stabilito. Se questo è abbastanza breve, ogni utente ha la sensazione di lavorare su una macchina dedicata In questa modalità di lavoro occorre che: gli utenti devono essere serviti in un tempo ragionevole se gli utenti sono molti, occorre che i time slice siano brevi i time slice, devono essere sempre molto più lunghi del tempo di riassegnamento, altrimenti tempo più lungo alla gestione rispetto al tempo dedicato agli utenti. In questo contesto di lavoro assumono importanza 2 parametri: velocità operativa della CPU (MIPS: milioni di istruzione per secondo) dimensione della memoria centrale
20
Sistemi per la gestione delle reti
CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi per la gestione delle reti Sistemi operativi orientati alle problematiche di installazione configurazione amministrazione di computer connessi tra di loro anche a grandi distanze I problemi per realizzare questi sistemi operativi sono: rispetto dei protocolli fissati come standard a livello internazionale gestione degli utenti delle reti condivisione delle risorse e dei dati in modo collaborativo controllo degli accessi, protezione dei sistemi e attivazione dei meccanismi di sicurezza integrazione delle reti aziendali (Intranet) con la rete Internet I moderni S.O. di rete come Windows Server e Linux operano sull’architettura Client/Server.
21
Sistemi transazionali
CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi transazionali Tra i Sistemi operativi interattivi multiutente, evidenziamo i sistemi transazionali, strutturati in modi di gestire le transizioni (aggiornamento) delle basi di dati . Esempio di applicazioni gestionali di D.B.: - rete Bancomat Borsa telematica punti vendita grandi magazzini
22
CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE
Sistemi real time E’ un sistema che risponde istantaneamente agli stimolo provenienti dall’esterno. In un sitema real time, un elaborazione si può considerare corretta non solo quando fornisce risultati esatti, ma soprattutto quando li fornisce in tempo; ossia un risultato che arriva in ritardo è un risultato inutilizzabile e quindi errato.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.