Sistemi operativi ii

A.A. 2019/2020
Insegnamento per
6
Crediti massimi
72
Ore totali
SSD
ING-INF/05
Lingua
Italiano
Obiettivi formativi
L'insegnament si propone di introdurre principali concetti su cui è basata la realizzazione di un sistema operativo, le sue funzionalità principali nonchè acquisire padronanza nell'uso delle principali API del sistema operativo Linux. Al fine di fornire agli studenti una migliore comprensione dei diversi temi affrontati verrà affrontato lo studio delle componenti principali di un sistema operativo didattico.
Al termine dell'insegnamento lo studente sarà in grado di: individuare le principali caratteristiche di un sistema operativo, valutarne le criticità ed i punti di forza, scrivere programmi che usano le principali API di sistema operativo, leggere e commentare codice di un sistema operativo reale.

Struttura insegnamento e programma

Edizione attiva
Responsabile
Moduli o unità didattiche
Unità didattica Laboratorio
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI - CFU: 3
Laboratori: 48 ore
Docente: Monga Mattia

Unità didattica Lezioni
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI - CFU: 3
Lezioni: 24 ore

STUDENTI FREQUENTANTI
Propedeuticità
Programmazione, Architetture
Prerequisiti e modalità di esame
Modalità d'esame e votazione
L'esame è unico per i corsi di Sistemi Operativi I e II ed è costituito da tre prove: scritta, orale e pratica.
Le prove scritta e orale verteranno sul programma del corso svolto durante le lezioni di teoria.
La prova scritta è costituita da:
20 domande a risposta multipla;
svolgimento di un esercizio di programmazione con l'uso della libreria Pthread o con l'uso delle API Unix viste a lezione;
svolgimento di un esercizio di programmazione consistente nella modifica o stesura delle procedure del sistema operativo JOS viste a lezione.

Il superamento della prova scritta è requisito necessario per l'accesso alla prova orale. Durante la prova scritta lo studente potrà accumulare sino a 3 punti
che saranno poi sommati al voto finale della prova orale. Le prove scritta e orale devono essere sostenute nello stesso appello mentre la prova
di laboratorio può essere sostenuta in appelli diversi purché entro la fine dell'anno accademico in corso. Il voto finale dell'esame sarà formato
sommando ai 2/3 del voto ottenuto nelle prove di teoria, 1/3 del voto ottenuto nelle prove di laboratorio.
Metodi didattici
Lezioni frontali ed esercitazioni di laboratorio
Unità didattica Lezioni
Programma
Introduzione all'architettura IA-32
GNU ASSEMBLER LANGUAGE
Eccezioni e Interrupt in IA-32
Analisi e implementazione di un programma elementare di bootstrap e di un bootloader
Analisi e implementazione di un gestore delle Eccezioni
Analisi e implementazione di un gestore degli Interrupt
Analisi e implementazione di un gestore della Memoria
Analisi e implementazione di un gestore dei processi
Analisi e implementazione di un gestore di syscall
Metodi didattici
Lezioni Frontali
Materiale didattico e bibliografia
Materiale da Consultare per la seconda parte del corso
Programmer's Reference Manual Intel 386
xv6: a simple Unix-like teaching operating system
xv6 source code
Le seguenti dispense relative ai Lab. 1,2,3.
Materiale Integrativo
Il presente materiale può essere utilizzato ad integrazione del materiale presentato a lezione

System Programming Guide - Part I by Intel Corporation
System Programming Guide - Part II by Intel Corporation
Articolo interessante sull'uso della programmazione concorrente
STUDENTI NON FREQUENTANTI
Prerequisiti e modalità di esame
Modalità d'esame e votazione
L'esame è unico per i corsi di Sistemi Operativi I e II ed è costituito da tre prove: scritta, orale e pratica.
Le prove scritta e orale verteranno sul programma del corso svolto durante le lezioni di teoria.
La prova scritta è costituita da:
20 domande a risposta multipla;
svolgimento di un esercizio di programmazione con l'uso della libreria Pthread o con l'uso delle API Unix viste a lezione;
svolgimento di un esercizio di programmazione consistente nella modifica o stesura delle procedure del sistema operativo JOS viste a lezione.

Il superamento della prova scritta è requisito necessario per l'accesso alla prova orale. Durante la prova scritta lo studente potrà accumulare sino a 3 punti
che saranno poi sommati al voto finale della prova orale. Le prove scritta e orale devono essere sostenute nello stesso appello mentre la prova
di laboratorio può essere sostenuta in appelli diversi purché entro la fine dell'anno accademico in corso. Il voto finale dell'esame sarà formato
sommando ai 2/3 del voto ottenuto nelle prove di teoria, 1/3 del voto ottenuto nelle prove di laboratorio.
Unità didattica Lezioni
Programma
Introduzione all'architettura IA-32
GNU ASSEMBLER LANGUAGE
Eccezioni e Interrupt in IA-32
Analisi e implementazione di un programma elementare di bootstrap e di un bootloader
Analisi e implementazione di un gestore delle Eccezioni
Analisi e implementazione di un gestore degli Interrupt
Analisi e implementazione di un gestore della Memoria
Analisi e implementazione di un gestore dei processi
Analisi e implementazione di un gestore di syscall
Materiale didattico e bibliografia
Materiale da Consultare per la seconda parte del corso
Programmer's Reference Manual Intel 386
xv6: a simple Unix-like teaching operating system
xv6 source code
Le seguenti dispense relative ai Lab. 1,2,3.
Materiale Integrativo
Il presente materiale può essere utilizzato ad integrazione del materiale presentato a lezione

System Programming Guide - Part I by Intel Corporation
System Programming Guide - Part II by Intel Corporation
Articolo interessante sull'uso della programmazione concorrente
Periodo
Primo semestre
Periodo
Primo semestre
Modalità di valutazione
Esame
Giudizio di valutazione
voto verbalizzato in trentesimi
Docente/i
Ricevimento:
su appuntamento e-mail: danilo.bruschi@unimi.it
Stanza 8024 via Celoria 18
Ricevimento:
Su appuntamento
Uff. 5004, Via Celoria 18, Milano