CODICE 104746 ANNO ACCADEMICO 2021/2022 CFU 6 cfu anno 2 INGEGNERIA INFORMATICA 8719 (L-8) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05 LINGUA Italiano SEDE GENOVA PERIODO 2° Semestre MATERIALE DIDATTICO AULAWEB OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Struttura dei sistemi operativi, le funzioni dei moduli in cui sono organizzati, gli algoritmi e le strutture software che utilizzano. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Il corso fornisce lo studente gli strumenti tecnici e metodologici per comprendere e descrivere caratteristiche, funzioni e interazioni delle principali componenti dei sistemi operativi moderni. PREREQUISITI Programmazione e familiarità con il linguaggio C; architettura e funzionamento dei calcolatori MODALITA' DIDATTICHE Le lezioni frontali saranno accompagnate da esercitazioni pratiche al calcolatore. PROGRAMMA/CONTENUTO 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, setuid) TESTI/BIBLIOGRAFIA Slides utilizzate a lezione verranno messe a disposizione degli studenti Operating Systems: Internals and Design Principles. 8th edition di W. Stallings, Pearson DOCENTI E COMMISSIONI ALESSANDRO ARMANDO Ricevimento: - su appuntamento da concordare preventivamente col docente inviando e-mail all'indirizzo alessandro.armando@unige.it Commissione d'esame ALESSANDRO ARMANDO (Presidente) PIERPAOLO BAGLIETTO ALESSIO MERLO MASSIMO MARESCA (Presidente Supplente) LEZIONI INIZIO LEZIONI https://corsi.unige.it/8719/p/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L'esame consisterà in una prova scritta. Calendario appelli Data appello Orario Luogo Tipologia Note 12/01/2022 11:00 GENOVA Scritto 09/02/2022 11:00 GENOVA Scritto 13/06/2022 11:00 GENOVA Scritto 13/07/2022 11:00 GENOVA Scritto 12/09/2022 11:00 GENOVA Scritto