E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) 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 1
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 YLUWXDOH ne ottimizza e ne facilita l uso Un interfaccia tra utente e macchina nasconde i dettagli interni semplifica il lavoro recupera situazioni di errore 2
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 3
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 4
DOS Esempi di Sistemi Operativi Interfaccia testuale Monotasking monoutente Microsoft Windows Interfaccia grafica Multitasking monoutente o multiutente a seconda delle versioni Microsoft Unix Interfaccia testuale Multitasking multiutente Bell Laboratories Linux Interfaccia testuale e/o grafica Multitasking multiutente Derivato da Unix 2SHQVRXUFH OS 2 Interfaccia grafica Multitasking multiutente IBM Mac OS Interfaccia grafica Multitasking Monoutente o multiutente Apple 5
Modello a strati del S.O. Hardware 1XFOHR *HVWLRQHGHL SURFHVVLHGHOSURFHVVRUH *HVWLRQHGHOODPHPRULDFHQWUDOH *HVWLRQHGHOOHSHULIHULFKH )LOHV\VWHP,QWHUIDFFLDXWHQWH,QWHUSUHWHGHLFRPDQGLRVKHOO 6
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 7
Modello a strati del S.O. (il nucleo) Il QXFOHRR.HUQHO, 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 SURFHVVR è 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: SURQWR LQ HVHFX]LRQH VRVSHVR WHUPLQDWR Una LQWHUUX]LRQH è 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. 8
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. 9
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. 10
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 11
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 ). 12
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 ERRW (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. 13