
Il corso intende fornire una introduzione alla struttura e alle funzioni dei moderni sistemi operativi, esaminandone le componenti fondamentali, le metodologie di progettazione, gli algoritmi e gli strumenti di base. In particolare: 1-Cos'è un sistema operativo: il suo ruolo nei sistemi di calcolo, l’evoluzione e le funzionalità dei sistemi operativi. Il funzionamento di un sistema di calcolo, e interazione con i sistemi operativi. Il supporto hardware per i sistemi operativi. I componenti e servizi dei sistemi operativi. La progettazione e la struttura dei sistemi operativi. 2-I processi: concetto e sua realizzazione. operazioni sui processi, comunicazione tra processi. I threads. Modelli di implementazione di threads. Esempi di realizzazione di processi e threads nei sistemi operativi. Scheduling dei processi. Algoritmi di scheduling: FCFS, SJF, RR, con priorità. Scheduling per sistemi in tempo reale. 3-La programmazione concorrente: il problema della sincronizzaziione e della sezio