RETI E SISTEMI OPERATIVI Canale unico
Docente coordinatore e verbalizzante: ROBERTO BERALDI
Docenti
Obiettivi formativi
OBIETTIVI GENERALI
Il corso si propone di fornire le conoscenze essenziali per comprendere il funzionamento di un sistema operativo e quindi alla possiblità di sfruttare e controllare il sottostante sistema di elaborazione in diversi contesti. Vengono inoltre analizzati la programmazione concorrente e la elaborazione in rete, sia come requisito, sia come opportunità per il conseguimento di elevate prestazioni.
Alla fine del corso lo studente sarà in grado di utilizzare in modo consapevole il sistema di elaborazione, sfruttando al meglio le risorse a sua disposizione, sapendo individuare ed eventualmente risolvere i colli di bottiglia che limitano le prestazioni.
OBIETTIVI SPECIFICI
CONOSCENZA E COMPRENSIONE.
Il corso si propone di fornire allo studente la conoscenza e la comprensione del sistema operativo, e delle possibilità di sfruttamento del sistema di elaborazione, delle opportunità offerte dalla elaborazione concorrente e in rete. Ulteriori importanti competenze che vengono acquisite riguardano i principali protocolli di rete, e la conoscenza pratica dell’ambiente Linux.
CAPACITÀ DI APPLICARE LE CONOSCENZE.
Grazie al corso lo studente sarà in grado di controllare il sistema di elaborazione attraverso le tecniche di programmazione di sistema, ideare soluzioni per lo sfuttamento di architetture di calcolo ad alte prestazioni, comprendere ed utilizzare architetture e protocolli di rete per obiettivi applicativi. Le tecniche di ottimizzazione e di gestione delle risorse costituiscono un importante patrimonio di conoscenze sfruttabili all’interno di applicazioni informatiche.
AUTONOMIA DI GIUDIZIO.
Il project work ha l’obiettivo di sollecitare lo studente a studiare soluzioni originali per la varietà di problemi che si presentano nei sistemi di elaborazione che accedono alle molteplici risorse disponibili sulla rete.
ABILITÀ DI COMUNICAZIONE.
La discussione del project work richiede di difendere le scelte effettuate in occasione della discussione richiesta come prova di esame sulla parte “Reti”.
CAPACITÀ DI APPRENDERE.
Il corso fornisce sia conoscenze di base (strategie di gestione delle risorse, “pattern” di problemi di concorrenza), sia conoscenza pratica delle problematiche e dei componenti principali dei sistemi operativi. Basandosi su tali competenze, lo studente sarà in grado di assimilare autonomamente le specifiche funzionalità per la concorrenza e della programmazione in rete nei più svariati ambienti di programmazione.
Risultati di apprendimento attesi
conoscenza funzionamento di un sistema opearativo
conoscenza del funzionamento di una rete dati
Prerequisiti
nessuno prerequisito
Programma dell’insegnamento
Parte I: Introduzione
Concetti di base
Storia dei sistemi operativi
Relazione tra macchina fisica (HW) e sistemi operativi
Struttura dei sistemi operativi
Parte II: Gestione dei Processi
Processi
CPU Scheduling
Threads
Parte III: Sincronizzazione tra Processi/Thread
Strumenti per la Sincronizzazione
Esempi di Sincronizzazione
Deadlock
Parte IV: Gestione della Memoria
Memoria Principale (RAM)
Memoria Virtuale
Parte V: Gestione dei Sistemi di I/O
Dispositivi di Memoria di Massa
Sistemi di I/O
Testi di riferimento
[S1] Silberschatz, Calvin, Gagne. Operating Systems Concepts, tenth edition. (LIBRO PRINCIPALE)
[R1] Kurose, James F., and Keith W. Ross. "Computer networking: A top-down approach Eight edition." Pearson (2021);
[S2] John L. Hennessy, David A. Patterson -Computer Organization and Design RISC-V Edition.
Modalità di svolgimento
la didattica si svolge in aula ed e' richiesta la presenza
Frequenza
la didattica si svolge in aula ed e' richiesta la presenza
Modalità di esame
prova pratica ed orale
Esempi di domande
cosa sono gli interrupt vettorizzati?
Come funziona HTTP?
- Anno accademico/1
- Codice insegnamento1035355
- CurriculumInformatica (percorso valido per il conseguimento del doppio titolo italo-venezuelano)
- Anno e semestre3º anno - 2º semestre
- TipologiaAttività formative affini ed integrative
- AmbitoAttività formative affini o integrative
- SSDING-INF/05
- Presenza obbligatoriaNo
- Linguaita
- CFU9 CFU
- Durata complessiva90 ore
- Distribuzione delle ore54 classroom hours, 36 training hours