CODICE | 104746 |
---|---|
ANNO ACCADEMICO | 2022/2023 |
CFU |
|
SETTORE SCIENTIFICO DISCIPLINARE | ING-INF/05 |
LINGUA | Italiano |
SEDE |
|
PERIODO | 2° Semestre |
MATERIALE DIDATTICO | AULAWEB |
Struttura dei sistemi operativi, le funzioni dei moduli in cui sono organizzati, gli algoritmi e le strutture software che utilizzano.
L’insegnamento fornisce agli studenti le nozioni fondamentali relative alla struttura dei sistemi operativi. L’insegnamento fornisce altresì allo studente gli strumenti tecnici e metodologici per comprendere, analizzare criticamente e descrivere caratteristiche, funzioni e interazioni delle principali componenti dei sistemi operativi moderni. Al termine dell’insegnamento gli studenti sapranno inoltre utilizzare l’interfaccia a linea di comando del sistema operativo Linux e scrivere semplici programmi (script) per l’automazione delle attività di gestione del sistema operativo.
Programmazione e familiarità con il linguaggio C; Architettura e funzionamento dei calcolatori
L’attività didattica sarà realizzata con lezioni frontali accompagnate dallo svolgimento di problemi e di esercitazioni pratiche al calcolatore.
Agli studenti lavoratori verrà dato accesso alla slides utilizzate durante le lezioni, esercizi d’esame proposti in passato e registrazioni delle lezioni.
Introduzione alla struttura dei sistemi operativi. Concetti base, struttura monolitica e a microkernel.
La gestione dei processi e dei thread. Creazione e gestione processi. I thread e loro implementazione.
La comunicazione fra processi (signal, pipe, socket, shared memory, ...). Mutua esclusione e sincronizzazione. L’algoritmo di Dekker, l’algoritmo di Peterson. Supporto hardware alla mutua esclusione. Il problema del Produttore e del Consumatore. I semafori. I monitor. Message Passing. Il problema dei Lettori e dei Consumatori.
Deadlock e Starvation. Approcci alla gestione dei deadlock: Detection, Prevention e Avoidance. I grafi di allocazione delle risorse. Il problema dei Dining Philosophers.
La gestione della memoria. Memoria fisica e memoria virtuale. Gestione paginata e sue problematiche di implementazione. Gestione segmentata.
Scheduling uniprocessore. Scheduling a lungo, medio e breve termine. Algoritmi di scheduling: FCFC, Round Robin, SPN, SRT, HRRN, Feedback.
La gestione dell’input-output. Interazione CPU-dispositivi-memoria. Architettura DMA. Schedulazione dei dischi.
Il file system. Struttura e attributi di file e directory. Metodi di implementazione e ottimizzazione dei file system.
Controllo degli Accessi. Modelli, politiche e meccanismi per il controllo degli accessi. Controllo degli Accessi in Linux (ACL in Unix)
Operating Systems: Internals and Design Principles. 8th edition di W. Stallings, Pearson
ALESSANDRO ARMANDO (Presidente)
PIERPAOLO BAGLIETTO
ALESSIO MERLO
MASSIMO MARESCA (Presidente Supplente)
L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.
Esame scritto basato su domande a risposta aperta.
Agli studenti con disturbi specifici dell’apprendimento (DSA) sarà consentito l’utilizzo di specifiche modalità e supporti che saranno determinati sulla base delle specifiche esigenze dello studente in accordo con il delegato dei corsi di Ingegneria nel Comitato per l’Inclusione degli Studenti con Disabilità.
La prova scritta accerterà
la comprensione del funzionamento e dell’interdipendenza delle principali funzionalità offerte da un sistema operativo moderno,
la capacità di valutare criticamente le caratteristiche delle varie soluzioni ai problemi classici dei sistemi operativi (ad es. gestione della memoria, schedulazione, sincronizzazione dei processi),
la capacità di risolvere problemi legati alla progettazione e utilizzo dei sistemi operativi.
La prova pratica accerterà
La conoscenza dell’interfaccia a linea di comando del sistema operativo Linux
La capacità di scrivere programmi di automazione (script) delle funzionalità dei sistemi operativi.
Data | Ora | Luogo | Tipologia | Note |
---|---|---|---|---|
11/01/2023 | 11:00 | GENOVA | Scritto | |
08/02/2023 | 11:00 | GENOVA | Scritto | |
13/06/2023 | 15:00 | GENOVA | Scritto | |
12/07/2023 | 11:00 | GENOVA | Scritto | |
11/09/2023 | 11:00 | GENOVA | Scritto |