Sistemi Operativi e Reti di Calcolatori
Formulario della materia 66 definizioni e teoremi in una pagina
Argomenti
IIntroduzione ai sistemi operativi
IIProcessi e thread
IIIScheduling della CPU
Esercizi svolti
- Esercizio - Code a priorità con aging e feedback (eserciziario, esercizio 23)
- Esercizio - Code multiple con SRTF, round robin e FCFS (eserciziario, esercizio 26)
- Esercizio - Lettura di un diagramma di Gantt e ordine di priorità (eserciziario, esercizi 25 e 28)
- Esercizio - Rate monotonic ed EDF su due compiti periodici (slide di scheduling)
- Esercizio - Round robin con arrivi e conteggio dei processi in coda (eserciziario, esercizio 31)
- Esercizio - Round robin con due quanti di tempo (eserciziario, esercizio 61)
- Esercizio - Round robin con priorità e task idle (eserciziario, esercizio 83)
- Esercizio - Scheduling con I-O, effetto convoglio ed EDF (eserciziario, esercizio 27)
- Esercizio - Scheduling FCFS e SJF con tempo di turnaround e processi in coda (eserciziario, esercizi 29 e 30)
- Esercizio - Scheduling FCFS, SJF e priorità con sei processi (eserciziario, esercizio 24)
IVSincronizzazione
- Sincronizzazione - sezione critica, race condition e mutex
- Semafori, monitor e problemi classici di sincronizzazione
Esercizi svolti
- Esercizio - Bagno condiviso e piazza dei tifosi con due categorie (eserciziario, esercizi 12 e 18)
- Esercizio - Buffer limitato con semafori e messaggi lunghi (eserciziario, esercizi 11 e 45)
- Esercizio - Conteggio dei valori finali con una variabile condivisa (eserciziario, esercizi 96 e 112)
- Esercizio - Distributore di aranciata, moduli di borsa di studio e attuatori (eserciziario, esercizi 10, 15, 47 e 85)
- Esercizio - Grafi di precedenza e ordine di stampa con i semafori (eserciziario, esercizi 19, 52, 60, 91 e 114)
- Esercizio - Il barbiere che dorme con i semafori (eserciziario, esercizio 68)
- Esercizio - Incrocio con il vigile e autobus con due porte (eserciziario, esercizi 75 e 79)
- Esercizio - Lettori e scrittori, che cosa succede togliendo una istruzione (eserciziario, esercizi 14, 46 e 107)
- Esercizio - Monitor per conto bancario, cannibali e fabbrica (eserciziario, esercizi 16, 17 e 103)
- Esercizio - Output ed ordine di esecuzione con i semafori (eserciziario, esercizi 6, 7 e 8)
- Esercizio - Peterson, mutex e lettori-scrittori con i thread (laboratorio 4)
- Esercizio - Priorità, semaforo FIFO e code (eserciziario, esercizi 13 e 44)
- Esercizio - Semafori POSIX, thread e processi (laboratorio 5)
- Esercizio - Spogliatoi e cesti della piscina (eserciziario, esercizio 9)
- Esercizio - Valori finali di x e y con semafori e processi concorrenti (eserciziario, esercizi 99 e 110)
VDeadlock
Esercizi svolti
- Esercizio - Algoritmo del banchiere su quattro risorse (eserciziario, esercizio 5)
- Esercizio - Algoritmo del banchiere su tre risorse con richieste (eserciziario, esercizio 4)
- Esercizio - Assegnare risorse a un processo e mantenere lo stato sicuro (eserciziario, esercizio 117)
- Esercizio - Deadlock con semafori e thread (laboratorio 6)
- Esercizio - Deadlock tra due processi con lock incrociati (eserciziario, esercizi 92 e 116)
- Esercizio - Grafo di allocazione delle risorse e individuazione dei cicli (eserciziario, esercizi 20, 21, 56, 106 e 109)
- Esercizio - Implementare il banchiere e calcolarne la complessità (eserciziario, esercizio 3 e laboratorio 6)
VIGestione della memoria centrale
Esercizi svolti
- Esercizio - Allocazione contigua con first fit, best fit, worst fit e next fit (eserciziario, esercizi 35, 36, 54, 55, 102 e 115)
- Esercizio - Dimensioni di page table e indirizzi, paginazione a più livelli (eserciziario, esercizi 66, 67, 69, 72, 76, 81, 82, 93 e 100)
- Esercizio - Segmentazione e traduzione degli indirizzi (eserciziario, esercizi 49, 78 e 90)
- Esercizio - Tempo di accesso effettivo con TLB e page fault (eserciziario, esercizi 32, 70 e 118)
- Esercizio - Traduzione degli indirizzi con la tabella delle pagine (eserciziario, esercizi 34, 37, 59, 62 e 86)
VIIMemoria virtuale
Esercizi svolti
- Esercizio - Anomalia di Belady e limiti sui page fault (slide di memoria virtuale, eserciziario, esercizi 33 e 84)
- Esercizio - Buddy system per la memoria del kernel (slide di memoria virtuale)
- Esercizio - Località dei riferimenti, scorrere una matrice per righe o per colonne (laboratorio 7)
- Esercizio - Programmi che scorrono array, stringhe di riferimenti e page fault (eserciziario, esercizi 50, 73 e 77)
- Esercizio - Second chance globale con bit di riferimento (eserciziario, esercizio 51)
- Esercizio - Sostituzione delle pagine con FIFO, LRU e OPT (eserciziario, esercizi 38, 39, 40, 48, 57, 58 e 80)
- Esercizio - Working set, thrashing e frequenza dei page fault (eserciziario, esercizio 87)
VIIIMemoria di massa
Esercizi svolti
- Esercizio - RAID, capacità, prestazioni e guasti (eserciziario, esercizi 43 e 74)
- Esercizio - Scheduling del disco con FCFS, SSTF, SCAN e C-SCAN (slide di memoria di massa, eserciziario, esercizio 95)
- Esercizio - Tempi di accesso al disco e capacità (slide di esercizi, eserciziario, esercizi 88, 89 e 94)
IXFile system
Esercizi svolti
- Esercizio - Allocazione dei file con metodo contiguo, concatenato, indicizzato e FAT (eserciziario, esercizi 42, 53, 65, 71, 104, 108, 113 e 119)
- Esercizio - Frammentazione interna di un file con stat e statvfs (laboratorio 10)
- Esercizio - Hard link e link simbolici, fast symlink (laboratorio 10)
- Esercizio - Inode e dimensione massima dei file (eserciziario, esercizi 63, 97, 105 e 111)
- Esercizio - Permessi dei file con stat e chmod (laboratorio 9)
- Esercizio - Spazio libero con bitmap e lista concatenata (eserciziario, esercizi 41, 98 e 120)
XInput e output
XISicurezza e tolleranza ai guasti
XIISistemi embedded e real-time per l'IoT
XIIIProgrammazione di sistema e architetture di rete
- Richiami di C per la programmazione di rete - memoria, puntatori, struct ed endianness
- Modello ISO-OSI, data plane e control plane, architetture client-server e publish-subscribe
- System call POSIX, file descriptor e API delle socket
- Client e server TCP in C - bind, listen, accept e processi concorrenti
XIVIl protocollo HTTP
- HTTP 0.9 e 1.0 - struttura dei messaggi, header e parsing
- HTTP 1.1 - connessioni persistenti, Content-Length e chunked transfer encoding
- Caching, autenticazione, tipi MIME e URI in HTTP
Esercizi svolti
- Esercizio - Client HTTP 0.9 e 1.0 che scarica una pagina (slide HTTP 0.9 e 1.0)
- Esercizio - Client HTTP 1.1 con Content-Length e connessione persistente (slide HTTP 1.1)
- Esercizio - Client HTTP 1.1 con decodifica del chunked (slide HTTP 1.1)
- Esercizio - GET condizionale con If-Modified-Since e cache su file (slide HTTP 0.9 e 1.0)
- Esercizio - Parsing di request line, header e URI (sul modello della prova pratica)
- Esercizio - Server con autenticazione Basic, ETag e GET condizionale (sul modello della prova pratica)
- Esercizio - Server HTTP che risponde in chunked con trailer (sul modello della prova pratica)
- Esercizio - Server HTTP iterativo con GET, HEAD e codici di errore (sul modello della prova pratica)
- Esercizio - URI, scomposizione, percent-encoding e riferimenti relativi (sul modello della prova pratica)
XVApplicazioni web dinamiche e web service
XVIServizi di supporto di Internet
XVIIEvoluzione del Web
XVIIIServizi multimediali
XIXDigitalizzazione dei segnali
XXAudio, immagini e video non compressi
XXICodifica della voce
XXIICodifica lossless
XXIIICompressione di immagini e JPEG
XXIVCodifica video
XXVMetriche e prestazioni di rete
Esercizi svolti
- Esercizio - Canale binario simmetrico e codici di canale (domande ed esercizi del corso)
- Esercizio - Domande di teoria su reti, qualità e streaming (domande ed esercizi del corso)
- Esercizio - Ritardi, throughput e BDP (domande ed esercizi del corso)
- Esercizio - Stima della banda con il comando ping (dispensa del corso)