Offerta Didattica

 

INFORMATICA

SISTEMI OPERATIVI

Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2017/2018
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01CaratterizzanteLiberaLibera
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
1280410464040
Legenda
CFU: 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 operativo

Learning Goals


Metodi didattici

Lezioni frontali. - Laboratorio di programmazione concorrente.

Teaching Methods


Prerequisiti

Nozioni di architetture dei calcolatori

Prerequisites


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

Elenco delle unità didattiche costituenti l'insegnamento

SISTEMI OPERATIVI - Modulo A

Docente: MARCO LUCIO SCARPA

Orario di Ricevimento - MARCO LUCIO SCARPA

GiornoOra inizioOra fineLuogo
Martedì 09:30 11:30Dipartimento di Ingegneria, Blocco B, piano 7.
Giovedì 09:30 11:30Dipartimento di Ingengeria, Blocco B, piano 7.
Note:

SISTEMI OPERATIVI - Modulo B

Docente: SANTA AGRESTE

Orario di Ricevimento - SANTA AGRESTE

GiornoOra inizioOra fineLuogo
Mercoledì 13:30 15:30
Note:
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti