Diagramma a cipolla
Sistema operativo (SO) Il calcolatore elabora informazioni codificate in sequenza di bit I dispositivi si interfacciano con il calcolatore tramite complessi protocolli di comunicazione Il sistema operativo astrae questa complessità facilitando l uso e la gestione del calcolatore 1. Interfaccia (astrazione dei dispositivi) 2. Multitasking - gestione dei processi 3. Gestione degli accessi e dei privilegi 4. Gestione delle risorse memoria/memoria virtuale
Struttura del SO 6. Applicazioni 5. Software base 4. Interprete 3. File system 2. I/O 1. Memoria Macchina
Gestore di Memoria Gestire le richieste di risorse di memoria Liberare le risorse non più utilizzate Gestire la memoria virtuale (swap su disco) Se la RAM non è sufficiente per i processi attivi, il SO organizza l ultilizzo di parte della memoria di massa come se fosse RAM aggiuntiva: prestazioni inferiori costo inferiore memoria dinamica (aumenta o diminuisce a seconda delle necessità)
Struttura del SO
Gestione dei dispositivi di I/O Consente l utilizzzo dei dispositivi base (tastiera, schermo) Astrazione dei dispositivi (driver): consente che programmi e utenti interagiscano con i dispositivi in modo naturale Es. 1: accedere al disco tramite file e non dovendo specificare le coordinate (cil, trk, sec) Es. 2: ottenere le coordinate del puntatore del mouse e non gli spostamenti dall ultimo aggiornamento Permette all utente di organizzare le informazioni (file, cartelle) in maniera naturale
File system Permette l organizzazione dei dati non preoccupandosi del livello fisico del loro immagazzinamento 1) Organizzazione dei dati in file, che rappresentano un insieme logico e finito di informazione, e cartelle (contenitori di file) 2) Organizzazione gerarchica
File system C:\ Programmi Projects Config.sys Giochi Tesi.doc Report.tex Tabella.xls Civ.exe
File system C:\ Programmi Projects Config.sys Giochi Tesi.doc Report.tex Tabella.xls Civ.exe C:\Programmi\Giochi\Civ.exe
File system C:\ Programmi Projects Config.sys Giochi Tesi.doc Report.tex Tabella.xls Civ.exe C:\Projects\Report.tex
Multi tasking La percezione dell utente è più lenta della velocità del processore: voglio fare in modo che molti processi sembrino essere eseguiti allo stesso tempo Time sharing: Il sistema operativo assegna un tempo definito (slot) per utilizzare le risorse del processore ad ogni processo, a turno
Multi tasking: gestione dei processi Il SO divide il tempo di calcolo disponibile in tanti slot che vengono assegnati a turno ai vari processi attivi. Controllo tramite priorità e interruzioni assegna l accesso alle risorse di calcolo per un certo tempo (slot temporale) al processo Giochi SO Processi attivi Giochi Matematica Internet il processo cui è assegnato lo slot accede alla CPU e porta avanti il suo compito CPU
Multi tasking: gestione dei processi Il SO divide il tempo di calcolo disponibile in tanti slot che vengono assegnati a turno ai vari processi attivi. Controllo tramite priorità e interruzioni Finito il tempo concesso, il SO interrompe il processo Giochi, e lo passa al processo Internet, secondo nella scala di priorità SO Processi attivi Giochi Matematica Internet CPU
Multi tasking: gestione dei processi Il SO divide il tempo di calcolo disponibile in tanti slot che vengono assegnati a turno ai vari processi attivi. Controllo tramite priorità e interruzioni Ora toccherebbe al processo Matematica, ma una interruzione dal processo Giochi che ha priorità più alta, fa cambiare l ordine al SO SO Processi attivi Giochi Matematica Internet CPU
Multi tasking: gestione dei processi Il SO divide il tempo di calcolo disponibile in tanti slot che vengono assegnati a turno ai vari processi attivi. Controllo tramite priorità e interruzioni Una volta gestita l interruzione, e assegnato al processo a più alta priorità uno slot ulteriore, è il turno del processo Matematica SO Processi attivi Giochi Matematica Internet CPU
Far partire il computer: bootstrapping Il barone di Munchausen sosteneva di essersi salvato da una palude sollevandosi sulle cinghie dei suoi stivali (bootstrap) Per analogia, all accensione del computer, delle semplici istruzioni iniziali sono in grado di costruire sistemi e applicazioni complesse
Far partire il computer: bootstrapping Esecuzione del BIOS (basic input/output system) diagnostica hardware caricare le istruzioni che risiedono in una zona riservata del disco rigido (boot sector) che caricano il sistema operativo
Sistemi operativi: DOS MS-DOS (Microsoft Disk Operating System) - 1981 1) Mono task 2) Mono utente 3) Nessuna interfaccia grafica (simile al prompt di comandi WinXP)
Sistemi operativi: DOS
Sistemi operativi: Windows Inizia nel 1985 come interfaccia grafica per MS-DOS ispirato a MAC-OS (Win 3.11) Windows XP 1) Multi task 2) Multi utente 3) Interfaccia grafica a finestre
Sistemi operativi: Unix Sviluppato negli anni 70 presso i Bell Labs Windows XP 1) Multi task 2) Multi utente 3) Interfaccia grafica a finestre
Sistemi operativi: Linux Gratuito e open source, sviluppato inizialmente da Linus Torvalds nel 1991 1) Multi task 2) Multi utente 3) Interfaccia grafica a finestre