Ud 1: INTRODUZIONE SISTEMI OPERATIVI 6 ore
Prima Lezione: Definizione e compiti (vedi libro di testo pag 51-58)
Esempio Word processor.... HW | SO | Programma Utente | Utente.
Spiegazione: L’utente deve usare l’hw x risolvere un PB lo fa attraverso un programma che a sua
volta non dialoga direttamente con l’hw ma si appoggia sulle funzionalità dategli dal SO .
Brain Storming sul SO:
 Programma (insieme di programmi)
 Gestisce
 aiuta l’utente
Il sistema di calcolo composto da: Hw, SO, Programmi applicativi, utenti
Le applicazioni utilizzano hw x risolvere i problemi degli utenti SO organizza l’accesso dei
software alle risorse fisiche
SO ha un ruolo di arbitro; allocatore risorse, controllore dell’utilizzo delle stesse.
Definizione di Sistema Operativo:
“Insieme di programmi che consente alle varie componenti di un sistema di elaborazione di
interagire tra di loro. Il suo compito è quello di coordinare le ris. Hw e sw. Di un PC permettendo
all’utente di utilizzarlo in modo semplice ed efficiente”
Insieme di programmi…
Coordinare (efficientemente) → gestire l’utilizzo delle risorse (ris hw e sw) → più processi
richiedono le risorse il SO media queste richieste avendo come obiettivi:
•
Correttezza ( un processo non deve condizionare/modificare i risultati degli altri... ogni
processo deve essere convinto di essere l'unico)
•
Efficienza: la gestione non deve richiedere troppo tempo, tutti i processi che richiedono una
risorsa devono ottenerla in un tempo ragionevole)
Utilizzarlo in modo semplice
•
Interfaccia utente (CUI e GUI)
•
Nasconde i dettagli Hardware: permette ai processi e/o utenti di svolgere operazioni ad un
“livello più alto” utilizzando delle System Calls (esempio chiedo di stampare allo stesso
modo indipendentemente dal tipo/modello di stampante utilizzata dal dispositivo...sarà poi il
driver del dispositivo a “tradurre” la richiesta di stampa in comandi da dare al dispositivo
specifico.
Obiettivi principali di un SO
•
Sistema per gestire l'interazione uomo macchina
•
Interfaccia tra applicazioni e risorse del computer (Nascondere i dettagli hardware)
•
Gestione delle risorse ottimizzandone l'uso
•
Fornitore di servizi allo sviluppo software e all'amministrazione del sistema
Obiettivo secondario (ma non tanto) EFFICIENZA NELLA GESTIONE
Seconda Lezione: Processo in esecuzione e interruzioni (vedi libro di testo pag 143-146)
La CPU mentre esegue le istruzioni di un programma non è un mondo isolato ma inserito in un
sistema…nel sistema “attorno al programma” può succedere qualcosa → Interruzioni
Cosa sono?
Si vuole segnalare all’unità centrale che sono accaduti alcuni eventi di cui non è a
conoscenza
Esempi
 Termine operazione di I/O
 Errori (divisione per 0)


Chiamate a sistema
Violazione d’accesso
Due tipi
Int HW (avvengono tramite fili elettrica) sono causate dalle periferiche.
presenza di: (inter esterne)
 Linea in ingresso
 Flag di interruzione
 Flag di mascheramento
 Al termine di ogni ciclo la cpu controlla il flag di interruzione
Int SW (avvengono tramite chiamata) causate dal programma (più simile alla chiamata a procedura
ma si tratta di una procedura DI SISTEMA (system call) (int interne)
Ad ogni interruzione è associata una risposta (sia HW che SW)
Il sistema ha un VETTORE DELLE INTERRUZIONI dove mantiene memorizzato (per ogni tipo di
interruzione) l’indirizzo di partenza della routine di risposta all’interruzione.
Al termine della procedura di risposta viene ripreso il programma interrotto
Quando avviene un interruzione il sistema deve dunque:

Riconoscere l’interruzione

Salvare lo stato dei vari registri…

Accedere al vettore delle interruzioni, Forzare nel Program counter l’indirizzo di partenza
della procedura di risposta, eseguire la procedura di risposta

Ripristinare lo stato iniziale

Restituire il controllo al processo interrotto
È possibile interrompere un interruzione??
Si alcuni sistemi lo permettono. Vi è una priorità tra le interruzioni per fare in modo che
interruzioni più urgenti e con una risposta breve possano interrompere interruzioni meno urgentiu e
con una lunga procedura di risposta
Esempio:
Gestione I/O chiamata operazione di I/O è un interruzione SW.
Ora il processore può:
 Aspettare che dispositivo termini I/O stando fermo
 Dopo aver dato il via al dispositivo riprendere il suo lavoro (uso DMA).
 Secondo caso il dispositivo genera un INT HW quando ha finito.
Terza Lezione: Evoluzione dei Sistemi Operativi (2 Ore) (libro testo pagine 58-64)
Vedremo come i sist operativi si sono evoluti aggiungendo via via funzionalità.
Generazione Zero (non trattata dal libro)
No sistema Operativo  interruttori per inserire codice binario / led per vedere immagine
memoria
Introduzione di periferiche per l’input output da/su schede
Prima Generazione (Sistemi dedicati)
 Introduzione linguaggi assembler e ad alto livello (Fortran Cobol)
 Prova di un programma su macchina richiede procedimento più
complesso (carica il compilatore esegui il compilatore con input
programma etc)

Tempi morti per il programmatore --> Figura del operatore che
svolge i lavori per tipo (evitando il ricaricamento dei compilatori).
Seconda Generazione (Elaborazione a lotti)
 Monitor residente, sequenzializzatore automatico di job e e JCL,
passaggio controllo da monitor a programma e viceversa
o Interprete schede di controllo
o Loader
o Driver dispositivi
 Job composto da insieme di schede...
 Modalità “Operativa” cfr pag. 18 l.t.
o Ogni utente prepara il suo job
o Passaggio da schede a nastro dei vari job.
o Caricamento nstro
 Problema di questi sistemi: NO INTERATTIVI, Perdita di tempo per
l’I/O CPU inattiva !
 Problemi risolti: LENTEZZA UMANA NEL PREDISPORRE LE
VARIE FASI DEI JOB
Esempio di quanto tempo si perde (Approfondimento di pag. 19)
Altro problema nato dall'esempio.... Schhedulare i Job sarebbe bello !!!!!!!
I Sistemi Multiprogrammati
Sistemi Batch Multiprogrammati (G3)
Hardware nuovo ed indispensabile: I DISCHI MAGNETICI (accesso non più sequenziale)
Spiegazione del funzionamento del sistema Batch Multi programmato.....
Nuovi compiti del SO
1. Gestione del processore e della MC
2. Rendere indipendenti dal processore le operazioni di input-output (necessità DMA)
3. Gestire tecniche di Spooling
4. DMA e Gestione delle interruzioni (fine di un IO)
Sistemi Multiprogrammati time-sharing (g4)