Course Syllabus
Obiettivi
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 sintetici
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
Prerequisiti
Conoscenze
informatiche acquiste nei corsi di Architettura degli Elaboratori, Programmazione
1 e Programmazione 2
Modalità didattica
Lezioni in aula. Esercitazioni in e-learning mediante esercizi, test di autovalutazione e tutoraggio on-line
Il corso verrà erogato in lingua italiana, eccetto che per i termini inglesi che saranno in inglese
Nel periodo di emergenza Covid-19 la modalità di erogazione dell'insegnamento viene modificata. Lezioni ed esercitazioni saranno erogati da remoto asincrono con videoregistrazioni e con eventi in videoconferenza sincrona.
Materiale didattico
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
Periodo di erogazione dell'insegnamento
Secondo anno, primo semestre
Modalità di verifica del profitto e valutazione
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.
La seguente tabella riporta la composizione delle prove d'esame, con la ripartizione delle domande nelle due parti del corso (Reti e Sistemi Operativi)
Prova |
Domande chiuse di Reti |
Domande chiuse di SO |
Domande aperte di Reti |
Domande aperte di SO |
I in itinere |
8 |
6 |
- |
- |
II in itinere |
5 |
7 |
1 |
1 |
Esame completo |
8 |
8 |
1 |
1 |
Orario di ricevimento
martedì 12:30-14:30, chiedere conferma via email
Aims
In
the course the student shall learn the basic architectural elements and
technical components of a modern Operating System, as well as the architecture
and protocols employed in a TCP/IP network, up to the transport layer. The
student will be able to understand and develop simple software functions which
can be part of an Operating System kernel
Contents
Architecture
of an Operating System, Threads and Processes, Scheduling and Synchronization,
Memory Hierarchy, Virtual Memory, Transport Layer, Network Layer, LAN, Wireless
LAN, Physical Layer basics
Detailed program
1 "Architecture of an Operating System:
- functions of the Operating System
- structure of the Operating System
- system calls"
2 "Processes and Threads:
- processes and their management
- interprocess communication
- threads and multithreading programming"
3 "Scheduling and Synchronization:
- CPU scheduling algorithms
- critical sections and synchronization
- semaphores and synchronization problems"
4 "Memory Hierarchy and Virtual Memory:
- memory hierarchy
- main memory
- memoria virtuale"
5 "File System:
- file concept and attributes
- file system structure and implementation
- mass storage structure"
6 "Transport layer:
- functions of the transport layer
- UDP
- TCP
- congestion control"
7 "Network layer:
- functions of the network layer
- IP addressing
- routing algorithms"
8 " LAN, Wireless LAN, physical layer basics:
- link layer functions
- CSMA/CD and Ethernet LANs
- radio communication issues
- 802.11 WLAN"
Prerequisites
The
fundamental concepts of Computer Science as taught in the following courses: Computer
Architecture, Programming 1 and Programming 2
Teaching form
Classroom lectures, e-learning exercises and self-assessments and on-line tutoring
The course will be held in italian, except for the terms in english, which will be in english
During the Covid-19 emergency period, the teaching form is changed. Lectures and exercises will be mostly delivered remotely with video recordings and with live videoconferencing events.
Textbook and teaching resource
A.Silberschatz, P.Galvin, G.Gagne "Sistemi Operativi - concetti ed esempi" 10/Ed, Pearson, ISBN: 978-88-9190-455-3
J.Kurose, K.Ross "Reti di Calcolatori e Internet" VII Edizione, Pearson, ISBN: 978-88-9190-254-2
On-line lessons and other material
Semester
Second year, first semester
Assessment method
The assessment consists in a written test, with the possibility of partial intermediate tests (in itinere).
There are two in itinere tests and are held in the middle and at the end of the course. It is necessary to pass both of them to pass the exam. In the event that one of the two in itinere tests has not been passed or has not been sustained, it is possible to recover it in the first session of examination, provided that the other test has been positively overcome. Passing only one of the two in itinere tests does not give rise to any bonus for the subsequent full examination tests.
The tests include both multiple choice questions and open-ended questions, in which a reasoned argument is asked concerning one of the course topics. Open-ended questions are only assessed if the student has correctly answered at least 50% of the multiple choice questions. Only the second of the ongoing tests includes open-ended questions.
The following table shows the composition of the exams, with the division of the questions in the two parts of the course (Networks and Operating Systems)
Test |
Multiple choice (Networks) |
Multiple choice (OS) |
Open (Networks) |
Open (OS) |
I in itinere |
8 |
6 |
- |
- |
II in itinere |
5 |
7 |
1 |
1 |
Full exam |
8 |
8 |
1 |
1 |
Office hours
tuesday12:30-14:30, ask for email confirmation
Key information
Staff
-
Pietro Braione
-
Stefano Pinardi
-
Samuele Redaelli