Offerta Didattica
INFORMATICA
OPERATING SYSTEMS
Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2022/2023
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 | 96 | 48 | 0 | 48 |
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
L'obiettivo principale del corso è l'acquisizione delle conoscenze di base sulla struttura dei moderni Sistema Operativoi"general purpose” mettendo in evidenza i meccanismi di basso livello che rendono possibile il funzionamento multiprogrammato, distribuito e virtualizzato.Learning Goals
Metodi didattici
Al fine di raggiungere gli obiettivi formativi previsti, il corso si articola attraverso lezioni frontali, esercitazioni in aula, esercitazioni guidate dal docente. Tutte le attività sono svolte con supporto di slide delle lezioni. Le slide presentate sono condivise tramite la classe MS Teams dedicata.Teaching Methods
Prerequisiti
Conoscenze di programmazione C, e di algoritmi e strutture dati avanzate. Nozioni di architetture dei calcolatori.Prerequisites
Verifiche dell'apprendimento
La verifica orale ha una valutazione massima di 26. L’esame prevede un progetto opzionale, a scelta dello studente. Il progetto viene discusso in sede di verifica orale ed ha una valutazione compresa tra 0 e 5. Il voto finale è dato dalla somma del voto dell’esame orale ed, eventualmente, del progetto.Assessment
Programma del Corso
------------------------------------------------------------ Modulo: A000869 - VIRTUALIZATION SYSTEMS ------------------------------------------------------------ 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). Macchine virtuali: trap and emulate, traduzione binaria, assistenza hardware; tipologie di virtualizzazione: hypervisor, paravirtualizzazione, virtualizzazione dell'ambiente di programmazione, emulazione. Gestione di CPU, memoria, archiviazione e dispositivi aggiuntivi per una VM. Comprensione delle applicazioni in una VM. Confronto tra hypervisor, VMware ESX, CitrixXen, Microsoft Hyper-V, altre soluzioni. Migrazione delle VM, Migrazione Cold e Live, pre-copy e post-copy. Differenza tra Container e Macchine Virtuali, Orchestrazione di VM. Container engine. Applicazioni monolitiche e orientate ai microservizi. Cloud computing, livelli di servizi: IaaS, PaaS e SaaS; Cloud pubbliche, private e ibride; Windows Azure, Google App Engine, Amazon Web Services; Cloud Operating System, scalabilità verticale ed orizzontale. Componenti architetturali di un IaaS, gestione distribuita delle infrastrutture virtuali, tecniche di schedulazione per la prenotazione anticipata di capacità, gestione della capacità per soddisfare i requisiti di SLA. Openstack. La Supply Chain Cloud, le metodologie di integrazione, un framework di integrazione sensore-cloud. ------------------------------------------------------------ Modulo: A000939 - OPERATING SYSTEMS ------------------------------------------------------------ Le strutture dei Sistemi operativi Processi Threads & Concurrency CPU Scheduling Strumenti di sincronizzazione Esempi di sincronizzazione deadlock memoria centrale memoria virtuale struttura della memoria di massa sistemi di I/O File-System Interface File-System Internals Security Protection Macchine virtuali Real-Time Operating SystemsCourse Syllabus
Testi di riferimento: ------------------------------------------------------------
Modulo: A000869 - VIRTUALIZATION SYSTEMS
------------------------------------------------------------
A.Silberschatz, P.B.Galvin, G.Gagne, Operating System Concepts,
Matthew Portnoy, Virtualization Essentials, 2nd Edition, John Wiley & Sons.
Rajkumar Buyya, James Broberg , Andrzej M. Goscinski. CLOUD COMPUTING Principles and Paradigms, Wiley.
------------------------------------------------------------
Modulo: A000939 - OPERATING SYSTEMS
------------------------------------------------------------
1.
Operating System Concepts
Tenth Edition
Avi Silberschatz
Peter Baer Galvin
Greg Gagne
John Wiley & Sons, Inc.
ISBN 978-1-118-06333-0
2.
FreeRTOS Documentation
https://www.freertos.org/Documentation/RTOS_book.html
3.
Mark Mitchell, Jeffrey Oldham, Alex Samul, "Advanced Linux Programming" (https://richard.esplins.org/static/downloads/linux_book.pdf)
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
Docente: VALERIA LUKAJ
Orario di Ricevimento - VALERIA LUKAJ
Dato non disponibile
Docente: MARIA FAZIO
Orario di Ricevimento - MARIA FAZIO
Dato non disponibile