SISTEMI OPERATIVI
OPERATING SYSTEMS
Sistemi Operativi
Operating Systems
A.A. | CFU |
---|---|
2013/2014 | 12 |
Docente | Ricevimento studentesse e studenti | |
---|---|---|
Emanuele Lattanzi | giovedì - 16:00-18:00 |
Assegnato al Corso di Studio
Giorno | Orario | Aula |
---|
Obiettivi Formativi
Il Corso ha lo scopo di illustrare la struttura di un sistema operativo multiprogrammato e le relative politiche di amministrazione delle risorse computazionali, con particolare riferimento alla schedulazione della CPU e alla gestione della memoria centrale, del file system e dei dispositivi di I/O.
Programma
01. Introduzione:
01.01 Introduzione ai sistemi operativi.
01.02 Strutture dei sistemi operativi.
01.03 Principali funzioni di un sistema operativo.
01.04 Chiamate di sistema.
02. Processi:
02.01 Gestione dei processi.
02.02 Context switch.
02.03 Thread vs. processi.
02.04 Comunicazione tra processi.
03. Sincronizzazione:
03.01 Il problema della sezione critica.
03.02 Strumenti per la sincronizzazione e loro uso.
03.03 Problemi di sincronizzazione e deadlock.
04. Scheduling:
04.01 Concetti fondamentali.
04.02 Criteri di scheduling.
04.03 Algoritmi di scheduling.
04.04 Scheduling dei thread.
05. Scheduling in Linux:
05.01 Process descriptor.
05.02 Caratteristiche principali.
05.03 Lo scheduler 2.4.x.
05.04 Lo scheduler 2.6.x.
05.05 Lo scheduler SMP.
06. Memoria principale:
06.01 Organizzazione della memoria principale.
06.02 Paginazione.
06.03 Struttura della tabella delle pagine.
06.04 Segmentazione.
06.05 Esempi: Pentium Intel, Linux.
07. Memoria virtuale:
07.01 Paginazione su richiesta.
07.02 Sostituzione delle pagine.
07.03 Allocazione dei frame.
07.04 File mappati in memoria.
08. File system:
08.01 Concetto di file system.
08.02 Montaggio, condivisione e protezione.
08.03 Implementazione.
08.04 Metodi di allocazione.
08.05 Gestione dello spazio libero.
09. Dischi magnetici:
09.01 Struttura del disco.
09.02 Performance dei dischi.
09.03 Algoritmi di scheduling.
10. Sistemi di input/output:
10.01 Polling, interrupt e DMA.
10.02 Dispositivi a caratteri, a blocchi e di rete.
10.03 Interfaccia del kernel per l'I/O.
11. Macchine virtuali:
11.01 Macchine virtuali astratte.
11.02 Macchine virtuali reali.
11.03 Struttura delle macchine virtuali.
11.04 JVM - Java Virtual Machine.
12. Il sistema operativo Android:
12.01 Struttura.
12.02 La Virtual Machine Dalvik.
12.03 Applicazioni.
12.04 Message passing: Intents.
13. Attività di laboratorio:
13.01 Gestione dei processi nei sistemi UNIX-like.
13.02 Gestione dei thread nei sistemi UNIX-like.
13.03 Introduzione alla programmazione Java.
13.04 Gestione dei thread in Java.
13.05 Strumenti per la sincronizzazione dei thread in Java.
Eventuali Propedeuticità
Non vi sono propedeuticità obbligatorie.
Si suggerisce di sostenere l'esame di Sistemi Operativi dopo aver sostenuto gli esami di Programmazione Procedurale e Logica, Architettura degli Elaboratori, Algoritmi e Strutture Dati e prima di sostenere l'esame di Reti di Calcolatori.
Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento
- Modalità didattiche
Lezioni frontali ed esercitazioni di laboratorio
- Obblighi
Sebbene formtemente consigliata, la frequenza non è obbligatoria.
- Testi di studio
- Silbershatz, Galvin, Gagne, "Sistemi Operativi Concetti ed Esempi",Pearson
- Tanenbaum, "I Moderni Sistemi Operativi", Pearson
- Ancilotti, Boari, "Programmazione Concorrente e Distribuita", McGraw-Hill.
- Bovet, Cesati, "Understanding the Linux Kernel", O'Reilly
- Goetz, Peierls, Bloch, Bowbeer, Holmes, Lea, "Java Concurrency in Practice", Addison-Wesley
- Modalità di
accertamento Prova di programmazione concorrente al calcolatore e prova orale.
La prova di programmazione viene valutata in trentesimi ed è ritenuta sufficiente se il relativo voto è di almeno 18/30.
La prova orale può essere sostenuta solo previo superamento della prova di programmazione.
- Disabilità e DSA
Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.
A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.
Note
Il corso è erogato sia nel "percorso in presenza" che nel "percorso online" del Corso di Laurea di Informatica Applicata.
Per materiale didattico e informazioni aggiuntive visitare http://www.sti.uniurb.it/lattanzi/OS.html
« torna indietro | Ultimo aggiornamento: 24/07/2014 |