UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1...

22
UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2 Prog 3 M1 Mn M1 M2 Mn M1 Gestione RAM Gestione CPU Gestione I/O Esempi

Transcript of UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1...

Page 1: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

UTENTE

STRUTTURA DEL SISTEMA OPERATIVO

HARDWARE

LIVELLO N

LIVELLO N-1

LIVELLO 3

LIVELLO 2

Prog1LIVELLO 1

Prog2 Prog3

M1 Mn M1 M2 Mn M1

Gestione RAM

Gestione CPU

Gestione I/O

Esempi

Page 2: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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

I sistemi di elaborazione ad alte prestazioni possono possedere più CPU.S.O più complesso.

Sistemi Multiprocessori

Page 3: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

Sistema di elaborazione di riferimento

Risorse Hardware

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI

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.

Page 4: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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

Page 5: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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

Page 6: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI

SISTEMI MONOPROGRAMMATI

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.

Si può dividere il tempo che intercorre tra l’inizio e la fine del programma in intervalli caratterizzati dalle diverse attività della CPU.

Page 7: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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.

Page 8: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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 disistema, per permettere l’esecuzione anche di altri programmi utente.

L’obiettivo è raggiunto con i Sistemi Multiprogrammati

Page 9: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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

Page 10: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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 ditempo), quando il suo uso viene concesso per un tempo che non può superare unmassimo: 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

Page 11: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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.

Page 12: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI

SISTEMI MULTIPROGRAMMATI

Il tempo necessario per prendere tale decisione si chiama tempo di assegnamento.

Page 13: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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)

Progr. 1

Sistema Op.

RAM

P2 P3 P4

Page 14: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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

Page 15: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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.

Page 16: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

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

Page 17: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE

Prevedono l’utilizzo di un solo utente per volta.

Sistemi dedicati

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.

Page 18: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE

L’utente non interagisce con il calcolatore durante l’esecuzione dei programmi.

Sistemi batch (a lotti di lavoro)

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

Page 19: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE

Si ottengono con l’uso in time sharing della CPU

Sistemi interattivi multiutente

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 questo contesto di lavoro assumono importanza 2 parametri:- velocità operativa della CPU (MIPS: milioni di istruzione per secondo)- dimensione della memoria centrale

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.

Page 20: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE

Sistemi operativi orientati alle problematiche di - installazione- configurazione- amministrazione di computer connessi tra di loro anche a grandi distanze

Sistemi per la gestione delle reti

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.

Page 21: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE

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

Sistemi transazionali

Page 22: UTENTE STRUTTURA DEL SISTEMA OPERATIVO HARDWARE LIVELLO N LIVELLO N-1 LIVELLO 3 LIVELLO 2 Prog1 LIVELLO 1 Prog2Prog3 M1MnM1M2MnM1 Gestione RAM Gestione.

CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE

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.

Sistemi real time