Contenuti del Corso
Un sistema operativo agisce come un intermediario tra l'utente e l'hardware del computer. Lo scopo di un sistema operativo è di fornire un ambiente in cui un utente può eseguire programmi in modo conveniente ed efficiente .
Un sistema operativo è software che gestisce l'hardware del computer. L'hardware fornisce meccanismi appropriati per garantire il corretto funzionamento del computer e per evitare che i programmi degli utenti interferiscano tra di loro e con il sistema.
Internamente i sistemi operativi possono variare notevolmente, essendo progettati secondo differenti linee di sviluppo. Il disegno di un nuovo sistema operativo richiede un lavoro notevole. E' importante che gli obiettivi del sistema siano ben definiti prima di iniziarne la progettazione. Questi obiettivi, infatti, costituiscono la base per scegliere tra vari algoritmi e strategie di progetto. Poichè un sistema operativo è grande e complesso, deve essere creato "a pezzi". Ciascuno di questi pezzi dovrebbe rappresentare una porzione del sistema ben definita, con input, output e funzionalità specificati con attenzione.
Il corso descrive i concetti sottostanti alla progettazione ed all'implementazione dei sistemi operativi moderni. Contestualmente, presenta le scelte progettuali effettuate nella realizzazione di alcuni dei piu' diffusi sistemi operativi (e.g., sistemi Unix-like, famiglia dei sistemi Windows, MacOS X).