Operating System and Networks (SUISS 2014-15)

Comunicazioni 

Accertamento di Recupero: Venerdì 10 Aprile, ore 10:00, aula 207.
Esame Finale: Giovedì 16 Aprile.

 

Materiale didattico utilizzato durante le Lezioni   (vai a Esercitazioni)

Parte I: Sistemi Operativi

Testo di riferimento: A. Tanenbaum. I moderni Sistemi Operativi.

  1. Slide 01 (Introduzione)
  2. Slide 02 (Gestione del processore)
  3. Slide 03 (Processi e threads)
  4. Slide 04 (Gestione del processore, threads)
  5. Slide 05 (Meccanismi di IPC)
  6. Slide 06 (Memoria Virtuale)
  7. Slide 07 (Devices) [solo lettura]
  8. Slide 08 (File System)

Cap. 1: Tutto
Cap. 2:  2.1, 2.2.1, 2.3, 2.4.
Cap. 3: 3.1 e 3.3
Cap. 4: 4.1, 4.3
Cap. 5: 5.4, 5.5 [solo lettura]
Cap. 6: 6.1, 6.2, 6.3, 6.4

Parte II: Reti

Testo di riferimento:  Kurose-Ross, Reti di Calcolatori e Internet

  1. Slide 01 (Introduzione)
  2. Slide 02 (Livello applicazioni)
  3. Slide 03 (Livello di trasporto)
  4. Slide 04 (Livello di Rete)  [solo lettura – vedere slide 35]

Cap. 1: Tutto
Cap. 2: 2.1, 2.2, 2.4, 2.5 (leggere 2.7, 2.8)
Cap. 3: Tutto
Cap. 4: 4.1, 4.2, 4.4, 4.5, 4.6 [solo lettura]

 

Sommario delle lezioni

  • 12/01/2015 (2 ore – lezione), Introduzione al corso, obiettivi di un S.O.
  • 13/01/2015 (3 ore – lezione), Livelli di astrazione, interpreti e compilatori, architettura dei S.O. (monolitica, micro-kernel), kernel, system calls.
  • 14/01/2015 (2 ore – lezione), Interruzioni, ciclo di fetch-execute.
  • 19/01/2015 (2 ore – lezione), Processi e loro ciclo di vita. Esercizio: realizzazione di un buffer FIFO.
  • 20/01/2015 (3 ore – lezione), Schedulazione a basso livello, context switch,  IPC (send-recv e implementazione). Esercizio: necessità della mutua esclusione nell’implementazione di processi concorrenti a memoria condivisa.
  • 21/01/2015 (2 ore – lezione), PCB, tabella dei processi, implementazione dello scheduler, thread (introduzione).
  • 26/01/2015 (2 ore – lezione), Threads.
  • 27/01/2015 (3 ore – lezione), IPC: message-passing e shared-memory.
  • 28/01/2015 (2 ore – esercitazione), Sistema Operativo Linux ed esercitazione su Shell Linux.
  • 02/02/2015 (2 ore – lezione),  Primitive message passing punto a punto e collettive, bloccanti e non bloccanti. Mutua esclusione. Implementazione della lock. Deadlock.
  • 03/02/2015 (3 ore – lezione), File System.
  • 04/02/2015 (2 ore – esercitazione), Amministrazione di sistema da terminale Linux.
  • 09/02/2015 (2 ore – lezione), File System    [prof. Tordini].
  • 10/02/2015 (3 ore – lezione), Memoria Virtuale.
  • 11/02/2015 (2 ore – esercitazione), Compilazione, linking e librerie.
  • 16/02/2015 (2 ore – lezione), Reti – introduzione.
  • 17/02/2015 (3 ore – esercitazione) Chiamate di sistema.
  • 18/02/2015 (2 ore – esercitazione) Esercitazione sulle chiamate di sistema.
  • 23/02/2015 (2 ore – verifica intermedia)
  • 24/02/2015 (3 ore – esercitazione) Comunicazione tra processi e Socket.
  • 25/02/2015 (2 ore – esercitazione) Esercitazione sui Socket.
  • 02/03/2015 (2 ore – lezione) Reti: ISP, livelli ISO/OSI, livelli TCP/IP
  • 03/03/2015 (3 ore – lezione) Livello delle Applicazioni
  • 04/03/2015 (2 ore – lezione) Correzione verifica intermedia, HTTP.
  • 10/03/2015 (3 ore – lezione)
  • 11/03/2015 (2 ore – esercitazione) Esercizio con i socket; DNS.
  • 16/03/2015 (2 ore – lezione) Livello di Trasporto; UDP; principi trasferimento affidabile    [prof. Tordini].
  • 17/03/2015 (3 ore – lezione) Livello di Trasporto; principi trasferimento affidabile; TCP    [prof. Tordini].
  • 18/03/2015 (2 ore – lezione) Livello di Trasporto; controllo congestione    [prof. Tordini].
  • 23/03/2015 (2 ore – esercitazione) Discussione esempio codice socket.

 Materiale didattico utilizzato durante le Esercitazioni

(Esercitatore: Fabio Tordini)

Le slide utilizzate durante le lezioni di esercitazione contengono link a risorse utili per l’approfondimento degli argomenti esposti. Per qualsiasi domanda o chiarimento contattatemi via email (tordini [at] di.unito.it).

  1. Il Sistema Operativo Linux  (slide)
  2. Compilatore, Linker e Librerie (slide)
  3. System Calls (slide[aggiornate]
  4. Socket (slide)

Risorse Utili

  • Shell Linux
    Prontuario Comandi Bash (pdf)
    Linux Bash Cheat Sheet (pdf)
  • Programmazione in C
    Introduzione a C (pdf) [eng]
    C Tutorial (link) [web]
  • Compiler, Linker e Librerie
    Codice sorgente di esempio (zip)
  • System Call
    Linux System Calls – Quick reference (pdf)
    Esempi (zip)
  • Socket
    Esempi (zip)
    Esercitazione (pdf)
    Codice Esercitazione – PingPong TCP (zip)