INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
Definizione.
Evoluzione.
Il sistema operativo come gestore di risorse.
La struttura gerarchica di un sistema operativo.
Maurizio Lunardi
I.T.S.
“Bassi”
- Lodi -
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Definizione
Un sistema operativo può essere definito, in modo
generale, come un insieme di procedure manuali e
automatiche che consentono all’utente di un sistema
di
elaborazione
di
usarlo
efficacemente.
Maurizio Lunardi
efficientemente
ed
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Definizione
Un sistema operativo deve:
Permettere all’utilizzatore di usare in modo semplice e
immediato
tutte
le
risorse
che
il
sistema
di
elaborazione mette a disposizione.
Ottimizzare l’uso delle risorse a disposizione, attuando
opportune politiche di gestione razionale delle stesse.
Fornire una immagine astratta di tutte le risorse
disponibili,
indipendentemente
funzionino (risorse hardware).
Maurizio Lunardi
da
come
queste
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
Definizione
Utilizzatore
Programmi
Programmi
applicativi
di utilità
Debug
Routine di stampa
Compilatori
Interpreti
Editor
Gestione file
Assemblatori Caricatori
Gestione
della risorsa
Gestione
della risorsa
Gestione
della risorsa
memoria
processore
periferiche
Hardware
Maurizio Lunardi
Gestione
della risorsa
informazioni
I.T.S.
“Bassi”
- Lodi -
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Origine - fine anni 40
Sistemi dedicati – anni 50
Elaborazione a lotti – fine anni 50
Sistemi a partizione di tempo – prima metà anni 60
Sistemi multiprogrammati – metà anni 60
Sistemi in tempo reale – seconda metà anni 60
Macchine virtuali – fine anni 60
Sistemi interattivi – prima metà anni 70
Sistemi distribuiti – anni 80
Sistemi a processori paralleli – anni 2000
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi dedicati – anni 50:
Un calcolatore, nella sua struttura iniziale, era in grado
di gestire un solo processo per volta, completamente
residente in memoria, a cui venivano destinate tutte le
risorse a disposizione.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Elaborazione a lotti – fine anni 50:
Al crescere della velocità delle unità di elaborazione,
risultò inaccettabile che un sistema fosse a disposizione
di un unico utilizzatore che occupava tempo-macchina
con lunghe e onerose procedure di caricamento e
gestione di programmi.
L’elaborazione a lotti (o batch) comporta una nuova
organizzazione del lavoro.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Elaborazione a lotti – Job Control Language
Il programmatore deve:
– Sviluppare il programma.
– Porlo all’interno di una sequenza di comandi espressi nel
linguaggio di comando.
– Caricare il tutto su un supporto di memoria (nastro
magnetico).
– Consegnare il lavoro all’operatore e tornare più tardi a
prendere i risultati.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione: elaborazione a lotti
Sistema con
elaborazione
batch
Lavoro 1
Lavoro 2
Risultati
lavoro 4
Risultati
lavoro 3
Lavoro 3
Risultati
lavoro 2
Lavoro 4
Maurizio Lunardi
Risultati
lavoro 1
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi a partizione di tempo – prima metà anni 60:
Con l’elaborazione a lotti il processore doveva spesso
attendere la fine di operazioni di I/O, che richiedevano
tempi enormemente superiori a quelli di elaborazione
della CPU, prima di potersi occupare nuovamente del
programma.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi a partizione di tempo – prima metà anni 60:
Soluzione adottata:
– Assegnare il processore ad un altro lavoro ogniqualvolta
quello sotto elaborazione doveva “fermarsi” in attesa
della terminazione di una operazione di I/O, salvo
riprenderlo appena la situazione lo permetteva (a
partizione di tempo – time sharing).
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione: sistemi a partizione di tempo
Processo 1 - sospeso
Processo 1 - attivo
Processore
Processore
Processo 2 - attivo
Processo 1 - sospeso
Processore
Processo 2 - sospeso
Il processo 2 chiede che
venga eseguito un I/O
Maurizio Lunardi
Processo 2 - attivo
L’operazione di I/O del
processo 2 è terminata
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi a partizione di tempo – prima metà anni 60:
Il passo successivo fu immediato: costruire un sistema
operativo in cui il processore venisse assegnato “a
turno” per un certo tempo (quanto di tempo – time
slice), a più utilizzatori.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi a partizione di tempo – prima metà anni 60:
Ogni qualvolta si passa da un lavoro all’altro occorre,
prima di caricare quello nuovo, memorizzare su disco
lo stato del programma in fase di elaborazione.
Inoltre
il
invisibile”,
processore
il
deve
sistema
servire
operativo
l’esecuzione dei propri programmi.
Maurizio Lunardi
un
che
“utente
richiede
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi a partizione di tempo – prima metà anni 60:
La tecnica di gestione a partizione di tempo favorì lo
sviluppo di sistemi operativi sempre più complessi ed in
grado
di fornire all’utente funzioni sempre più
sofisticate.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi multiprogrammati – metà anni 60:
Si
presentò
il
problema
che
per
migliorare
le
prestazioni del calcolatore era necessario diminuire i
tempi legati alla gestione delle periferiche esterne,
riducendo al minimo l’operazione di caricamento di un
nuovo programma.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi multiprogrammati – metà anni 60:
Soluzione adottata:
– Organizzare il lavoro del sistema in modo che più
processi potessero risiedere contemporaneamente in
memoria in aree distinte.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
Evoluzione: sistemi multiprogrammati
Programma A
Programma B
Processore
rogramma A
Programma X
Programma A
Memoria centrale
Maurizio Lunardi
I.T.S.
“Bassi”
- Lodi -
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi multiprogrammati – metà anni 60:
Si ottiene così un sistema detto multiprogrammato,
caratterizzato dalla presenza simultanea di diversi
programmi
nella
memoria
esecuzione intrecciata.
Maurizio Lunardi
centrale
e
dalla
loro
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
Evoluzione: sistemi multiprogrammati
Sistema
Operativo
Programma A
A è in attesa della risorsa processore
Programma B
B sta scrivendo sull’unità disco
rogramma A
Programma X
X sta utilizzando la risorsa processore
Programma A
Memoria centrale
Maurizio Lunardi
I.T.S.
“Bassi”
- Lodi -
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
Evoluzione
Sistemi multiprogrammati – metà anni 60:
Nacquero però nuove esigenze:
– Problemi di protezione.
– Problemi di condivisione.
Maurizio Lunardi
I.T.S.
“Bassi”
- Lodi -
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi in tempo reale – seconda metà anni 60:
Con il termine elaborazione in tempo reale (real time)
si indica il metodo secondo cui l’esecuzione di
un’attività da parte del sistema deve essere eseguita in
tempo “praticamente” trascurabile rispetto agli eventi
esterni.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi in tempo reale – seconda metà anni 60:
La struttura del sistema dipenderà dai tempi richiesti
per le risposte:
– Sistemi time sharing (esercizi di laboratorio).
– Sistemi dedicati (controllo di processi industriali).
– Sistemi multiprogrammati (applicazioni gestionali).
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Macchine virtuali – fine anni 60:
La gestione in time sharing, pur dando all’utente la
sensazione di avere tutto il sistema a sua disposizione,
non gli permetteva di effettuare, da terminale,
operazioni di modifica, messa a punto e controllo di
alcuni programmi di sistema operativo.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Macchine virtuali – fine anni 60:
Nascono
le
ricerche
particolare sistema
tendenti
operativo
a
che
realizzare
un
consentisse di
simulare la macchina reale al fine di implementare
nuovi moduli di sistema operativo senza intaccare il
sistema operativo originale.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Macchine virtuali – fine anni 60:
Si è giunti al concetto di macchina virtuale, a cui ogni
utente viene assegnato un “intero calcolatore”, i cui
componenti sono simulati servendosi delle risorse del
calcolatore reale.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Macchine virtuali – fine anni 60:
Principali vantaggi:
– Possibilità di utilizzare diversi sistemi operativi sul
medesimo computer, in modo da poter eseguire
programmi generati sotto diversi S.O.
– Possibilità di usare contemporaneamente diverse versioni
dello stesso sistema operativo, per portare variazioni e
verificarne la correttezza senza andare ad intaccare la
versione originale.
– Possibilità di realizzare attività molto differenti tra loro e
programmi che, per la loro esecuzione, richiederebbero
architetture hardware diverse.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi interattivi – primi anni 70:
Con
i
sistemi
interattivi,
l’utente,
attraverso
il
terminale, può condurre un colloquio vero e proprio
con il sistema, in modo da seguire direttamente
l’evoluzione dei vari passi del lavoro con la possibilità
di poter interrompere il lavoro in qualsiasi momento.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi interattivi – primi anni 70:
Con questo tipo di organizzazione, i tempi di risposta
dell’elaboratore divengono più prevedibili, in quanto
dipendono solo dalla complessità del programma e dal
numero di lavori gestiti contemporaneamente dal
sistema.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi interattivi – primi anni 70:
Oggi, la maggior parte dei S.O. evoluti consente di
fondere parecchie delle tecniche di gestione,
riservando ad esempio:
– Una percentuale di tempo di CPU per l’elaborazione a
lotti.
– Il rimanente per gestire lavori interattivi.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Evoluzione
Sistemi distribuiti – primi anni 80:
Tendenza a distribuire il calcolo tra diversi processi
fisici:
– Strettamente accoppiato.
I processori condividono clock di sistema e memoria e la
comunicazione avviene attraverso quest’ultima.
– Debolmente accoppiato.
Ciascun processore dispone di una memoria locale e i singoli
processori comunicano attraverso bus ad alta velocità o
linee telefoniche (sistemi distribuiti).
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
Evoluzione
Sistemi distribuiti – primi anni 80:
Vantaggi:
– Condivisione delle risorse.
– Accelerazione del calcolo.
– Affidabilità.
– Comunicazione.
Maurizio Lunardi
I.T.S.
“Bassi”
- Lodi -
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Il sistema operativo come gestore delle risorse
Principali funzionalità:
Tenere aggiornate le informazioni sullo stato di
ciascuna risorsa, per poter verificare se questa è libera
o è già assegnata ad un processo.
Interpretare le richieste dei singoli processi e, in base
alla politica di gestione, redimere eventuali situazioni
di conflitto.
Assegnare
la
singola
risorsa
ad
processo.
Riprendere il controllo della risorsa.
Maurizio Lunardi
un
determinato
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
Il sistema operativo come gestore delle risorse
Principali funzionalità:
Gestore dei processi.
Gestore della memoria.
Gestore delle periferiche.
Gestore delle informazioni.
Maurizio Lunardi
I.T.S.
“Bassi”
- Lodi -
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Il sistema operativo come gestore delle risorse
Il gestore dei processi (processor management):
Si occupa dell’assegnazione del processore centrale ai
singoli processi:
– Crea e cancella processi utente e di sistema.
– Mantiene aggiornato lo stato del processore e lo stato di
ogni processo.
– Decide, in base alla politica di schedulazione, a quale
processo assegnare il processore e per quanto tempo.
– Riprende il controllo della risorsa processore o quando il
processo è terminato, o quando è scaduto il quanto di
tempo assegnatogli.
– Gestisce la sincronizzazione e la comunicazione tra
processi.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Il sistema operativo come gestore delle risorse
Il gestore della memoria (memory management):
Si occupa della gestione della memoria centrale del
sistema:
– Mantiene aggiornato lo stato della memoria, avendo
sempre presente quali sono le aree libere, quali quelle
occupate e quali processi le stanno utilizzando. Mantiene
aggiornato lo stato del processore e lo stato di ogni
processo.
– Determina, in base alla politica di allocazione della
memoria, quante locazioni assegnare ad ogni processo e
la loro dislocazione all’interno della memoria stessa.
– Assegna ai singoli processi le aree di memoria
selezionate, provvedendo alla memorizzazione delle
informazioni.
– Riprende il controllo della risorsa memoria o quando il
processo è terminato, o quando il processo non può
avanzare per diverso tempo, oppure quando quell’area di
memoria deve essere utilizzata per altri scopi.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Il sistema operativo come gestore delle risorse
Il gestore delle periferiche (device management):
Si occupa della gestione di tutte le periferiche:
– Mantiene aggiornato lo stato di tutte le periferiche e di
tutti i dispositivi che le controllano.
– Decide, in base alla politica di allocazione, quale
processo acquisisce il controllo di una periferica.
– Assegna la risorsa ed inizializza l’operazione di I/O.
– Riprende il controllo della risorsa a operazione ultimata.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Il sistema operativo come gestore delle risorse
Il gestore delle informazioni (information management):
Si occupa della memorizzazione e del recupero delle
informazioni archiviate nelle memorie di massa del sistema
– Conserva la traccia di tutti gli archivi in apposite tabelle, in
modo da saper individuare, per ogni dispositivo, l’elenco
degli archivi memorizzati, la loro dislocazione, la loro
lunghezza, e tutte le altre indicazioni necessarie per poter
accedere alle singole informazioni in esso contenute.
– Determina, in base alla politica generale di gestione, chi può
utilizzare certe informazioni, chi può accedere ad un archivio
(file) e per quali operazioni (solo lettura oppure lettura e
scrittura).
– Assegna la risorsa ad un processo (ad esempio apre un file su
disco, inserendo le informazioni ad esso associate in
un’apposita tabella posta in memoria centrale).
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Il sistema operativo come gestore delle risorse
Il gestore delle informazioni (information management):
Si occupa della memorizzazione e del recupero delle
informazioni archiviate nelle memorie di massa del sistema
– Compie le operazioni relative al rilascio della risorsa-file da
parte di un processo (ad esempio chiedere un file,
eliminandolo dalla tabella dei file aperti presente nella
memoria centrale).
– Crea e cancella file e directory.
– Supporta istruzioni primintive per la manipolazione di file e
directory.
– Permette il backup di file su memoria di massa.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
Il sistema operativo come gestore delle risorse
Nei moderni sistemi di elaborazione l’utente non
interagisce con l’hardware della macchina ma con un
sistema, detto macchina estesa formato da hardware
e sistema operativo.
I programmi utente sono implementati su una
macchina estesa hardware + sistema operativo o
software di base.
Maurizio Lunardi
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
La struttura gerarchica di un sistema operativo
Lavoro 2
Lavoro 3
Lavoro 1
Sistema Operativo
Hardware
Macchina estesa
Maurizio Lunardi
Introduzione ai sistemi operativi
INFORMATICA – Sistemi Operativi
La struttura gerarchica di un sistema operativo
Applicativi utente
Programmi di utilità
Gestore della informazioni
Gestore delle periferiche
Gestore della memoria
Nucleo
Hardware
Maurizio Lunardi
I.T.S.
“Bassi”
- Lodi -
INFORMATICA – Sistemi Operativi
Introduzione ai sistemi operativi
I.T.S.
“Bassi”
- Lodi -
La struttura gerarchica di un sistema operativo
Una gerarchia di questo tipo può essere ampliata
all’interno del sistema operativo, suddividendo i suoi
moduli in livelli, in modo che ciascun modulo di un
certo livello possa utilizzare, per la sua esecuzione,
tutte le risorse hardware e software presenti ai livelli
più interni.
Maurizio Lunardi