Sistema operativo
Transcript
Sistema operativo
Diagramma a cipolla 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: gerarchia C:\ Programmi Giochi Civ.exe Projects Tesi.doc Report.tex Config.sys Tabella.xls File system: gerarchia C:\ Programmi Giochi Projects Tesi.doc Civ.exe C:\Programmi\Giochi\Civ.exe Report.tex Config.sys Tabella.xls File system: gerarchia C:\ Programmi Giochi Civ.exe Projects Tesi.doc Report.tex Config.sys Tabella.xls 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 Internet Matematica 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 Internet Matematica 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 Internet Matematica 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 Internet Matematica 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