Teoria Introduzione Vedi lucidi: Presentazione del corso
Lezione introduttiva
Concetti e architettura
Definizione di sistema operativo -- Cap. 1, Sez. 1.1 del libro adottato (di A. Silberschatz et al.)
Evoluzione dei sistemi operativi con cenni storici -- Cap. 1, Sez. 1.2 del libro di A.S.Tanenbaum
Tipi e esempi di sistemi operativi -- Cap 1 Sez. 1.3, 1.10, 1.11, 1.12 del libro adottato
Concetti di base sui sistemi operativi: funzioni, implementazione e avvio, funzionamento event-driven e dual-mode, servizi e chiamate di sistema, programmi di sistema -- Cap. 1, Sez 1.2, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9 - Cap. 2 Sez. 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.10 e 2.11 del libro adottato
Architettura di un sistema operativo -- Cap. 2, Sez 2.7 e 2.8 del libro adottato
Gestione dei processi I processi Vedi lucidi: processi Il concetto di processo -- Cap. 3, Sez 3.1 del libro adottato
Schedulazione dei processi -- Cap. 3, Sez 3.2 del libro adottato
Operazioni sui processi -- Cap. 3, Sez 3.3 del libro adottato Codice di esempio per la creazione di un processo figlio con la chiamata di sistema fork() dei sistemi Unix-like
La comunicazione tra processi Vedi lucidi: IPC Processi cooperanti e modelli di comunicazione: comunicazione tramite memoria condivisa e comunicazione tramite scambio di messaggi -- Cap. 3, Sez . 3.4 del libro adottato
Esempio: comunicazione LPC (Local Procedure Call) di Windows XP -- Cap.3. Sez. 3.5.3
La comunicazione in sistemi client/server (socket, pipe, RPC, RMI) -- Cap. 3, Sez 3.6 del libro adottato -- Cap. 3. Sez. 3.6 Codice di esempio per la creazione di una unnamed pipe in sistemi Unix-like
I thread Vedi lucidi:thread -- Cap. 4 del libro adottato Generalità e modelli Sez 4.1 e 4.2
Pthread -- Sez 4.3.1
Problematiche relative ai thread -- Sez 4.4
Ithread di Windows XP e di Linux -- Sez 4.5
Thread safeness e condizioni di Bernstein
Sincronizzazionedei processi Vedi lucidi:sincronizzazione -- Cap. 6 del libro adottato Il problema della sezione critica -- Sez 6.1 e 6.2
Soluzioni per due processi (Peterson) -- Sez 6.3
Hardware per la sincronizzazione -- Sez 6.4
Semafori -- Sez 6.5
Problemi classici di sincronizzazione (Produttore-consumatore, lettori-scrittori, cinque filosofi a cena) -- Sez 6.6
Monitor -- Sez 6.7 (esclusi 6.7.3 e 6.7.4)
Sincronizzazione in Solaris, Windows XP, Linux e Pthreads -- Sez 6.8 (solo cenni)
Transazioni atomiche -- Sez 6.9 (esclusi 6.9.4.2 e 6.9.4.3)
Schedulazione della CPU Vedi ucidi:schedulazione -- Cap. 5 e 19 del libro adottato
Concetti base e criteri -- Sez 5.1 e 5.2
Algoritmi di schedulazione -- Sez 6.3
Schedulazione dei thread -- Sez 5.4 (escluso 5.4.2)
Schedulazione per sistemi multiprocessore -- Sez 5.5 (escluso 5.5.4 e 5.5.5)
Schedulazione per sistemi in tempo reale -- Sez 19.5 (escluso 19.5.3 e 19.5.4)
Schedulazione in WindowsXP e in Linux -- Sez 5.6.2 e 5.6.3
Lo stallo (deadlock) Vedi lucidi:deadlock -- Cap. 7 del libro adottato Risorse -- Sez 7.1
Caratterizzazionedel deadlock -- Sez 7.2
Metodi di gestione del deadlock -- Sez 7.3
Prevenire il deadlock -- Sez 7.4
Evitare il deadlock -- Sez 7.5
La risoluzione del deadlock (rilevazione e ripristino) -- Sez 7.6 e 7.7
Jackson Libri Tanenbaum Moderni Sistemi Operativi Pdf
L'esame consta di una prova scritta, e verte sia sulla parte di teoria che sulla parte di laboratorio. La prova scritta avrà luogo nella data fissata per l'appello. Alla prova scritta, seguirà (in data che verrà comunicata dal docente il giorno stesso della prova scritta) una prova orale che verte prevalentemente sulla discussione del compito; a discrezione del docente, è prevista una ulteriore domandina orale (valutata da -2 a + 2 punti). L'esame si conclude con la verbalizzazione dell'avvenuto superamento o meno relativamente al modulo di "sistemi operativi". Si ricorda che l'effettiva registrazione dell'intero corso di INFORMATICA II avverrà solo dopo aver superato entrambi i moduli (modulo di programmazione ad oggetti + sistemi operativi) nell'arco di un ANNO SOLARE. Per esempi di compiti passati, vedi pagina web dell'a.a. 2009/2010 .
Esito e soluzione della prova scritta del 23 Giugno 2011
Esito e soluzione della prova scritta del 4 Luglio 2011
Esito e soluzione della prova scritta del 5 Settembre 2011
Esito&soluzione della prova scritta del 24 Gennaio 2012
Esito&soluzione della prova scritta del 8 Febbraio 2012
Esito&soluzione della prova scritta del 25 Giugno 2012
Esito&soluzione della prova scritta del 13 Luglio 2012
Esito&soluzione della prova scritta del 5 Settembre 2012
Esito&soluzione della prova scritta del 14 Gennaio 2013
Esito&soluzione della prova scritta del 29 Gennaio 2013
Esito&soluzione della prova scritta dell' 11 Settembre 2013
Risultati della prova scritta del 16 Gennaio 2014
Esito&soluzione della prova scritta del 4 Febbraio 2014
Durante la lezione di laboratorio di giovedì 24 Maggio 2011 dalle 10.30 alle 13.30 in aula 5, l'Ingegnere Flavio Castelli (ex-studente del nostro corso di laurea) terrà un seminario sui sistemi operativi "Linux-like". Résumé di Flavio Castelli: si è laureato in Ingegneria Informatica presso l'Università degli studi di Bergamo. Attualmente lavora come software engineer in un gruppo di ricerca e sviluppo all'interno di SUSE Linux. Contribuisce attivamente allo sviluppo di alcuni progetti open-source tra i quali spicca KDE. Promotore del sofware libero, ha tenuto numerose conferenze anche in occasione di eventi internazionali. E' inoltre segretario del Linux group di Bergamo e membro del KDE e.V. Per curiosare un pò nella sua vita, consultate la pagina web: NOTA: Per l'evento è importante presentarsi muniti di un CD di installazione "live" di Linux Fedora (KDE). Per creare questo CD basta seguire le seguenti istruzioni:
Docente: Domenico Taliaemail: talia@deis.unical.itOBIETTIVI E ORGANIZZAZIONE DEL CORSOIlcorso di Sistemi Operativi ha lo scopo di introdurre i principi di funzionamentoe di progetto dei sistemi operativi ed i concetti e i meccanismi fondamentaliper la gestione dei processi, della memoria, dell'I/O e del file system sui cuisono basati i sistemi operativi moderni. Infine sono presentati dei cenni aisistemi operativi distribuiti. Nel corso si pone una particolare enfasi suimeccanismi di cooperazione e comunicazione tra processi e vengono presentati ediscussi esempi di programmazione concorrente tramite l'utilizzo dei meccanismidi concorrenza di Java e delle system call offerte dal sistema operativo UNIX.CONTENUTI DEL CORSOIntroduzione Concetti fondamentali, Dai sistemi batch ai sistemi operativi moderni, Struttura del sistema operativo, Componenti di un sistema operativo, System calls.
- D.A. Patterson, J.L.Hennessy, "Struttura e progetto dei calcolatori", Zanichelli 2010- A. S. Tanenbaum, "I moderni sistemi operativi", Prentice Hall International - Jackson Libri- G. Bucci, "Architettura e organizzazione dei calcolatori elettronici", McGraw-Hill, 2009- Paolo Tosoratti, "Introduzione all'informatica", seconda edizione, Casa Editrice Ambrosiana, 1998 2ff7e9595c
Commentaires