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