72947 - SISTEMI OPERATIVI M

Anno Accademico 2019/2020

  • Docente: Anna Ciampolini
  • Crediti formativi: 8
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea Magistrale in Ingegneria informatica (cod. 0937)

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: Java, c/pthread, Ada.

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 operativi distribuiti

  • caratteristiche dei sistemi operativi distribuiti
  • algoritmi per il controllo distribuito: mutua esclusione distribuita, algoritmi di elezione, gestione deadlock.

8.Azioni atomiche

  • Proprietà
  • Azioni atomiche multiprocesso
  • Azioni atomiche innestate
  • Uso di azioni atomiche nei sistemi distribuiti
  • Realizzazione dell'azione atomica nel modello a scambio di messaggi e nel modello a memoria comune

Testi/Bibliografia

- P.Ancilotti, M.Boari: 'Programmazione concorrente e distribuita', McGraw-Hill.
- P.Ancilotti, M.Boari A.Ciampolini,G.Lipari: ' Sistemi Operativi', seconda edizione, McGraw-Hill
- G.R.Andrews: "Foundations of Multithreaded, Parallel and Distributed Programming", Addison-Wesley
- 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

Lezioni ed esercitazioni in aula.

Esercitazioni in laboratorio.

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.

Link ad altre eventuali informazioni

http://lia.disi.unibo.it/Courses/som

Orario di ricevimento

Consulta il sito web di Anna Ciampolini

SDGs

Istruzione di qualità Imprese innovazione e infrastrutture Lotta contro il cambiamento climatico

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