Offerta Didattica
INFORMATICA
SISTEMI OPERATIVI
Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2017/2018
Sedi: MESSINA
SSD | TAF | tipologia | frequenza | moduli |
---|---|---|---|---|
INF/01 | Caratterizzante | Libera | Libera | Sì |
CFU | CFU LEZ | CFU LAB | CFU ESE | ORE | ORE LEZ | ORE LAB | ORE ESE |
---|---|---|---|---|---|---|---|
12 | 8 | 0 | 4 | 104 | 64 | 0 | 40 |
LegendaCFU: n. crediti dell’insegnamento CFU LEZ: n. cfu di lezione in aula CFU LAB: n. cfu di laboratorio CFU ESE: n. cfu di esercitazione FREQUENZA:Libera/Obbligatoria MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli ORE: n. ore programmate ORE LEZ: n. ore programmate di lezione in aula ORE LAB: n. ore programmate di laboratorio ORE ESE: n. ore programmate di esercitazione SSD:sigla del settore scientifico disciplinare dell’insegnamento TAF:sigla della tipologia di attività formativa TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio
Obiettivi Formativi
Architettura di un sistema operativoLearning Goals
Metodi didattici
Lezioni frontali. - Laboratorio di programmazione concorrente.Teaching Methods
Prerequisiti
Nozioni di architetture dei calcolatoriPrerequisites
Verifiche dell'apprendimento
Discussione sugli argomenti in programma. - Esercizio di programmazione concorrente.Assessment
Programma del Corso
Generalità sui Sistemi Operativi: sistemi monolitici, sistemi a livelli, macchine virtuali, sistemi distribuiti client-server. Definizione di Processo, Memoria Virtuale, File System, System Call, Kernel, Shell. * Storia dei Sistemi Operativi: dalla mono alla multiprogrammazione; il concetto di multitasking. * Modello di interazione tra CPU e dispositivi. Sistema di interruzione. Interruzioni e multiprogrammazione. Processo di interruzione. Modi di funzionamento della CPU. * Gestione dei Processi: modello di un processo, vita di un processo, meccanismi di controllo. La Schedulazione a breve termine (di CPU), la Schedulazione a medio termine (swapping), La Schedulazione a lungo termine (dei processi): algoritmi di schedulazione (senza prelazione, con prelazione, Round Robin, con priorità, code multiple, SJF). * La Mutua Esclusione: corse critiche, mutua esclusione, sospensione e risveglio, stallo, meccanismi di condivisione della memoria e scambio messaggi. Meccanismi di sincronizzazione tra processi: semafori. La Comunicazione Inter-Processo (IPC) e i suoi problemi: esempio del produttore-consumatore. La Gestione dei Processi e IPC in ambiente distribuito (accenni). I Threads: definizione, sistemi operativi multi-threaded, rapporto tra threads e processi. * Blocco critico (deadlock). Condizioni e soluzioni. * Gestione della Memoria: partizionamento fisso, rilocazione e protezione; gestore con swapping: multiprogrammazione a partizioni variabili, squeeze (compattamento). Memoria Virtuale: definizione di spazio di indirizzamento virtuale, MMU, overlay e paginazione, Virtual Page Table a uno o più livelli. Segmentazione. * Gestione dei File: file system (struttura gerarchica in file e directory, tipi di file system). Implementazione del file system Unix: proprietà e modi di accesso, descrittori di file, protezione e sicurezza del file system; file speciali a blocchi e caratteri. * Gestione dell'Input/Output. Meccanismo delle Interruzioni. Driver delle interruzioni, driver dei dispositivi (device driver a blocchi o caratteri). Sottosistema di I/O del kernel Unix. Laboratorio * La gestione dei processi. * La libreria pthread. Gestione dei thread, mutex, semafori. * La comunicazione tra processi. * Esercitazioni su programmazione concorrente. * Protezione: Scopi di protezione principi - Controllo di accesso alle risorse - Meccanismi (Domini ACL, Capability, sistemi fidati, tcb, modelli formali di sistemi sicuri) sicurezza multilivello - canali segreti * Sicurezza - Ambiente - Sicurezza dei so- Basi della crittografia (crittografia a chiave simmetrica, principio di shannon, DES, cifratura a chiave asimmetrica, RSA, Sicurezza dell’RSA, funzioni di autenticazione, funzioni di hash, firme digitali) * Autenticazione (password, tramite oggetto fisico, biometrica) - Introduzione alla biometria - Sfruttare gli errori software (attacchi di tipo buffer overflow, attacchi di tipo format string, dangling pointer, attacchi di deferenziazione di un puntatore null, attacchi di tipo commando injection) - Attacchi dall'interno (bombe logiche, trap door, spoofing del login) - Malware (cavalli di troia, virus, worm, spyware, rootkit) - Difese (firewall, antivirus, firma del codice, jailing, rilevamento delle istruzioni basato su un modello) Sistemi a più processori - * Multiprocessori: hw, tipi di so, sincronizzazione dei multiprocessori, scheduling dei multiprocessori * Multicomputer: hw, software di comunicazione di basso livello e a livello utente, chiamata di procedura remota, memoria condivisa distribuita, scheduling, bilanciamento del carico * Sistemi distribuiti: hw, protocolli e servizi di rete, middleware basato sui documenti, filesystem e coordinazione * Linux (processi, gestione della memoria, I/O, filesystem, sicurezza)Course Syllabus
Testi di riferimento: A.Silberschatz, P.B.Galvin, G.Gagne, "Sistemi operativi. Concetti ed esempi", Pearson/Addison Wesley D.Giacomini, "Appunti di Linux", (sito web). Mark Mitchell, Jeffrey Oldham, Alex Samul, "Advanced Linux Programming" (sito web) A. S. Tanenbaum, H. Bos, "i Moderni sistemi operativi, Pearson/Addison Wesley
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
SISTEMI OPERATIVI - Modulo A
Docente: MARCO LUCIO SCARPA
Orario di Ricevimento - MARCO LUCIO SCARPA
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Martedì | 09:30 | 11:30 | Dipartimento di Ingegneria, Blocco B, piano 7. |
Giovedì | 09:30 | 11:30 | Dipartimento di Ingengeria, Blocco B, piano 7. |
Note:
SISTEMI OPERATIVI - Modulo B
Docente: SANTA AGRESTE
Orario di Ricevimento - SANTA AGRESTE
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Mercoledì | 13:30 | 15:30 |
Note: