Offerta Didattica
INFORMATICA
SISTEMI OPERATIVI
Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2018/2019
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 | 4 | 0 | 104 | 64 | 40 | 0 |
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
Fornire una conoscenza di base ed avanzate del funzionamento dei moderni sistemi operativi, e di come, ai fini di garantire un ragionevole compromesso tra efficienza, sicurezza e facilità d’uso, vengono amministrate le risorse fondamentali della macchina su cui il sistema operativo è installato (il processore, la memoria principale, la memoria secondaria e i sistemi I/O) e sui sistemi distribuiti ed orientati alle reti.Learning Goals
Providing basic and advanced knowledge of modern operating systems, and how resources are administered on a single machine (processor, main memory, memory, etc.). and I/O systems) and on distributed and network-oriented systems, also considering issues related to efficiency, security and usability.Metodi didattici
Lezioni frontali, laboratorio di programmazione e laboratorio di amministrazione LinuxTeaching Methods
Lectures, concurrent programing laboratory, laboratory on Linux administrationPrerequisiti
Nozioni di architetture dei calcolatori, programmazione in linguaggio C.Prerequisites
Basics on computer architecture, C programmingVerifiche dell'apprendimento
Esercizio su programmazione concorrente, discussione sugli argomenti in programma, progetto pratico (opzionale).Assessment
Exercise on cuncurrent programming, discussion on topics specified in the program if the course, practical project (optional).Programma del Corso
Sistemi di I/O: Hardware di I/O, I/O memory mapped; tecniche per la gestione dei dispositivi di I/O: a controllo di programma, Polling, I/O interrupt driven e Direct Memory Access; interfaccia di I/O delle applicazioni, sottosistema I/O del kernel; Loadable Kernel Module (LKM), Linux I/O, directory /dev e /proc. Memoria di massa: struttura dei dispositivi di memorizzazione, scheduling dei dischi rigidi e di dispositivi NVM, rilevamento e correzione errori, rilevamento e correzione degli errori; connessione dei dispositivi di memorizzazione: host attached storage, network-attached storage, cloud storage, storage area network, storage array; mirroring, striping, strutture RAID, Multiple Device Administrator (mdadm) tool. Reti e sistemi distribuiti: sistemi operativi di rete e distribuiti; file system distribuiti: Network File System (NFS),Google File System (GFS) e Hadoop File System (HDFS). Sicurezza: CIA triad, minacce ed attacchi; minacce legate ai programmi: cavallo di troia, spyware, ransomware, back door, trap door, bomba logica, code injection, worm, virus; minacce legate ai sistemi ed alle reti: zombie, sniffing, spoofing, attacchi Denial of Service (DoS), man in the middle, session hijacking, port scanning; crittografia simmetrica ed asimmetrica, DES e RSA, firma digitale, identità digitale, Certification Authority, Hashing; autenticazione degli utenti: vulnerabilità delle password, one-time-pad, tecniche biometriche; misure di sicurezza: valutazione del rischio, protezione e prevenzione; autenticazione degli utenti e dei gruppi in linux, stat system call, Pluggable Authentication Modules (PAM), openSSL. Protezione: principio del minimo privilegio, principio della compartimentazione e principio della necessità di sapere; anelli di protezione, domini di protezione, matrice d'accesso. Macchine virtuali: trap and emulate, traduzione binaria, assistenza hardware; tipologie di virtualizzazione: hypervisor, paravirtualizzazione, virtualizzazione dell'ambiente di programmazione, emulazione, container. Linguaggi di scripting; scripting bash: she-bang, variabili, variabili d'ambiente, strutture di controllo, operatori relazionali; Pattern Matching e stream editor sed.Course Syllabus
Sistemi di I/O: Hardware di I/O, I/O memory mapped; tecniche per la gestione dei dispositivi di I/O: a controllo di programma, Polling, I/O interrupt driven e Direct Memory Access; interfaccia di I/O delle applicazioni, sottosistema I/O del kernel; Loadable Kernel Module (LKM), Linux I/O, directory /dev e /proc. Memoria di massa: struttura dei dispositivi di memorizzazione, scheduling dei dischi rigidi e di dispositivi NVM, rilevamento e correzione errori, rilevamento e correzione degli errori; connessione dei dispositivi di memorizzazione: host attached storage, network-attached storage, cloud storage, storage area network, storage array; mirroring, striping, strutture RAID, Multiple Device Administrator (mdadm) tool. Reti e sistemi distribuiti: sistemi operativi di rete e distribuiti; file system distribuiti: Network File System (NFS),Google File System (GFS) e Hadoop File System (HDFS). Sicurezza: CIA triad, minacce ed attacchi; minacce legate ai programmi: cavallo di troia, spyware, ransomware, back door, trap door, bomba logica, code injection, worm, virus; minacce legate ai sistemi ed alle reti: zombie, sniffing, spoofing, attacchi Denial of Service (DoS), man in the middle, session hijacking, port scanning; crittografia simmetrica ed asimmetrica, DES e RSA, firma digitale, identità digitale, Certification Authority, Hashing; autenticazione degli utenti: vulnerabilità delle password, one-time-pad, tecniche biometriche; misure di sicurezza: valutazione del rischio, protezione e prevenzione; autenticazione degli utenti e dei gruppi in linux, stat system call, Pluggable Authentication Modules (PAM), openSSL. Protezione: principio del minimo privilegio, principio della compartimentazione e principio della necessità di sapere; anelli di protezione, domini di protezione, matrice d'accesso. Macchine virtuali: trap and emulate, traduzione binaria, assistenza hardware; tipologie di virtualizzazione: hypervisor, paravirtualizzazione, virtualizzazione dell'ambiente di programmazione, emulazione, container. Linguaggi di scripting; scripting bash: she-bang, variabili, variabili d'ambiente, strutture di controllo, operatori relazionali; Pattern Matching e stream editor sed.Testi di riferimento: A.Silberschatz, P.B.Galvin, G.Gagne, "Sistemi operativi. Concetti ed esempi", Pearson/Addison Wesley
Tanenbaum, H. Bos, "i Moderni sistemi operativi, Pearson/Addison Wesley
Mark Mitchell, Jeffrey Oldham, Alex Samul, "Advanced Linux Programming"
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: MARIA FAZIO
Orario di Ricevimento - MARIA FAZIO
Dato non disponibile