SOL:
Sistemi Operativi e Laboratorio (Laurea
in Informatica - Corso A (matricole PARI) - A.A. 2020/2021)
Maurizio A. Bonuccelli
L'insegnamento di "Sistemi Operativi e Laboratorio (SOL)" del nuovo ordinamento del Corso di Laurea in Informatica (classe L-31, DM 270/04) e' strutturato in due moduli didattici: "Sistemi Operativi" e "Laboratorio".
Il consiglio aggregato dei corsi di studio, ha stabilito la propedeuticita' obbligatoria tra "Algoritmica e Laboratorio" e "Sistemi Operativi e Laboratorio". Quindi, le prove di esame di di "Sistemi Operativi e Laboratorio" possono essere sostenute solo dopo avere superato l' esame di "Algoritmica e Laboratorio" (per gli studenti immatricolati fino all'A.A. 2014/2015) ovvero avere superato esami del primo anno per un totale di almeno 25 CFU di cui almeno 12 relativi a corsi di informatica e almeno 9 relativi a corsi di matematica e fisica (per gli studenti immatricolati dall'A.A. 2015/2016).
Le regole seguenti valgono finchè durerà l'emergenza covid19: gli esami possono essere solo orale e per via telematica, con alcune condizioni necessarie da rispettare.
Regole per gli esami del corso di “Sistemi Operativi e Laboratorio – corso A (matricole PARI)”:
1. La data degli appelli si riferisce alla scadenza ultima di consegna del progetto di laboratorio.
2. Possono partecipare agli esami di un appello solo gli studenti che si sono iscritti a quell’appello utilizzando l’apposito portale dell’Università di Pisa, e che hanno consegnato entro la data dell’appello un progetto ritenuto valido. Chi non si è iscritto oppure non ha consegnato in tempo un progetto valido, non può effettuare l’esame per nessuno dei due moduli.
3. Dopo aver valutato i progetti, verrà stilato un calendario degli esami (solo orale), che verrà pubblicato via web e inviato per email (istituzionale: registrata sul portale esami) agli studenti ammessi all’esame orale.
4. L'esame è per via telematica e solo orale, utilizzando il canale di Microsoft Team che verrà comunicato all'atto della iscrizione all'esame (gli esaminandi ci facciano sapere se non riescono ad utilizzarlo, nel qual caso si valuterà la possibilità di utilizzare strumenti alternativi). Lo svolgimento di ciascun esame, pubblico per legge, deve rispettare tutte le condizioni più recenti stabilite dall’ateneo, che trovate alla pagina web : https://www.unipi.it/images/pdf/publ/guidaesamistud.pdf
L’esaminando verrà interrogato prima sugli argomenti di un modulo e subito dopo su quelli dell’altro modulo. Al termine delle interrogazioni, la commissione si ritirerà e deciderà l’esito dell’esame. Se l’esito sarà positivo, all’esaminando verrà comunicato il voto. Se il voto sarà accettato, verrà verbalizzato, altrimenti (esito non positivo o voto non accettato), l’esaminando dovrà ripetere l’esame in un appello successivo, seguendo tutte le regole su scritte.
Modulo "Sistemi Operativi"
SUDDIVISIONE IN CORSI A e B: Per bilanciare i due corsi,gli studenti con numero di matricola pari -indipendentemente dall'anno in cui si sono immatricolati- sosterranno le prove finali con il docente del corso A, e quelli con numero di matricola dispari - indipendentemente dall'anno in cui si sono immatricolati - con il docente del corso B. Le uniche eccezioni a quanto sopra saranno coloro che hanno ottenuto dal consiglio di corso di studi il passaggio di corso.Gli studenti che avessero problemi di orario potranno comunque seguire le lezioni del corso che preferiscono, dato che programma e prove finali sono gli stessi per i due corsi.
Obiettivo. Introdurre i principi ed i concetti su cui si basano i sistemi operativi e analizza la loro realizzazione nei sistemi reali. In particolare, vengono presentate le tecniche che consentono di coordinare e gestire le risorse di un sistema di elaborazione e che permettono di trasformare la macchina fisica in una macchina astratta, dotata di funzionalita' piu' convenienti per l'utente. Il secondo modulo fornisce le conoscenze di base relative alla programmazione C con chiamate di sistema Unix/POSIX. Il programma prevede: Funzioni, struttura e componenti dei Sistemi Operativi; Il nucleo dei sistemi operativi e la gestione dei processi; Concorrenza e threads; sicnronizzazione dell'accesso ad oggetti condivisi; Errori di sincronizzazione: il problema dello stallo; Gestione del processore: obiettivi e politiche di scheduling; Gestione della memoria; memoria virtuale e caching; Gestione dei dispositivi di I/O e di memoria di massa; Sistema di archiviazione e gestione degli archivi; Protezione e sicurezza;
Materiale didattico.
Il testo adottato nel corso e': T. Anderson, M. Dahlin : "Operating Systems: principles and practice", Recursive Books Ltd
Lucidi presentati a lezione:
Capitolo 1: introduzione ai sistemi operativi
Capitolo 2: il nucleo del sistema operativo
Capitolo 3: interfaccia processi-sistema operativo
Capitolo 4: concorrenza e threads
Capitolo 5: sincronizzazione nell'accesso ad oggetti condivisi - Capitolo 5: possibile implementazione di P e V (semafori) - Capitolo 5: possibile realizzazione delle variabili condizione
Capitolo 6: sincronizzazione: deadlock - Capitolo 6: problema dei filosofi a cena
Capitolo 8: gestione memoria: traduzione indirizzi
Capitolo 9: gestione memoria: caching
Capitoli 10 e 11: file system: introduzione e funzionamento dei dischi
Capitolo 12: file system: gestione dei files
LEZIONI REGISTRATE
Esercizi svolti ad esercitazione: esercizi su cambio di contesto ; esercizi su concorrenza con variabili condizione e semafori ; esercizi sull'evoluzione dei semafori; esercizi su stallo (deadlock) NOTA: per un errore di formattazione, mancano dei dati, che vanno aggiunti: nell'esercizio stallo 4 la molteplicità di R4 è 6 e la disponibilità è 3; nell'esercizio stallo 5 la molteplicità di R4 è 6 e la disponibilità è 0; nell'esercizio stallo 6 la molteplicità di R4 è 4 e la disponibilità è 2; esercizi su scheduling , la soluzione dell'esercizio 7 contiene due errori: nella riga t+40, QdT in stato di pronto del processo C è 1 e non 0; nella riga t+50, il processo A è pronto e non in esecuzione; esercizi sulla traduzione degli indirizzi;
esercizi riepilogativi per il secondo compitino. soluzione degli esercizi riepilogativi per il secondo compitino.
TESTO E SOLUZIONE DELLA PROVA DI AUTOVALUTAZIONE SULLA PRIMA PARTE DEL CORSO
VOTI SECONDA PROVA DI VERIFICA E VOTI FINALI A.A. 2018/19 (modulo di teoria)
VOTI SECONDA PROVA DI VERIFICA E VOTI FINALI A.A. 2018/19 (modulo di laboratorio)
Testi
delle prove di verifica intermedia dell'anno accademico 2018/2019
(con traccia delle soluzioni)
Testi
delle prove di verifica intermedia dell'anno accademico 2017/2018
(con traccia delle soluzioni) prima
prova di verifica, compito "A", prima
prova di verifica, compito "B" ; Testi delle prove scritte dell'
anno accademico 2015/2016 (con traccia delle soluzioni):prova
di verifica intermedia del 5-4-16, prova
di verifica intermedia del del 25-5-16, compito
del 15-6-16, compito
del 13-7-16, compito
del 9-9-16
Testi
delle prove scritte dell' anno accademico 2014/2015 (con traccia
delle soluzioni) compito
del 15-1-14,compito
del 5-2-14 , compito
dell'1-4-14 , compito
del 19-6-14 , compito
del 9-7-14 , compito
del 9-9-14,prova
di verifica intermedia del 19-12-14, compito
del 16-1-15
compito
del 17-2-15
o" -->
-->