Sistemi operativi e reti

Docente: Pietro Frasca

Comunicazioni

Risultati esame SOR prova scritta appello3 - A.A. 2013/2014

19-09-2014 19:27
  • Risultati esame SOR prova scritta appello3 - A.A. 2013-2014
  • Testo della prova scritta

 

La prova orale dell'esame di SOR appello 3 si svolgerà Martedì 23 Settembre 2014 alle ore 10:00 in aula 3A. Sosterranno l'esame gli studenti che hanno conseguito una votazione di almeno 18/30.


Risultati esame SOR prova scritta appello2 - A.A. 2013/2014

11-07-2014 15:46
  • Risultati esame SOR prova scritta appello2 - A.A. 2013-2014
  • Testo della prova scritta

 

La prova orale dell'esame di SOR appello 2 si svolgerà Martedì 15 Luglio 2014 alle ore 10:00 in aula 3A. Sosterranno l'esame gli studenti che hanno conseguito una votazione di almeno 18/30.


Risultati esame SOR prova scritta appello1 - A.A. 2013/2014

16-06-2014 17:00
  • Risultati esame SOR prova scritta appello1 - A.A. 2013-2014
  • Testo della prova scritta

 

La prova orale dell'esame di SOR appello 1 si svolgerà Martedì 17 Giugno 2014 alle ore 10:00 in aula 3A. Sosterranno l'esame gli studenti che hanno conseguito una votazione di almeno 18/30.

 


Fine corso SOR

28-05-2014 10:23

Le lezioni di SOR sono terminate il 27-05-2014.


Seconda esercitazione in laboratorio (aula 17)

19-04-2014 20:51

Martedì 22 Aprile dalle ore 14:00 alle 17:00, si svolgerà nell'aula 17 una seconda esercitazione sulla programmazione delle socket.

 


Esercitazione in laboratorio (aula 17)

03-04-2014 16:22

Martedì 8 Aprile dalle ore 14:00 alle 17:00, si svolgerà nell'aula 17 un'esercitazione sulla programmazione delle socket.


Risultati esonero SOR a.a. 2013-2014

26-02-2014 20:11
  • Risultati dell'esonero di Sistemi operativi e reti A.A. 2013-2014

 

Il secondo (e ultimo) turno della prova orale dell'esonero di SOR si svolgerà Venerdì 28 febbraio 2014 alle ore 10:00 in aula 3A. Sosterranno l'esame gli studenti che hanno conseguito una votazione di almeno 18/30.

 


Risultati esonero SOR a.a. 2013-2014 (I turno)

24-02-2014 19:15
  • Risultati dell'esonero di Sistemi operativi e reti A.A. 2013-2014

 

La prova orale per gli studenti che hanno superato la prova scritta dell'esonero si svolgerà in più turni. Il primo turno si svolgerà Martedì 25 febbraio 2014 alle ore 10:00 in aula 3A. Sosterranno il primo turno gli studenti che hanno conseguito una votazione maggiore o uguale a 18/30. Gli studenti che non hanno avuto ancora il voto sosterranno la prova orale nel giorno che sarà indicato nel prossimo avviso. 

 


Risultati esame appello 4 del 18-02-2014

20-02-2014 18:21
  • Risultati della prova scritta dell'applello 4 A.A. 2012-2013.
  • Testo della prova scritta dell'appello 4 A.A. 2012-2013.

La prova orale di Sistemi operativi e reti, Sistemi operativi con laboratorio e Reti di calcolatori relativi all'A.A. 2012-1013 si svolgerà Venerdì 21-02-2014 alle ore 10:00 nell'aula 3 del PP2.

 

I risultati della prova scritta dell'esonero di Sistemi operativi e reti A.A. 2013-2014, con le relative date di esame della prova orale saranno pubblicati nei primi giorni della prossima settimana.


Esonero Sistemi operativi e reti

14-02-2014 16:54

La prova scritta dell'esonero (esame parziale) di Sistemi operativi e reti si svolgerà il 18-02-2014 alle ore 10:00 in aula 3 del PP2. La prova orale si svolgerà a partire dal 21-02-2014. Tutte le informazioni sull'esonero sono riportate in questa pagina nella sezione "Modalità di esame".

 


Fine della prima parte di SOR

16-01-2014 12:20

La prima parte del corso è terminata il 14-01-2014.


Lezioni

4827-05-2014

CSMA/CA. RTS e CTS. Utilizzo di IEEE 802.11 come collegamento punto-punto. Formato del frame 802.11.  Esempio di progettazione LAN.

4722-05-2014

Reti wireless. Collegamenti wireless e caratteristiche di rete. Wi-Fi 802.11. Canali e associazioni.

4620-05-2014

Ethernet. Struttura del frame Ethernet. CSMA/CD di Ethernet. Efficienza di Ethernet. Tecnologie Ethernet. Hub. Switch dello strato di collegamento. Confronto tra switch e router.

4515-05-2014

Protocolli a turno. Reti LAN. Indirizzi LAN. ARP. Invio di datagram a nodi interni ed esterni alla LAN.

4413-05-2014

Tecniche di rilevazione e correzione degli errori. Controllo di parità. Controllo di parità a due dimensioni. Somma di controllo. Controllo a ridondanza ciclica. Protocolli di accesso multiplo. Protocolli a suddivisione di canale. Protocolli di accesso casuale. CSMA e CSMA/CD.

4308-05-2014

IGMP. Algoritmi di instradamento multicast (solo conclusioni). Lo strato di collegamento. Servizi offerti dallo strato di collegamento. Adattatori (schede di rete).

 

4206-05-2014

OSPF. Instradamento tra sistemi autonomi. BGP. Instradamento multicast.

 

4129-04-2014

Algoritmi di instradamento. Algoritmi di instradamento LS. Algoritmi di instradamento DV. Confronto tra LS e DV. Instradamento gerarchico. Instradamento in Internet. Instradamento intra-sistema. RIP.

 

4024-04-2014

Traduzione degli indirizzi di rete (NAT). UPnP. ICMP. IPv6. Formato del datagram IPv6. Passaggio da IPv4 a IPv6. Metodo dual-stack. Metodo del tunneling. ICMP. ICMP per IPv6.

3922-04-2014

Indirizzamento IPv4. Indirizzamento per classe. Indirizzamento CIDR. Assegnazione di indirizzi IP. Configurazione delle interfacce di rete di host e router. DHCP.

 

3817-04-2014

Strato di rete. Reti a circuito virtuale e a datagram. Il protocollo IP. Formato dei datagram IPv4. Frammentazione IP.

 

3715-04-2014

Instaurazione della connessione TCP. Controllo del flusso. Controllo della congestione TCP. AIMD. Partenza lenta. Reazione a eventi di timeout. Prevenzione della congestione. Descrizione macroscopica del throughput TCP.

 

3610-04-2014

Struttura del segmento TCP. Numeri di sequenza e numeri di riscontro.

Stima del tempo di andata e ritorno e di timeout. Intervallo di timeout per le ritrasmissioni. Trasferimento affidabile dei dati. Raddoppio del timeout. Ritrasmissione rapida.

 

3508-04-2014

Programmazione delle socket con UDP. Esempio di applicazione Client/Server con UDP in Java. Lo strato di trasporto. Multiplexing e demultiplexing. UDP. Struttura del segmento UDP. Checksum di UDP. Trasporto orientato alla connessione. TCP. La connessione TCP.

 

3403-04-2014

Reti per la distribuzione dei contenuti (CDN). Programmazione delle Socket. Programmazione delle Socket con TCP. Esempio di applicazione Client/Server con TCP in Java.

3301-04-2014

Condivisione di file P2P. Directory centralizzata. Directory decentralizzata. Query flooding. Confronto architetture C/S e P2P. Calcolo semplificato del tempo di distribuzione di un file per C/S e P2P. Distribuzione di contenuti. Server proxy. Esempio d'uso dei proxy.

 

3227-03-2014

Protocolli di accesso alla posta. POP3. IMAP. Posta elettronica con HTTP. DNS. Servizi forniti dal DNS. Funzionamento del DNS. Record DNS. Messaggi DNS.

 

3125-03-2014

Il protocollo FTP. Posta Elettronica. SMTP. Formati dei messaggi di posta e MIME. Estensioni MIME per dati non ascii. Esempi di messaggi con intestazioni MIMe. Esempi di messaggi multipart/mixed.

3020-03-2014

Formato del messaggio di risposta HTTP. Get condizionato. Interazione utente-server: i cookie. Connessione non persistente e persistente. Connessione persistente senza parallelismo e con parallelismo.

 

2918-03-2014

Livello di applicazione. I principi delle applicazioni di rete. Lati client e server di un applicazione. Indirizzamento dei processi. Processi di comunicazione nella rete. Servizi formiti dai protocolli di trasporto alle applicazioni. Applicazioni di rete. Web. Il protocollo HTTP. Formato del messaggio di richiesta HTTP.

 

2813-03-2014

Ritardi e perdite nelle reti a commutazione di pacchetto. Tipi di ritardo: trasmissione, propagazione, elaborazione, coda. Ritardo totale. Ritardo da host a host. Ritardi e percorsi in Internet. Traceroute e tracert. Perdita di pacchetti. Intensità del traffico. Lo stack protocollare di Internet e il modello ISO OSI. Gli strati di Internet e i servizi che forniscono.

 

2711-03-2014

Accesso aziendale. Accesso wireless. Mezzi trasmissivi. Doppini in rame. Cavi coassiali. Fibre ottiche. Canali radio terrestri. Canali radio satellitari. Gli ISP e le reti dorsali di Internet. 

2606-03-2014

Multiplazione (multiplexing) nelle reti a commutazione di circuito. Commutazione di pacchetto. Confronto tra commutazione di circuito e commutazione di pacchetto. Frammentazione del messaggio. Reti a commutazione di pacchetto datagram.

2504-03-2014

Internet. Descrizione dei servizi. Definizione di protocollo di rete. Applicazioni client/server. Servizi senza connessione e orientati alla connessione. La sezione interna della rete (nucleo). Commutazione di circuito e commutazione di pacchetto.

2414-01-2014

Le variabili condition. Esempi di sincronizzazione con le variabili condition. Esempio d'uso delle variabili condition nell'implementazione del modello produttore-consumatore.

 

2309-01-2014

I thread in Linux e Unix. I thread POSIX: la libreria pthread. Creazione e terminazione dei thread. Sincronizzazione tra thread. I mutex pthread. I semafori. Esempi.

 

2207-01-2014

System call per l'uso di segnali. Invio di segnali tra processi. Comunicazione: pipe. Esempio d'uso delle pipe. Chiamate di sistema per la sospensione di processi: pause, sleep e uspleep.

2119-12-2013

Organizzazione fisica del file system. Strutture dati del kernel per l'accesso ai file. System call per i file. Interazione tra processi. Sincronizzazione: i segnali.

2017-12-2013

Sostituzione del codice. Scheduling in Unix. Gestione della memoria. Il file system. Struttura logica del file system. La variabile PATH. Protezione. Autenticazione degli utenti. Il file /etc/passwd. Il file /etc/group. Controllo di accesso alle risorse. ACL in Unix.

1912-12-2013

Architettura di Unix. Interazione con l'utente. Shell. Processi e thread. Diagramma degli stati. Immagine di un processo Unix. System call per la gestione di processi. Creazione di processi. Terminazione di processi.

1810-12-2013

Metodi di accesso: sequenziale, diretto e ad indice. Il livello organizzazione fisica. Tecniche di allocazione dei file. Allocazione contigua. Allocazione a lista concatenata, a lista con FAT, a indice. Protezione di file e directory. Matrice di protezione. ACL e C-list. Storia di Unix e Linux.

1705-12-2013

Criteri di ordinamento dei dati su disco e politiche di scheduling. Esempio di memorizzazione su due tracce contigue e su tracce e settori sparsi. Algoritmi di scheduling FCFS, SSTF e SCAN. Dischi raid. Il file system. Struttura logica del file system. Gestione della stuttura logica del file system. Il livello di accesso. Strutture dati e operazioni di accesso ai file.

1603-12-2013

Descrittore di dispositivo. Driver di dispositivo. Gestione di un dispositivo con DMA. Flusso di controllo durante un trasferimento. Gestione del timer. Gestione dei dischi.

1526-11-2013

Tecnica di spooling. Livello dipendente dai dispositivi. Controller di un dispositivo. Gestione di un dispositivo mediante controllo di programma. Gestione di un dispositivo mediante interrupt.

1421-11-2013

Memoria segmentata e paginata. Gestione degli spazi virtuali. Paginazione a più livelli. Gestione dell'I/O. Classificazione dei dispositivi. Struttura logica del sistema di I/O. Livello indipendente dai dispositivi. Bufferizzazione. Gestione degli errori e delle eccezioni.

1319-11-2013

Paginazione su richiesta. Gestione del page-fault. Rimpiazzamento delle pagine. Algoritmi di rimpiazzamento delle pagine. Algoritmo second chance.

1214-11-2013

Memoria paginata. Segmentazione su richiesta.

1112-11-2013

Tecniche di allocazione mediante free-list: best-fit, first-fit. Partizioni multiple. Segmentazione.

1007-11-2013

Gestione della memoria. La memoria virtuale di un processo. Rilocazione statica e dinamica. MMU. Organizzazione della memoria virtuale. Allocazione della memoria fisica. Tecniche di gestione della memoria. Memoria partizionata. Partizioni fisse e variabili.

905-11-2013

Blocco critico (stallo). Esempi di situazioni di stallo. Stallo con risorse consumabili. Condizioni per il blocco critico. Metodi per il trattamento del blocco cristico. Prevenzione statica e dinamica. Algoritmo del banchiere. Rilevamento dei blocchi critici.

831-10-2013

Problema della comunicazione. Soluzione al problema della comunicazione con semafori: produttore-consumatore con buffer di capacità 1. Produttore-consumatore con buffer di capacità N. Sincronizzazione dei processi con scambio di messaggi (message passing). Send e receive. Soluzione al problema della comunicazione tra processi. Comunicazione diretta e indiretta. Sincronizzazione tra processi comunicanti.

729-10-2013

Algoritmi di scheduling real-time. Algoritmo Rate Monotonic (RM). Thread. Thread a livello utente e a livello kernel. Sincronizzazione tra processi. Cooperazione e competizione. Modello ad ambiente globale. Modello ad ambiente locale. Problema della mutua esclusione. Soluzioni al problema della mutua esclusione con attesa attiva. Semafori. Soluzione al problema della mutua esclusione con semafori.

624-10-2013

Principali algoritmi di scheduling. FCFS. SJF. SRTF. Round robin. Algoritmi di scheduling basati sulle priorità. Algoritmi di scheduling a code multiple.

522-10-2013

Thread. Thread a livello utente e a livello kernel. Scheduling. Scheduling a breve termine, a medio termine e lungo termine. Comportamento dei processi: cpu burst e i/o burst. Parametri di scheduling.

417-10-2013

Code di processi. Cambio di contesto. Creazione e terminazione dei processi. Esempio di creazione di processo in unix. Interazione tra i processi. Esempio di processi cooperanti: modello produttore-consumatore. Esempio di processi in competizione. Il kernel di un sistema a processi. Trasferimento tra l'ambiente del kernel e l'ambiente dei processi.

315-10-2013

Struttura dei sistemi operativi. Principali modelli strutturali. Sistemi stratificati. Struttura a microkernel. Struttura client-server. Principali componenti del sistema operativo. Gestione dei processi. Definizione di processo. Stati di un processo. Transizioni di stato. Descrittore del processo.

210-10-2013

Sistemi a partizione di tempo (time-sharing). Sistemi in tempo reale. Sistemi paralleli e distribuiti. Sistemi operativi per PC.

108-10-2013

Introduzione al corso. Principali funzioni di un Sistema operativo. Classificazione dei sistemi operativi. Sistemi batch. Sistemi batch multiprogrammati.


Materiale didattico

Informazioni

Anno accademico2013-2014
Crediti12
SettoreINF/01
Anno2
Semestre1-2
PropedeuticitàArchitettura degli elaboratori. Programmazione.

Programma

Parte I: Sistemi operativi (I semestre) 

  • Introduzione ai sistemi operativi.
  • Storia e classificazione dei sistemi operativi.
  • Principali modelli strutturali.
  • Gestione dei processi.
  • Threads.
  • Sincronizzazione dei processi.
  • Gestione della memoria.
  • Gestione dell' I/O.
  • Gestione del file system.
  • I sistemi operativi Unix e Linux.
  • Casi di studio: Unix e Linux


Parte II: Reti di calcolatori (II semestre) 

  • Reti di calcolatori e Internet.
  • Strato di applicazione.
  • Strato di trasporto.
  • Strato di rete e instradamento.
  • Strato di collegamento e reti di area locale.
  • Reti wireless

Testi di riferimento

Testi di riferimento
Sistemi operativi, II ed. - P. Ancilotti, M. Boari, A. Ciampolini, G. Lipari - McGraw-Hill
Reti di Calcolatori e Internet, IV ed. - Un approccio top-down - J.F. Kurose, K.W. Ross - Pearson - Addison Wesley.

Libri consigliati per approfondimenti
Sistemi Operativi, VIII ed., A. Silberschatz, P. Galvin, G. Gagne. Pearson.
I moderni Sistemi Operativi, III ed., A. S. Tanenbaum. Pearson - Prentice Hall.
Sistemi operativi, D. M. Dhamdhere, McGraw-Hill.
Reti di Calcolatori e Internet, B. A. Forouzan, McGraw-Hill.


Ricevimento studenti

Stanza docente (0103) - Martedì ore 14.00 - 15.00.
Per appuntamento via email.


Modalità di esame

Gli studenti iscritti al nuovo ordinamento devono sostenere l'esame "Sistemi operativi e reti" di 12 crediti. Gli studenti iscritti al vecchio ordinamento devono sostenere separatamente gli esami "Sistemi operativi" di 6 crediti e "Reti di calcolatori" di 6 crediti.
L'esame consiste in una prova scritta e in una prova orale. Il testo della prova scritta è suddiviso in due parti. La prima parte è composta da un gruppo di 4-5 domande che riguardano argomenti di "Sistemi operativi". La seconda parte, è composta da un gruppo di 4-5 domande, relative ad argomenti di "Reti di calcolatori". Le domande sono del tipo a risposta aperta o sottoforma di problemi. Per la parte Sistemi operativi una delle domande consiste nello sviluppo di un breve programma in linguaggio C basato sulle system call POSIX studiate durante il corso.
La durata dell'esame di 12 crediti è di 3 ore, mentre la durata dell'esame di 6 crediti è di 1 ora e 30 minuti. Durante lo svolgimento della prova scritta è vietato l'uso di libri e/o appunti di qualsiasi genere.
Per sostenere la prova orale è necessario aver superato la prova scritta con una votazione di almeno 18/30. Inoltre, lo studente può svolgere una tesina facoltativa consistente nella realizzazione di un'applicazione in java basata sulla programmazione dei socket o di un'applicazione multi-thread scritta in c .
La tesina deve essere consegnata (personalmente o via e-mail) almeno una settimana prima della data della prova orale. La realizzazione della tesina consente di migliorare la votazione di 1,2 o 3 punti.
Per sostenere l'esame è obbligatorio prenotarsi mediante il servizio "Servizi on Line" all'indirizzo http://delphi.uniroma2.it
Una raccolta di testi di esame relativi agli a.a. passati e vari esempi di programmi sulle system call POSIX e sulla programmazione dei socket sono disponibili nell'area "materiale didattico".

 

Esame parziale (esonero) A.A. 2013/2014

Gli studenti del nuovo ordinamento possono sostenere, nel solo appello invernale, l'esame parziale (esonero) di "Sistemi operativi e reti" che consiste in una prova scritta e in una prova orale basate sugli argomenti della prima parte del corso (Sistemi operativi).

La prova scritta si svolgerà il 18-02-2014 alle ore 10:00 in aula 3 del PP2. La prova orale si svolgerà a partire dal 21-02-2014. Lo studente che supera l'esame parziale deve sostenere la restante parte di SOR entro l'anno accademico 2013/2014.

Lo studente che intende sostenere l'esame parziale deve prenotarsi inviando una e-mail all'indirizzo del docente: frasca@mat.uniroma2.it, indicando come oggetto la frase "esame parziale SOR A.A. 2013/2014" e indicando nel messaggio il proprio cognome, nome e numero di matricola.
Il testo della prova scritta è composto da un gruppo di 4-5 domande. Le domande sono del tipo a risposta aperta o sottoforma di problemi. Una delle domande consiste nello sviluppo di un breve programma in linguaggio C basato sulle system call POSIX studiate durante il corso.

La durata della prova scritta dell'esame parziale è di 1 ora e 30 minuti.

Durante lo svolgimento della prova scritta è vietato l'uso di libri e/o appunti di qualsiasi genere.
Per sostenere la prova orale è necessario aver superato la prova scritta con una votazione di almeno 18/30.