Anno di corso: 1

Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale

Anno di corso: 2

Anno di corso: 3

Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 16
Tipo: A scelta dello studente
Crediti: 4
Tipo: Lingua/Prova Finale
Crediti: 13
Tipo: Altro

RETI E SISTEMI OPERATIVI

Scheda dell'insegnamento

Anno accademico di regolamento: 
2017/2018
Anno di corso: 
2
Anno accademico di erogazione: 
2018/2019
Tipo di attività: 
Obbligatorio
Lingua: 
Italiano
Crediti: 
8
Ciclo: 
Primo Semestre
Ore di attivita' didattica: 
72
Prerequisiti: 

Conoscenze informatiche acquiste nei corsi di Architettura degli Elaboratori, Programmazione 1 e Programmazione 2

Moduli

Metodi di valutazione

Modalita' di verifica dell'apprendimento: 

La verifica dell'apprendimento comprende una prova scritta, con la possibilità di prove intermedie parziali (in itinere).

Le prove in itinere sono due e si tengono a metà ed alla fine del corso. E' necessario superarle entrambe per passare l'esame. Nel caso in cui una delle due prove in itinere non sia stata superata o non sia stata sostenuta, è possibile recuperarla nella prima sessione d'esame, purchè l'altra prova sia stata positivamente superata. Il superamento di una sola delle due prove in itinere non dà luogo ad alcun bonus per le successive prove d’esame completo

Le prove comprendono sia domande a risposta chiusa sia domande a risposta aperta, in cui viene chiesta una argomentazione ragionata relativa ad uno degli argomenti del corso. Le domande a risposta aperta vengono valutate solamente se lo studente ha risposto correttamente ad almeno il 50% delle domande a risposta chiusa. Solo la seconda delle prove in itinere prevede domande a risposta aperta.

Valutazione: 
Voto Finale

Obiettivi formativi

Alla fine del corso lo studente conoscerà gli elementi base dell'architettura e delle componenti tecniche di un sistema operativo, nonché architettura e protocolli fondamentali di una rete TCP/IP, fino al livello di trasporto. Sarà in grado di comprendere e sviluppare elementari funzioni software utilizzabili nell'ambito del kernel di un sistema operativo

Contenuti

Architettura di un sistema operativo, Processi e Thread, Scheduling e Sincronizzazione, Gerarchia di memoria e Memoria Virtuale, File System, Livello di trasporto, Livello di rete, LAN, Wireless LAN, Elementi di base del livello fisico

Programma esteso

1 Architettura di un sistema operativo:

- funzioni del sistema operativo

- struttura del sistema operativo

- chiamate di sistema

2 Processi e Thread:

- processi e loro gestione

- comunicazione fra processi

- thread e programmazione multithreading

3 Scheduling e Sincronizzazione:

- algoritmi di scheduling della CPU

- sezioni critiche e sincronizzazione

- semafori e problemi di sincronizzazione

4 Gerarchia di memoria e Memoria Virtuale:

- gerarchia di memoria

- gestione della memoria centrale e paginazione

- memoria virtuale

5 File System:

- file e relativi attributi

- modelli di organizzazione del file system

- allocazione e gestione sulla memoria secondaria

6 Livello di trasporto:

- funzioni del livello di trasporto

- trasporto UDP

- trasporto TCP

- controllo della congestione

7 Livello di rete:

- funzioni del livello di rete

- indirizzamento IP

- algoritmi di instradamento

8 LAN, Wireless LAN, Elementi di livello fisico:

- funzioni del livello di collegamento

- CSMA/CD e LAN Ethernet

- problematiche di comunicazione radio

- WLAN 802.11

Bibliografia consigliata

A.Silberschatz, P.Galvin, G.Gagne "Sistemi Operativi - concetti ed esempi" 9/Ed, Pearson, ISBN: 978-88-6518-371-7 J.Kurose, K.Ross "Reti di Calcolatori e Internet" VI Edizione, Pearson, ISBN: 978-88-7192-938-5

lezioni e altri materiali on-line

Metodi didattici

Lezioni in aula. Esercitazioni in e-learning mediante esercizi, test di autovalutazione e tutoraggio on-line