- Reti e Sistemi Operativi (blended)
- Introduzione
Syllabus del corso
Obiettivi
Alla fine del corso lo studente conoscerà e saprà usare le principali astrazioni e i principali servizi offerti dai moderni sistemi operativi, ed avrà acquisito conoscenze di base relative alle architetture ed alle tecniche implementative dei moderni sistemi operativi. Inoltre, avrà acquisito le conoscenze fondamentali per comprendere l’architettura e i protocolli principali delle reti di telecomunicazioni basate sullo stack TCP/IP.
Contenuti sintetici
Introduzione ai sistemi operativi, Processi e thread, Scheduling della CPU, Gestione della memoria - memoria centrale, Gestione della memoria - memoria virtuale, File system, Introduzione alle Reti e a Internet, Strato di Applicazione, Strato di Trasporto, Strato di Rete - Piano dei Dati, Strato di Rete - Piano di Controllo, Strato di Collegamento e Reti Locali.
Programma esteso
Sistemi operativi
1: Introduzione ai sistemi operativi:
- Struttura dei sistemi operativi
- Servizi dei sistemi operativi
- Chiamate di sistema
2: Processi e thread:
- Processi e loro gestione
- Comunicazione fra processi
- Thread e programmazione multithreading
3: Scheduling della CPU:
- Principali algoritmi di scheduling della CPU (in ordine di arrivo, per brevità, round-robin, con priorità)
- Code multilivello con retroazione
4: Gestione della memoria - memoria centrale:
- Allocazione contigua
- Paginazione
- Swapping
5: Gestione della memoria - memoria virtuale:
- Memoria virtuale
- Grado di multiprogrammazione
- Allocazione e sostituzione pagine
- Thrashing
6: File system:
- File e attributi
- Modelli di organizzazione del file system
- Organizzazione della memoria secondaria
Reti
7: Introduzione alle Reti di Calcolatori e Internet:
- Architettura delle reti
- Definizione di protocollo
- La commutazione di pacchetto
- Architettura a strati e incapsulamento
8: Strato di Applicazione:
- Domain Name System (DNS)
9: Strato di Trasporto:
- Protocollo UDP
- Principi del trasferimento dati affidabile (Stop-and-Wait, Go-Back-N, Selective Repeat)
- Protocollo TCP
10: Strato di Rete - Piano dei Dati:
- Architettura di un Router
- Protocollo IPv4 e Indirizzamento IPv4
- Network Address Translation (NAT)
11: Strato di Rete - Piano di Controllo:
- Algoritmi di Instradamento (Link State, Distance Vector)
- Instradamento Interno ai Sistemi Autonomi (OSPF)
- Instradamento tra Sistemi Autonomi (BGP)
- Internet Control Message Protocol (ICMP)
12: Strato di Collegamento e Reti Locali:
- Servizi offerti
- Protocolli di Accesso Multiplo (Protocolli ad Accesso Casuale, Protocolli a Rotazione)
- Architettura di uno Switch
- Protocollo Ethernet
- Indirizzi a Livello di Collegamento e Address Resolution Protocol (ARP)
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.
Materiale didattico
A. Silberschatz, P. Galvin, G. Gagne, "Sistemi Operativi - concetti ed esempi", 10ma Edizione, Pearson, ISBN: 978-88-9190-455-3
J. Kurose, K. Ross, "Reti di Calcolatori e Internet", 8va Edizione, Pearson, ISBN: 978-88-9191-600-6
Slides delle lezioni, esercizi ed altri materiali disponibili 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. È 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.
Orario di ricevimento
Prof. Braione: su appuntamento via email.
Prof. Savi: su appuntamento via email.
Aims
The student shall learn what are the main abstractions and services that a modern operating system offers, how to use them, and the basic concepts about the architectures and implementation strategies of modern operating systems. Moreover, the student will acquire knowledge about the fundamental architecture and protocols of TCP/IP telecommunication networks.
Contents
Introduction to operating systems, Processes and threads, CPU scheduling, Memory management - main memory, Memory management - virtual memory, File system, Introduction to Networks and the Internet, Application Layer, Transport Layer, Network Layer - Data Plane, Network Layer - Control Plane, Link Layer and Local Area Networks.
Detailed program
Operating Systems
1: Introduction to operating systems:
- Structure of operating systems
- Services offered by operating systems
- System calls
2: Processes and threads:
- Processes and their management
- Interprocess communication
- Threads and multithreading programming
3: CPU scheduling:
- Main CPU scheduling algorithms (first-come first-served, shortest job first, round-robin, priority)
- Multilevel queues with feedback
4: Memory management - main memory:
- Contiguous allocation
- Paging
- Swapping
5: Memory management - virtual memory:
- Virtual memory
- Degree of multiprogramming
- Page allocation and substitution
- Thrashing
6: File system:
- Files and attributes
- File system structure and organization models
- Secondary storage organization
Networks
7: Introduction to Computer Networks and the Internet:
- Network architecture
- Definition of protocol
- Packet switching
- Layered architecture and encapsulation
8: Application Layer:
- Domain Name System (DNS)
9: Transport Layer:
- UDP protocol
- Principles of reliable data transfer (Stop-and-Wait, Go-Back-N, Selective Repeat)
- TCP protocol
10: Network Layer - Data Plane:
- Router architecture
- IPv4 protocol and IPv4 addressing
- Network Address Translation (NAT)
11: Network Layer - Control Plane:
- Routing algorithms (Link State, Distance Vector)
- Interior Gateway Routing Protocols (OSPF)
- Border Gateway Protocol (BGP)
- Internet Control Message Protocol (ICMP)
12: Link Layer and Local Networks:
- Offered services
- Multiple Access Protocols (Random Access Protocols, Taking-Turns Protocols)
- Switch architecture
- Ethernet protocol
- Link Layer addresing and Address Resolution Protocol (ARP)
Prerequisites
The fundamental concepts 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.
Textbook and teaching resource
A. Silberschatz, P. Galvin, G. Gagne, "Sistemi Operativi - concetti ed esempi", 10th Edition, Pearson, ISBN: 978-88-9190-455-3 (also available in English, entitled "Operating Systems Concepts", 10th Edition)
J. Kurose, K. Ross, "Reti di Calcolatori e Internet", 8va Edizione, Pearson, ISBN: 978-88-9191-600-6 (also available in English, entitled “Computer Networking: A Top-Down Approach”, 8th Edition)
Slides of lessons, exercises and other material will be available on-line
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 exam session, provided that the other test has been positively passed. 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, requiring a reasoned argument on one of the course topics.
Office hours
Prof. Braione: by appointment via email.
Prof. Savi: by appointment via email.
Scheda del corso
Staff
-
Pietro Braione
-
Jacopo Maltagliati
-
Samuele Redaelli
-
Marco Savi