Pasquale FOGGIA | SISTEMI OPERATIVI
Pasquale FOGGIA SISTEMI OPERATIVI
cod. 0612700030
SISTEMI OPERATIVI
0612700030 | |
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA | |
CORSO DI LAUREA | |
INGEGNERIA INFORMATICA | |
2020/2021 |
OBBLIGATORIO | |
ANNO CORSO 2 | |
ANNO ORDINAMENTO 2017 | |
PRIMO SEMESTRE |
SSD | CFU | ORE | ATTIVITÀ | |
---|---|---|---|---|
ING-INF/05 | 3 | 24 | LEZIONE | |
ING-INF/05 | 3 | 24 | ESERCITAZIONE |
Obiettivi | |
---|---|
L’insegnamento mira all’acquisizione di competenze relative all’organizzazione, funzionamento e gestione delle risorse (CPU, memoria e dispositivi) di un elaboratore elettronico. In particolare, verranno acquisite competenze sull’architettura di un sistema operativo, sulle principali funzioni svolte, sulle problematiche (politiche e meccanismi) per la progettazione di un sistema operativo e su come tali aspetti sono implementati nei sistemi operativi moderni unitamente ad aspetti legati al supporto fornito dal sistema per l’allocazione della memoria e per la comunicazione e la sincronizzazione dei processi. Conoscenze e comprensione Conoscenze delle funzioni svolte da un sistema operativo moderno, con particolare riferimento alla gestione dei processi, della memoria, delle periferiche e dei file, e comprensione delle tecniche di base di implementazione di tali funzioni (algoritmi di scheduling, allocazione della memoria, page replacement e file system) ed interprocess communication. Applicazione delle conoscenze e della comprensione Comprendere cosa succede all’interno di un elaboratore durante l’esecuzione dei programmi, saper usare le system call di un sistema operativo per la sincronizzazione dei processi e la gestione della memoria. Capacità di sviluppare semplici script di shell. |
Prerequisiti | |
---|---|
L’insegnamento richiede la propedeuticità dell’insegnamento di Fondamenti di Programmazione. Per il proficuo raggiungimento degli obiettivi prefissati sono richieste le conoscenze acquisite nell’ambito dell’insegnamento di Calcolatori Elettronici. |
Contenuti | |
---|---|
Introduzione (Lez/Ese/Lab: 2/0/0 h) Introduzione storica all'evoluzione dei sistemi operativi. Le principali famiglie di sistemi operativi attuali. Introduzione alla famiglia Unix. Il modello a strati del sistema operativo. Il nucleo e la gestione dei processi (Lez/Ese/Lab: 8/0/6 h) Il concetto di processo e la multiprogrammazione. Stati di un processo. Scheduling. Priorità. Gestione dei processi in modalità batch, time-sharing e real time. La gestione dei processi in Unix. I thread. La sincronizzazione: mutex, semafori e variabili condition. Il deadlock. La gestione della memoria (Lez/Ese/Lab: 6/0/4 h) I problemi nella gestione della memoria: rilocazione, protezione dei processi. Swapping. Caricamento dinamico. Il modello della memoria in un processo Unix. La memoria virtuale. La MMU. Paging. L'input/output e la gestione dei file (Lez/Ese/Lab: 8/0/6 h) Astrazione e virtualizzazione delle periferiche. I driver. Caricamento dinamico dei driver. Il file system. Partizioni e volumi. Sistemi RAID. Allocazione dello spazio su disco. Gestione dei file. Gestione delle directory. Journaling. Controllo di accesso: permessi e ACL. File system di rete. Esempi di file systems disponibili nei sistemi Unix. I permessi dei file sotto Unix. L'interfaccia utente e l'interprete dei comandi (shell) (Lez/Ese/Lab: 4/0/4 h) Caratteristiche generali di una shell. La shell bash. Accesso remoto e SSH. Script di shell. Variabili di ambiente. Path. Comandi per la gestione dei file. Redirezione dell'I/O. Strutture di controllo (selezione e iterazione). Pipes e processi in background. Comandi per la gestione dei processi e dei job. Il comando find. Le espressioni regolari e i comandi grep e sed. TOTALE Lez/Ese/Lab: 28/0/20 |
Metodi Didattici | |
---|---|
L’insegnamento contempla lezioni teoriche ed esercitazioni di laboratorio. Nelle esercitazioni di laboratorio agli studenti è richiesta la scrittura di programmi in C e nel linguaggio della shell bash utilizzando il sistema operativo Linux. La frequenza delle lezioni è obbligatoria. Per accedere all'esame finale, lo studente deve aver frequentato almeno il 70% delle ore di didattica frontale. |
Verifica dell'apprendimento | |
---|---|
L’esame prevede lo svolgimento di una prova scritta ed una orale, valutate in 30-esimi. Per accedere all’orale occorre superare la prova scritta con un voto minimo di 18/30. Durante lo svolgimento del corso è prevista una prova scritta parziale (prova in itinere), esonerativa di una parte della prova scritta. La prova scritta è tesa a valutare la comprensione dei principali meccanismi per la gestione dei processi, la gestione della memoria e la gestione dei file, nonché la capacità di scrivere semplici programmi in C che usano le system call per la gestione dei processi, e di scrivere script per la shell bash. La prova orale e tesa a valutare il livello delle conoscenze teoriche, l’autonomia di analisi e giudizio, nonche le capacita espositive dell’allievo. Il livello di valutazione minimo (18) è attribuito quando l’allievo ha una conoscenza frammentaria dei contenuti teorici e mostra una limitata capacità di applicare le conoscenze acquisite. Il livello di valutazione massimo (30) è attribuito quando l’allievo dimostra una conoscenza completa degli aspetti teorici e una notevole capacità di applicare le conoscenze per risolvere problemi simili a quelli presentati nel corso. La lode è attribuita quando l’allievo dimostra una conoscenza completa ed approfondita degli aspetti teorici, una notevole proprietà di linguaggio e una notevole capacità di elaborazione autonoma nell’applicare le conoscenze acquisite anche in contesti diversi da quelli proposti durante il corso. |
Testi | |
---|---|
*Silberschatz, Galvin, Gagne: “Sistemi operativi: Concetti ed esempi”, decima edizione, Addison-Wesley. *Materiale supplementare (dispense, tutorial) verrà fornito dai docenti durante lo svolgimento del corso |
Altre Informazioni | |
---|---|
Il corso è tenuto in italiano. |
BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2022-05-23]