Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
6.1 - GENERALITA’
Il sistema operativo (S.O.) è un programma che agisce da interfaccia tra gli utilizzatori di
un calcolatore e l’hardware dello stesso, fornendo un ambiente per l’esecuzione dei
programmi (si veda fig. 6-1). In effetti esso si pone i seguenti obiettivi:
• Rendere agevole l’uso del sistema
• Consentire un uso efficiente dell’hardware
Da un punto di vista terminologico il sistema operativo fa parte del cosiddetto software di
sistema.
HARDWARE
SISTEMA OPERATIVO
ALTRO SW DI SISTEMA
SW APPLICATIVO
UTI LIZZATORI
E’ bene rilevare che lo sviluppo dei sistemi operativi è stato attuato su calcolatori medio-
grandi (“Mainframe”). Successivamente è stato trasportato sui minicalcolatori ed oggi sui
personal computer, grazie alla diminuzione dei prezzi dell’hardware ed all’aumento delle
prestazioni.
Capitolo 6 6.1
Dispense di Calcolatori Elettronici 1
6.2 - PRIMI SISTEMI
6.3 - BATCH
Con il termine batch si fa riferimento alla politica di raccogliere i lavori da eseguire in gruppi
(“lotti“) in modo tale da consentire una più conveniente ed efficiente elaborazione.
Batch primitivo
Le prime realizzazioni di sistemi operativi batch riguardavano calcolatori con lettore di
schede come unita’ tipica di ingresso e stampante come unita’ tipica di uscita.
In essi la presenza di un operatore professionale portava ad una diminuzione dei tempi
morti e la costituzione di lotti di lavori omogenei porta ad una diminuzione dei tempi di
approntamento.
Batch intermedio
Anche questa evoluzione del sistema operativo faceva riferimento a calcolatori con lettore di
schede e stampante.
La novita’ consisteva nella sequenzializzazione automatica dei lavori per mezzo di:
- Schede di controllo
- Monitor, inteso come la parte del sistema operativo permanentemente residente in Mp
durante il funzionamento del calcolatore (si veda fig. 6-2)
- Modo utente e modo supervisore
Mp
Monitor
Programma
Utente
Batch avanzato
In queste realizzazioni del sistema operativo sono presenti le caratteristiche dei sistemi di
tipo batch intermedio (monitor, modo utente e modo supervisore, registro barriera) ma si ha
a che fare con calcolatori nei quali unita’ di ingresso e di uscita sono molto diversificate ed
in particolare tra le prime scompaiono via via i lettori di schede.
Le principali caratteristiche nuove sono:
• Introduzione di un buffer per I/O
(sovrapposizione di I/O di un lavoro con la sua elaborazione)
• Esecuzione di operazioni di I/O off-line
(esempio: schede ---> nastro; nastro ---> stampante; si veda fig. 6-3)
• Introduzione dello Spool ( Simultaneous Peripheral Operation On Line)
(sovrapposizione di I/O di un lavoro con l’esecuzione di altri lavori)
• Introduzione della multiprogrammazione
(più programmi residenti contemporaneamente in Mp)
Per poter sfruttare le possibilita’ offerte dai nuovi elementi introdotti, oltre all’introduzione
sistematica di unita’ a disco, si devono soddisfare esigenze di:
• Gestione memoria
• Schedulazione dispositivi I/O
• Controlli aggiuntivi: stallo o “deadlock” (si veda fig. 6-4), concorrenza, protezione
Def.b - Intervallo di tempo che intercorre tra il momento in cui il lavoro è preso in carico dal
S.O. ed il momento in cui il S.O. ne rilascia il controllo.
Calcolat.
Elettron.
Viene definito in modo diverso il tempo di risposta (che in lingua inglese e’ denominato in
questo caso “response time”); si veda fig. 6-5.
Immissione Risposta
del comando del sistema
inizio termine inizio termine
TEMPO
tempo di risposta tempo di
del sistema riflessione
TRANSAZIONE
Da questo punto di vista i sistemi in tempo reale sono suddivisibili in due categorie:
• “HARD”
Il mancato rispetto dei vincoli temporali può originare effetti catastrofici (morti, feriti,
severe perdite finanziarie)
“SOFT”
Il mancato rispetto dei vincoli temporali non produce effetti catastrofici.
Capitolo 6 6.5
Dispense di Calcolatori Elettronici 1
PROGRAMMI DI SISTEMA
Sono classificabili in varie categorie:
• Manipolazione di archivi (“file”)
Esempi: copiare, cambiare nome, stampare, trasferire
• Modifica di archivi (“editing”)
• Fornitura di informazioni sullo stato del sistema
Esempi: data, ora, numero di utenti, tempo di risposta, memoria disponibile
• Supporto di linguaggi di programmazione
• Caricamento ed esecuzione di programmi
Esempi: caricatori, caricatori rilocabili, editori di collegamento, sistemi per messa a
punto di programmi
• Programmi applicativi di uso generale
Esempi: tracciatori di grafici, basi di dati, programmi di analisi statistica, compositori di
testi, programmi di ordinamento e di fusione
• Interprete dei comandi
CHIAMATE AL S.O.
Sono solitamente disponibili come dichiarazioni del linguaggio assemblativo, che
interrompono l’esecuzione del programma e passano il controllo al supervisore:
• Controllo di lavori (“job”)
Esempi: definizione attributi, caricamento, esecuzione, termine, interruzione, traccia,
dump, attesa
• Manipolazione di archivi
Esempi: creazione, cancellazione, definizione attributi
• Gestione dei dispositivi
Esempi: richiesta, rilascio, lettura, scrittura, riposizionamento
• Traferimento delle informazioni tra S.O. e programma
Esempio: data, ora, dati sul sistema, attributi di lavori e archivi
INTERRUZIONI
Si tratta di segnali il cui presentarsi indica quasi sempre che si sono verificati eventi che
interessano il S.O..
Le interruzioni provengono da
• Chiamate al sistema
• Dispositivi di I/O
• Errori originati dal programma
Capitolo 6 6.6
Dispense di Calcolatori Elettronici 1
Restituendo invece subito il controllo al programma utente si deve tener conto di una
eventuale molteplicità di richieste inevase per mezzo della tabella dello stato dei
dispositivi. Ad ogni dispositivo è necessario associare una lista delle richieste (si veda fig.
6-6).
D is p o s itiv o : le tto r e s k
In d i r iz z o : 1
S ta to : in a ttiv o
D is p o s itiv o : s ta m p a n te F ile : A A A
In d i r iz z o : 2
S ta to : a ttiv o In d : 0 3 6 5 4
D is p o s itiv o : d is c o
In d i r iz z o : 3
S ta to : in a ttiv o
D is p o s itiv o : d is c o
In d i r iz z o : 4
S ta to : in a ttiv o
In d iriz z o = d e n o m in a z io n e
c o n v e n z io n a le d e l d is p o s itiv o In d iriz z o = p o s iz io n e a p a rtir e
a ll’ in te rn o d e l c a lc o la to re ( d e f in ito d a lla q u a le s i v u o le
a lla “g e n e ra z io n e ” d e l S .O . ) e f f e ttu a re l’ o p e ra z io n e
Figura 6-6. Utilizzo della tabella dello stato dei dispositivi e delle liste delle richieste
Capitolo 6 6.7
Dispense di Calcolatori Elettronici 1
In t e r r u z io n e
S a lv a t a g g io r e g is t r i
T ip o d i in t e r r u z io n e
C o m p le t a m . E rro re R ic h ie s t a R ic h ie s t a C o m p le t a m
la v o r o n o n I/ O I/ O I/ O
Dum p
E s e c u z io n e
A l s u c c e s s iv o
In iz io
la v o r o o c o m a n d o
s o d d is f a c im . A g g io r n a m .
o a tte s a t a b e lla s t a t o
c o n a g g io r n . d is p o s it iv i
t a b e lla
A l p ro g ra m m a
u te n te
Capitolo 6 6.8