Offerta Didattica

 

INFORMATICA

SISTEMI OPERATIVI

Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2019/2020
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01CaratterizzanteLiberaLibera
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
128049648048
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

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à duso, 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 Linux

Teaching Methods

Lectures, concurrent programing laboratory, laboratory on Linux administration

Prerequisiti

Nozioni di architetture dei calcolatori, programmazione in linguaggio C.

Prerequisites

Basics on computer architecture, C programming

Verifiche 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 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

I/O systems: I/O Hardware, I/O memory mapped; techniques for the management of I/O devices: programm control, Polling, I/O interrupt driven and Direct Memory Access; I/O interfaces of applications, I/O kernel subsystem; Loadable Kernel Module (LKM), Linux I/O, /dev and /proc directories. Mass memory: organization of storage devices, scheduling strategies for HD and NVM devices, detection and correction of errors; connection of storage devices: host attached storage, network attached storage, cloud storage, storage area network, storage array; mirroring, striping, RAID structures, Multiple Device Administrator (mdadm) tool. Networks and distributed systems: network and distributed operative systems; distributed file systems: Network File System (NFS),Google File System (GFS) and Hadoop File System (HDFS). Security: CIA triad, threats and attacks; threats from programming: Trojan Horse, spyware, ransomware, back door, trap door, logic bomb, code injection, worm, virus; threats coming from systems and networks: zombie, sniffing, spoofing, Denial of Service (DoS) attack, man in the middle, session hijacking, port scanning; simmetric ed asimmetric cryptography, DES e RSA, digital sign, digital identity, Certification Authority, Hashing; user autentication: password vulnerability, one-time-pad, biometric techniques; security measures: risk analysis, protection and prevenction; user and group authentication in Linux, stat system call, Pluggable Authentication Modules (PAM), openSSL. Protection: minimum privilege principle, compartmentalization principle and need-to-know principle ; protection rings, protection domains, access matrix. Virtual machines: trap and emulate, binary translation, hardware assistance; types of virtualization: hypervisor, paravirtualization, virtualization of the programming environment, emulation, container. Scripting languages; bash scripting: she-bang, variables, environment variables, control structures, relational operators; Pattern Matching and sed stream editor.

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"

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: MARIA FAZIO

Orario di Ricevimento - MARIA FAZIO

Dato non disponibile
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti