72947 - SISTEMI OPERATIVI M

Scheda insegnamento

  • Docente Anna Ciampolini

  • Crediti formativi 8

  • SSD ING-INF/05

  • Modalità didattica Convenzionale - Lezioni in presenza

  • Lingua di insegnamento Italiano

  • Campus di Bologna

  • Corso Laurea Magistrale in Ingegneria informatica (cod. 5826)

SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.

Istruzione di qualità Parità di genere Imprese innovazione e infrastrutture

Anno Accademico 2023/2024

Conoscenze e abilità da conseguire

Conoscenza delle problematiche di progetto relative all'organizzazione di sistemi concorrenti. Modelli di riferimento per la sincronizzazione e comunicazione tra processi. Metodologie di analisi e sintesi di sistemi concorrenti.

Contenuti

1.Protezione e sicurezza

  • Richiami sulla protezione: modelli, politiche e meccanismi
  • Sicurezza multilivello
  • Reference Monitor e sistemi fidati

2. Virtualizzazione

  • Virtualizzazione dell'hardware: finalità e soluzioni
  • Realizzazione di virtual machine monitor: virtualizzazione e paravirtualizzazione
  • Analisi e sperimentazione di tecnologie: il caso di xen
  • Virtualizzazione come supporto al cloud computing

3. Programmazione concorrente

  • Introduzione e definizioni
  • Processi non sequenziali.
  • Tipi di interazione
  • Architetture e linguaggi per la programmazione concorrente

4. Modello a memoria comune

Richiami su:

  • Mutua esclusione
  • Semafori
  • Monitor
  • Variabili condizione

Uso di linguaggi concorrenti nel modello a memoria comune. La libreria pthreads.

5. Modello a scambio di messaggi

  • Aspetti caratterizzanti
  • Richiami su canali e primitive
  • Primitive send e receive
  • Comandi con guardia
  • Rendez-vous e chiamata di procedura remota

Uso di Linguaggi concorrenti nel modello a scambio di messaggi: go, ada.

6. Nucleo di un sistema a processi basato sul modello a memoria comune:

  • Realizzazione dei meccanismi di gestione dei thread e di sincronizzazione all’interno del kernel di un sistema monoprocessore
  • Estensione al caso multiprocessore: Modello a nucleo condiviso SMP, Modello loosely-coupled.

7. Sistemi distribuiti

  • applicazioni distribuite: approccio centralizzato e decentralizzato. Scalabilità e tolleranza ai guasti.
  • algoritmi per la sincronizzazione i sistemi distribuiti: orologi logici, mutua esclusione distribuita, algoritmi di elezione.

8. Programmazione parallela

  • Architetture per il calcolo parallelo. Sistemi HPC.
  • modelli di programmazione parallela: memoria comune e memoria distribuita
  • Sviluppo di applicazioni parallele: le libreria MPI e open MP
  • Cenni a GPGPU e alla libreria CUDA.

Testi/Bibliografia

  • P.Ancilotti, M.Boari: 'Programmazione concorrente e distribuita', McGraw-Hill.
  • G.R.Andrews: "Foundations of Multithreaded, Parallel and Distributed Programming", Addison-Wesley
  • Peter Pacheco, An Introduction to Parallel Programming, Morgan Kauffmann, 2011
  • P.Ancilotti, M.Boari A.Ciampolini,G.Lipari: ' Sistemi Operativi', seconda edizione, McGraw-Hill
  • W.Stallings: 'Sistemi operativi', Jackson Libri
  • S. Tanenbaum: 'I Moderni Sistemi Operarivi', Jackson Libri
  • A.Silberschatz, P.Galvin, G.Gagne: 'Applied Operating System Concepts' I edizione, John Wiley & Son, Inc.

Metodi didattici

Le lezioni frontali saranno integrate con attività di laboratorio assistite che si svolgeranno presso i laboratori della Scuola di Ingegneria e Architettura.

In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai Moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, in modalità e-learning.

Modalità di verifica e valutazione dell'apprendimento

Prova di laboratorio: sviluppo di applicazioni concorrenti nel modello a memoria comune e nel modello a scambio di messaggi.
Prova orale.

Strumenti a supporto della didattica

Le lezioni in aula vengono svolte anche con l'ausilio di slides e videoproiettore.
Le slides vengono rese disponibili a tutti gli studenti tramite il sito web del corso.
Assegnazione di una macchina virtuale ad ogni studente del corso.


Orario di ricevimento

Consulta il sito web di Anna Ciampolini