5_teoria dei sistemi operativi - Istituto Paritario Michelangelo

TEORIA DEI SISTEMI OPERATIVI
Classificazione dei sistemi operativi
(Sistemi dedicati, Sistemi batch, Sistemi interattivi multiutente)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI
• Le tre principali configurazioni con le quali un
sistema viene offerto agli utenti sono :
1. Sistema dedicato ( o monoutente)
2. Sistema batch ( a lotti)
3. Sistema Interattivo multiutente
2
1. SISTEMI DEDICATI (O MONOUTENTE)
I sistemi dedicati sono i sistemi che prevedono l’utilizzo di un
solo utente per volta.
• Esempi di macchine che utilizzano sistemi
dedicati : personal computer e workstation
utilizzate per progetti di architettura o
ingegneria.
• Anni 80 : il sistema operativo DOS era il
sistema operativo dedicato standard ma non
supportava il Multitasking.
(vedi significato pagina successiva)
3
1. SISTEMI DEDICATI (O MONOUTENTE)
Definizione - Sistema operativo con multitasking
è un sistema operativo che permette di eseguire più programmi
contemporaneamente
• Oss: Dire che un sistema è multiprogrammato o che supporta
il multitasking è la stessa cosa.
• Task significa compito , applicazione
• Attualmente : sistemi operativi dedicati come Windows e
Linux supportano il Multitasking.
4
1. SISTEMI DEDICATI
• Nei sistemi dedicati a Multitasking si fa spesso ricorso ad
ambienti grafici e finestre:
• In questo modo si possono vedere diverse applicazioni in
esecuzione e passare da una all’altra , secondo la necessità ,
usando il mouse o la tastiera.
5
2. SISTEMI BATCH (A LOTTI DI LAVORO)
In un sistema di tipo batch (a lotti di lavoro) , l’utente non interagisce con il
calcolatore durante l’esecuzione dei programmi.
I dati necessari sono accumulati in memorie ausiliarie per essere elaborati tutti
insieme in un unico lotto (batch) dai programmi applicativi.
Svantaggi:
- non è possibile fornire i dati nel momento della
richiesta (opposto di interattività)
- non è possibile ottenere risultati parziali
- non è possibile avere messaggi di avvertimento o
di errore
I lavori sono preparati off line
Vantaggi:
- Sfruttamento intelligente delle risorse nei casi in
cui l’intervento dell’operatore non è necessario
6
2. SISTEMI BATCH
I primi sistemi bacth erano scarsamente efficienti in quanto :
durante l’I/O del job corrente, la CPU rimaneva inattiva (lentezza
dei dispositivi di I/O meccanici) , come mostra il grafico seguente:
7
2. SISTEMI BATCH
Per rendere indipendente la CPU dell’attività di ingresso e uscita dei
dati sono stati introdotti gli elaboratori di canale che sono piccoli
elaboratori in grado di eseguire le operazioni di trasferimento dei dati
fra la memoria centrale e le periferiche e viceversa:
Gli elaboratori di canale possono essere applicati a qualsiasi periferica e
sono costituiti da un’area di memoria detta buffer, nella quale si
accumulano i caratteri da trasferire.
8
2. SISTEMI BATCH
Definizione - Il Job stream è la sequenza di fasi da eseguire nel
modo batch. (traccia del lavoro)
La sequenza dei comandi può trovarsi in un file .
Ad esempio , nel sistema operativo DOS è possibile scrivere file di
estensione .bat che contengono sequenze di comandi e chiederne
l’esecuzione.
Questi file sono comodi, ad esempio quando si devono eseguire
delle sequenze di comandi sempre uguali e non si vuole far
eseguire un insieme complicato di comandi ad un utente
inesperto.
9
2. SISTEMI BATCH
Il sistema batch non essendo interattivo non è molto diffuso,
tuttavia si trova nei sistemi moderni dove non è richiesto
l’intervento dell’operatore o dove si eseguono sempre gli stessi
comandi e magari a determinati orari.
Esempi di sistemi batch sono sistemi per il calcolo scientifico,
statistico o matematico.
10
3. SISTEMI INTERATTIVI MULTIUTENTE
Definizione - Un sistema multiutente è un sistema che può
essere utilizzato contemporaneamente da più utenti.
Si ottengono con l’uso in timesharing della CPU:
• La risorsa CPU viene dedicata
a ciascun utente a turno per
un tempo stabilito. (time slice)
Se il time-slice è abbastanza breve, ogni utente ha la sensazione
di lavorare su una macchina dedicata
11
3. SISTEMI INTERATTIVI MULTIUTENTE
• 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 il sistema trascorre
un tempo eccessivo a compiere operazioni di 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
12
SPECIALIZZAZIONE DEI SISTEMI OPERATIVI
Un’ulteriore classificazione dei sistemi operativi è
data dal loro utilizzo , si distinguono:
Sistemi per la gestione delle reti
Sistemi transazionali
Sistemi real time
13
Sistemi per la gestione delle reti
Il grande sviluppo delle reti e di Internet ha portato alla
realizzazione di sistemi operativi orientati alle
problematiche di installazione, configurazione, e
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
14
Sistemi per la gestione delle reti
Rientrano in questa categoria i sistemi operativi Windows Server e
Linux.
I moderni sistemi operativi operano sull’architettura client/server, in
essa risultano definiti i ruoli di
• server, cioè computer che
mettono a disposizione risorse
hardware, archivi dati oppure
programmi e applicativi
• client, cioè computer che
utilizzano le risorse condivise.
15
Sistemi transazionali
Tra i Sistemi operativi interattivi multiutente, evidenziamo i
sistemi transazionali, strutturati in modi di gestire le transazioni,
ossia le operazioni di aggiornamento di archivi e basi di dati di
dimensioni rilevanti.
Esempio di utilizzo per applicazioni gestionali :
•
•
•
rete Bancomat
Borsa telematica
raccolta dati dai punti vendita grandi magazzini
16
Sistemi transazionali
Definizione - Una transazione è una sequenza di operazioni, che può
concludersi con un successo o un insuccesso; in caso di successo, il risultato
delle operazioni deve essere permanente o persistente, mentre in caso di
insuccesso si deve tornare allo stato precedente all'inizio della transazione.
• Un’operazione di aggiornamento deve essere sempre eseguita
completamente oppure annullata nella sua interezza.
• Esempio : la transazione di vendita per un magazzino, consiste delle
seguenti registrazioni:
– Movimento di magazzino
– Modifica della giacenza
– Registrazioni contabili in dare e avere
– Scrittura dei movimenti sui giornali di cassa
Se uno di questi interventi non va a buon fine, occorre garantire che anche gli altri siano
annullati.
17
Sistemi real time
E’ un sistema che risponde istantaneamente agli stimoli
provenienti dall’esterno.
In un sistema 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.
• Oss: questo non è mai realizzabile in pratica, in quanto qualsiasi
sistema fisico ha un tempo di reazione non nullo, necessario per
generare una risposta a qualunque stimolo.
18
Sistemi real time
A seconda del tempo di reazione dell’elaboratore possiamo dire
che :
• Il sistema opera in tempo reale in senso lato, quando si
possono accettare tempi di reazione più lunghi di qualche
decina di secondo .
Casi tipici sono quelli in cui l’elaboratore colloquia con l’utente
(es. agenzie che prenotano treni o aerei , impiegati bancari
che registrano operazioni su un conto corrente)
• Il sistema opera in tempo reale in senso stretto : non si
possono accettare tempi di reazione troppo elevati.
In certi sistemi ciò comporterebbe una vera catastrofe! (es.
controllo di fissione delle centrali nucleari). Altri esempi sono
sistemi di controllo per eventuali reazioni chimiche
19