Salta al contenuto principale
CODICE 104746
ANNO ACCADEMICO 2024/2025
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
LINGUA Italiano
SEDE
  • GENOVA
PERIODO 2° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

Il corso fornisce un'introduzione alla struttura e all'organizzazione dei sistemi operativi moderni.

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

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.

PREREQUISITI

Programmazione e familiarità con il linguaggio C; Architettura e funzionamento dei calcolatori

MODALITA' DIDATTICHE

L’attività didattica sarà realizzata con lezioni frontali accompagnate dallo svolgimento di problemi e di esercitazioni pratiche al calcolatore.
Agli studenti verrà dato accesso alla slides utilizzate durante le lezioni ed esercizi d’esame proposti in passato.

PROGRAMMA/CONTENUTO

  1. Introduzione alla struttura dei sistemi operativi. Concetti base, struttura monolitica e a microkernel. 
  2. La gestione dei processi e dei thread. Creazione e gestione processi. I thread e loro implementazione. 
  3. 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.
  4. Deadlock e Starvation. Approcci alla gestione dei deadlock: Detection, Prevention e Avoidance. I grafi di allocazione delle risorse. Il problema dei Dining Philosophers.
  5. La gestione della memoria. Memoria fisica e memoria virtuale. Gestione paginata e sue problematiche di implementazione. Gestione segmentata.
  6. Scheduling uniprocessore. Scheduling a lungo, medio e breve termine. Algoritmi di scheduling: FCFC, Round Robin, SPN, SRT, HRRN, Feedback.
  7. La gestione dell’input-output. Interazione CPU-dispositivi-memoria. Architettura DMA. Schedulazione dei dischi. 
  8. Il file system. Struttura e attributi di file e directory. Metodi di implementazione e ottimizzazione dei file system. 
  9. Controllo degli Accessi.  Modelli, politiche e meccanismi per il controllo degli accessi. Controllo degli Accessi in Linux (ACL in Unix)

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

Commissione d'esame

ALESSANDRO ARMANDO (Presidente)

PIERPAOLO BAGLIETTO

MASSIMO MARESCA (Presidente Supplente)

LEZIONI

Orari delle lezioni

SISTEMI OPERATIVI

ESAMI

MODALITA' D'ESAME

Esame scritto basato su domande a risposta aperta. 

MODALITA' DI ACCERTAMENTO

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.

Gli studenti con certificazione di Disturbi Specifici dell'Apprendimento (DSA), disabilità o altri bisogni educativi speciali devono contattare il docente all'inizio del corso per concordare modalità di insegnamento e di esame che, nel rispetto degli obiettivi del corso, tengano conto degli stili di apprendimento e delle esigenze individuali. prevedere adeguati strumenti compensativi. Si ricorda che la richiesta di misure compensative/dispensative per gli esami deve essere indirizzata al docente del corso, al rappresentante della Scuola e all'ufficio “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” (dsa@unige.it<e-mail:dsa@unige.it>) almeno 10 giorni lavorativi prima della prova, come da linee guida disponibili al link: https://unige.it/disabilita-ds

Calendario appelli

Data appello Orario Luogo Tipologia Note
14/01/2025 11:00 GENOVA Scritto E3
10/02/2025 11:00 GENOVA Scritto
10/06/2025 15:00 GENOVA Scritto
09/07/2025 11:00 GENOVA Scritto
08/09/2025 16:00 GENOVA Scritto

Agenda 2030

Agenda 2030
Istruzione di qualità
Istruzione di qualità
Parità di genere
Parità di genere
Lavoro dignitoso e crescita economica
Lavoro dignitoso e crescita economica
Imprese, innovazione e infrastrutture
Imprese, innovazione e infrastrutture