SISTEMI OPERATIVI - MOD.2

Anno accademico
2024/2025 Programmi anni precedenti
Titolo corso in inglese
OPERATING SYSTEMS - PART 2
Codice insegnamento
CT0125 (AF:451304 AR:256607)
Modalità
In presenza
Crediti formativi universitari
6 su 12 di SISTEMI OPERATIVI
Livello laurea
Laurea
Settore scientifico disciplinare
INF/01
Periodo
II Semestre
Anno corso
2
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
Illustrare la struttura e le funzioni di un moderno sistema operativo multiprogrammato. Il corso, dopo aver introdotto i concetti di base relativi ai sistemi operativi moderni, illustra i modelli teorici e le tecniche realizzative per la gestione dei processi, della memoria, del file system, dei sistemi di I/O e della memoria secondaria. Introduce i principi della programmazione concorrente e insegna i concetti e le tecniche relative alla sincronizzazione tra processi e thread, con sperimentazioni pratiche in laboratorio in C e Java. Come casi di studio vengono analizzati i sistemi operativi Unix/Linux e Windows.
- conoscenza dei concetti di base relativi ai sistemi operativi moderni;
- conoscenza dei modelli teorici e delle tecniche per la gestione di processi, memoria, file system, I/O e memoria secondaria;
- conoscenza dei principi della programmazione concorrente;
- competenze su tecniche di sincronizzazione tra processi e thread in C e Java.
Conoscenze di programmazione e di architetture dei calcolatori
Funzioni e struttura di un sistema operativo; macchine virtuali. I sistemi a processi; proprietà di processi e thread. Principi di programmazione concorrente. La gestione dell'unità centrale; algoritmi di scheduling. La gestione della memoria; memoria virtuale, paginazione e segmentazione. Il file system; funzioni e implementazione. La memoria secondaria e i dispositivi di I/O; le architetture RAID. I sistemi operativi Unix/Linux e Windows. Laboratorio: programmazione concorrente in C e Java.
Andrew S. Tanenbaum, Herbert Bos. I moderni sistemi operativi (quarta edizione), Pearson 2016.
William Stallings. Operating Systems: Internals and Design Principles (9th edition), Pearson 2018.
Richard Stevens, Stephen A. Rago, Advanced Programming in the UNIX Environment (terza edizione), Addison Weseley, 2013.
La verifica dell'apprendimento avviene attraverso una prova scritta che ha lo scopo di accertare le conoscenze acquisite sui diversi argomenti del corso. Gli assignment durante il secondo semestre sono facoltativi e hanno lo scopo di mettere in pratica le conoscenze acquisite e di verificare la competenze relative alla sincronizzazione e cooperazione tra processi i thread nei linguaggi C e Java. Consistono in un problema da risolvere la cui soluzione dà un bonus sul punteggio acquisito allo scritto.

Modalità con cui saranno assegnati i voti della prova scritta:

A. punteggi nella fascia 18-22 verranno attribuiti in presenza di:
- sufficiente conoscenza delle materie del corso;
- limitate competenze nello svolgimento di esercizi pratici legati ai laboratori del corso;
- sufficienti abilità comunicative, specie in relazione all'utilizzo del linguaggio specifico che attiene i sistemi operativi e la programmazione concorrente.
B. punteggi nella fascia 23-26 verranno attribuiti in presenza di:
- discreta conoscenza delle materie del corso;
- discrete competenze nello svolgimento di esercizi pratici legati ai laboratori del corso;
- discrete abilità comunicative, specie in relazione all'utilizzo del linguaggio specifico che attiene i sistemi operativi e la programmazione concorrente.
C. punteggi nella fascia 27-30 verranno attribuiti in presenza di:
- buona o ottima conoscenza delle materie del corso;
- buone o ottime competenze nello svolgimento di esercizi pratici legati ai laboratori del corso;
- abilità comunicative pienamente appropriate, specie in relazione all'utilizzo del linguaggio specifico che attiene i sistemi operativi e la programmazione concorrente.
D. la lode verrà attribuita in presenza di conoscenze, competenze e abilità comunicative, eccellenti.

Modalità con cui sono attribuiti i bonus delle challenge:
A. punteggio da 0.1 a 0.3
- sufficienti competenze nello svolgimento dell'esercitazione;
- sufficienti capacità comunicative nella descrizione del funzionamento della soluzione proposta.
B. punteggio da 0.4 a 0.5
- buone competenze nello svolgimento dell'esercitazione;
- buone capacità comunicative nella descrizione del funzionamento della soluzione proposta.
C. punteggio da 0.6 a 0.7
- eccellenti competenze nello svolgimento dell'esercitazione;
- eccellenti capacità comunicative nella descrizione del funzionamento della soluzione proposta.
Lezioni frontali, esercitazioni in aula, laboratorio
Italiano
Le informazioni contenute in questa pagina si riferiscono all'intero corso annuale di Sistemi Operativi.
Per questo insegnamento è attivo un servizio di tutorato specialistico.
scritto
Programma definitivo.
Data ultima modifica programma: 23/10/2024