Il Sistema Operativo (1) E’ il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un’interfaccia con l’utente. Le sue funzioni principali sono: La gestione dell’unità centrale (CPU e RAM) La gestione dell’ input/output La gestione dei file (file system) La gestione dei programmi applicativi La gestione dell’ interfaccia con l’utente La gestione della sicurezza Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Il Sistema Operativo (2) È quindi • Un supervisore che ha una visione globale delle risorse del sistema fornisce all’utente una macchina virtuale • Un gestore di risorse le conosce nei dettagli ne offre agli utenti una visione virtuale ne ottimizza e ne facilita l’uso • Un’interfaccia tra utente e macchina nasconde i dettagli interni semplifica il lavoro recupera situazioni di errore Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Evoluzione dei sistemi operativi Prima generazione 1945 – 1955 (computer a valvole) assenza di S.O. o S.O. dedicato Seconda generazione 1955 – 1965 (transistor) S.O. batch (a lotti) Terza generazione 1965 – 1980 (circuiti integrati) S.O. in multiprogrammazione; S.O. Interattivi (Time-Sharing); S.O. Real Time Quarta generazione 1980 – …. (VLSI Very Large Scale Integration) S. O. per personal computer, reti, sistemi distribuiti Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Tipi di Sistema Operativo A interfaccia testuale (a comandi) A interfaccia grafica (GUI Graphical User Interface) Multitasking in grado di gestire più attività contemporaneamente Multiutente in grado di far lavorare più utenti contemporaneamente Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Esempi di Sistemi Operativi DOS Interfaccia testuale Monotasking monoutente Microsoft Windows Interfaccia grafica Multitasking monoutente o multiutente a seconda delle versioni Unix Multitasking multiutente Bell Laboratories Linux Interfaccia testuale e/o grafica Derivato da Unix Open source OS 2 IBM Mac OS Monoutente o multiutente Apple Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
(Interprete dei comandi o shell) Modello a strati del S.O. Hardware Nucleo - Gestione dei processi e del processore Gestione della memoria centrale Gestione delle periferiche File system Interfaccia utente (Interprete dei comandi o shell) Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Modello a strati del S.O. (generalità) Una gerarchia di livelli o strati. Ognuno usa le funzioni dei livelli sottostanti e fornisce funzioni a quelli più esterni Ogni strato offre una virtualizzazione di un certo numero di funzioni (macchina virtuale) La dipendenza dall’hardware è limitata al livello più basso (portabilità) La portabilità si paga con minor efficienza perché una chiamata di sistema deve attraversare più strati Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Modello a strati del S.O. (il nucleo) Il nucleo (o Kernel) , sempre presente in memoria centrale, interagisce direttamente con l’hardware; gestisce e sincronizza l’evoluzione dei processi; gestisce le interruzioni nei processori; gestisce la ripartizione dei processori nella multiprogrammazione Un processo è l’insieme delle operazioni che costituiscono un’attività del computer (ad es. un processo di stampa, un processo di lettura da disco, etc). Un processo può quindi essere: pronto in esecuzione sospeso terminato Una interruzione è la comunicazione al processore di un evento che lo costringe a interrompere la sequenza delle operazioni (processo) che sta eseguendo per dedicarsi ad altro. Dopo l’esecuzione della routine di interruzione il processo interrotto viene ripreso dal punto in cui era stato lasciato. Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Modello a strati del S.O. (gestione della memoria) Lo strato di gestione della memoria centrale : assegna gli spazi di memoria centrale ai programmi gestisce la paginazione o segmentazione della memoria: la memoria viene divisa in settori che possono essere di dimensioni fisse (pagine statiche) o variabili (pagine dinamiche) per renderne più efficiente l’utilizzazione implementa le tecniche di memoria virtuale per mascherare ai livelli successivi la limitazione fisica della memoria reale: la memoria centrale (RAM) appare ai programmi applicativi e all’utente più grande di quanto sia in realtà grazie a un meccanismo di spostamento di pagine di memoria, che in un certo momento non sono utilizzate, in uno spazio disponibile su una memoria esterna (hard disk) e conseguente liberazione di spazio per altre pagine che invece devono essere utilizzate in quel momento. Avviene quindi un continuo spostamento di porzioni di memoria dalla RAM all’hard disk e viceversa. Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Modello a strati del S.O. (gestione dell’ I/O) Mette a disposizione degli strati superiori l’uso delle periferiche nascondendo le loro caratteristiche fisiche (periferiche virtuali) Gestisce l’assegnazione delle periferiche (risorse) tra più processi concorrenti (ad es. code di stampa) Si serve, per la gestione delle singole periferiche, dei relativi drivers: programmi che gestiscono il funzionamento di un dispositivo, ad esempio una stampante, un modem, etc. Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Modello a strati del S.O. (File system) Gestisce in modo ottimale lo spazio sulle memorie di massa; Consente di organizzare la disposizione dei file in volumi, cartelle, sottocartelle Controlla l’accesso ai dati contenuti in un file, eventualmente anche in presenza di più richieste di utenti diversi; Fornisce le comuni operazioni sui file (copia, spostamento, cancellazione, cambiamento del nome, visualizzazione delle proprietà) Fornisce meccanismi di protezione dei file e delle cartelle Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Modello a strati del S.O. (Interfaccia utente) L’interfaccia utente o interprete dei comandi o shell: gestisce il dialogo tra utente e sistema a linea di comando – con l’interpretazione di comandi testuali scritti dall’utente secondo una precisa sintassi; in modalità grafica fornendo all’utente strumenti di colloquio intuitivi ( finestre, menu, pulsanti, icone ). Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005
Cosa succede all’accensione del PC Ogni computer per funzionare deve eseguire un programma. Il primo programma che viene eseguito è il BIOS, che contiene, tra l’altro, le istruzioni per il boot (il processo di avvio del S.O.). Le istruzioni del BIOS dicono al computer di cercare in una unità di memoria il S.O. Accensione Esecuzione del BIOS (POST e inizializzazioni) Esecuzione del bootstrap (Caricamento del S.O.) Controllo del sistema da parte del S.O. Corso di Informatica - Sistemi Operativi - Raffaele Grande 2005