Docente
|
NANNI UMBERTO
(programma)
12 ore: Introduzione ai sistemi operativi; multiprogrammazione, time-sharing, realtime; periferiche e I/O; interruzioni e “system call”; integrazione di tecniche hardware e software; protezione.
12 ore: Architettura del S.O.: funzionalità e stratificazione; gestione delle risorse e virtualizzazione; gestione dei servizi; gestione dei processi.
12 ore: Politiche di scheduling della CPU e metriche di prestazione. Gestione della memoria centrale: tecniche fondamentali e supporto hardware; analisi delle prestazioni con il modello “working set”. Gestione della memoria secondaria: analisi delle prestazioni per unità a disco rigido.
12 ore: Programmazione concorrente: concetti fondamentali; modelli a memoria comune e a scambio di messaggi; comunicazione tra processi nei due modelli. Esempi di architetture e pattern concorrenti. Stallo: tecniche di prevenzione, individuazione e rimozione dello stallo.
12 ore: Internet. Protocolli. Aspetti strutturali della rete globale. Mezzi fisici. Ritardo e perdita nelle reti a pacchetto. Stratificazione dei protocolli e modelli di servizio. Livello applicativo. Principi. Protocolli: HTTP, FTP, Posta elettronica, accesso alla posta. Domain Name System. Subnetting e organizzazione di reti locali con VLSM.
12 ore: Programmazione di rete con TCP ed UDP. Stream. Multithreading. Programmazione di applicazioni client server in vari linguaggi di programmazione in ambiente Linux. Struttura di progetto ed esempi di project work.
Avi Silberschatz, Greg Gagne, Peter Baer Galvin. Operating System Concepts (10th ed), John Wiley & sons, 2018.
Umberto Nanni. Sistemi Operativi - Alcune tecniche per lo Stallo con due esercizi svolti, dispensa didattica, 2016
|