Sistemi operativi ii
A.A. 2019/2020
Insegnamento per
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
Sì
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
Docente:
Bruschi Danilo Mauro
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
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
Siti didattici
Docente/i
Ricevimento:
su appuntamento e-mail: danilo.bruschi@unimi.it
Stanza 8024 via Celoria 18