• Non ci sono risultati.

Sistemi Operativi M

N/A
N/A
Protected

Academic year: 2021

Condividi "Sistemi Operativi M"

Copied!
13
0
0

Testo completo

(1)

Universita` di Bologna

Corso di Laurea Magistrale in Ing. Informatica A.A. 2011-2012

Sistemi Operativi M

Prof. Anna Ciampolini

http://www.lia.deis.unibo.it/Courses/som1112

(2)

Obiettivi del Corso

•  Completare la trattazione sulla teoria dei sistemi operativi (v. Sistemi Operativi LA):

•  Protezione e sicurezza

•  Tecnologie di Virtualizzazione

•  Approfondire la conoscenza sulla programmazione concorrente sia in ambiente a memoria comune che in ambiente distribuito

•  Sperimentare le tecniche di programmazione concorrente mediante lo sviluppo di programmi concorrenti in ambiente linux (P-thread) e in Java.

Prerequisiti:

–  Calcolatori Elettronici L-A

–  Sistemi operativi L-A o Sistemi Operativi T

(3)

Programma

1. Protezione

    1.1 Domini di protezione     1.2 Matrice degli accessi

    1.3 Liste di controllo degli accessi e capabilities 1.4 Sicurezza multilivello

1.5 Reference Monitor

2. Sistemi per la Virtualizzazione 2.1 Virtualizzazione dell'hardware

2.2 Realizzazione di virtual machine monitor: virtualizzazione e paravirtualizzazione

2.3 Analisi e sperimentazione di prodotti

(4)

3. Programmazione concorrente     3.1 Introduzione e definizioni

    3.2 Processi non sequenziali. Decomposizione e tipi di interazione

    3.3 Architetture e linguaggi per la programmazione concorrente

   3.4 Introduzione ai thread

4. Modello a memoria comune.

    4.1 Aspetti caratterizzanti     4.2 Mutua esclusione

    4.3 Semafori

    4.4 Semafori privati

    4.5 Monitor

(5)

5 .Deadlock

5.1 Condizioni per il blocco critico e possibili soluzioni 5.2 Prevenzione statica e dinamica del deadlock.

6. Nucleo di un sistema a processi     6.1 Strutture dati

    6.2 Funzioni

    6.3 Estensione al caso multiprocessore 7. Modello a scambio di messaggi

    7.1 Aspetti caratterizzanti     7.2 Primitive send e receive     7.3 Comandi con guardia

    7.4 Chiamata di procedure remote 8. Azioni atomiche

    8.1 Proprietà

    8.2 Azioni atomiche multiprocesso     8.3 Azioni atomiche innestate

    8.4 Sistemi distribuiti

(6)

Orario

A regime:

•  In aula: 5-6 ore/settimana

•  In laboratorio (Lab2): 2 ore ogni 2 settimane circa giovedì 11-13, a partire dalla terza settimana.

(7)

Attivita` di laboratorio

•  Verranno proposte esercitazioni pratiche per sperimentare sul campo le tecniche di programmazione concorrente

presentate in aula.

•  Strumenti usati:

–  Java

–  LinuxThreads (pthread) - Ada

(8)

Modalita` di Esame

•  L'esame sarà costituito da:

–  una prova pratica di progetto –  una prova orale.

•  Prova Pratica: consiste nel progetto e nello sviluppo di un'applicazione concorrente che risolve un problema di sincronizzazione dato (da svolgersi in laboratorio).

Prova Orale: interrogazione su tutto il programma.

NB: Per poter sostenere l'orale e` necessario aver superato la prova pratica.

(9)

Esame: valutazione

•   Prova Pratica: voto in trentesimi (Vp)

•   Prova Orale: voto in trentesimi (Vo)

Voto finale = 0,6.Vo + 0,4.Vp

(10)

Date d'esame

•   Prove Pratiche:

–   3 appelli nella sessione invernale (gennaio- febbraio 2012)

•   Prove Orali:

–   Consecutive alle prove pratiche (10 giorni dopo circa)

Date e Iscrizioni su Almaesami

(11)

Bibliografia

•   Testo di riferimento:

P.Ancilotti, M.Boari: PROGRAMMAZIONE

CONCORRENTE E DISTRIBUITA , McGraw - Hill, 2006.

•   Per approfondire e completare gli argomenti trattati:

G.R.Andrews: "Foundations of Multithreaded,

Parallel and Distributed Programming", Addison-

Wesley

(12)

Bibliografia

•   Testi generali sui Sistemi Operativi:

P.Ancilotti, M.Boari, A.Ciampolini: "Sistemi operativi", seconda edizione, McGraw-Hill – 2008

A.S. Tanenbaum: “I moderni sistemi operativi”, Pearson - Prentice Hall

A.Silberschatz, P.Galvin, G.Gagne: "Applied

Operating System Concepts" (versione italiana) I edizione, John Wiley & Son, Inc.

W.Stallings: "Sistemi operativi", Jackson Libri

(13)

Attività progettuali

•   Saranno proposte attività progettuali su argomenti trattati nel corso (v. sito web)

•   Ogni Attività Progettuale vale 3 CFU (75 ore di lavoro), deve essere svolta in autonomia dallo studente e discussa in sede di orale.

•   Le attività progettuali scelte devono essere

inserite esplicitamente nel proprio piano di studi

Riferimenti

Documenti correlati

 oppure un nuovo processo entra nella coda dei processi pronti e la sua priorità è più alta della priorità dell'attuale processo in

• A priorità uguale viene scelto il task in attesa da più tempo – Tempo reale con politica RR a priorità. • Prerilascio per quanti con ritorno in fondo alla coda – Divisione

– Codice, dati, stack, tabella delle pagine (altrimenti in lista pagine libere).. Mappa delle pagine

• Ciascuna voce nella tabella di processo punta a una voce nella tabella globale che specifica diritti e posizione di R/W corrente nel file. – La stessa voce  file condiviso

La classe dispone inoltre dei metodi goIn() e goIn(millis) (passato il timeout millis, si risolve senza l'accesso) con cui gli invitati provano ad entrare alla festa, del

~ = è la directory corrente, detta anche di lavoro ( in questo esempio la directory è la “home directory”, o directory personale, dell'utente e viene indicata con

Per iniziare una sessione di lavoro, si deve accendere una postazione LINFAxx facendo attenzione che faccia il boot in LINUX e uno studente si deve autenticare con le proprie

PETERSON J., SILBERSCHTZ A., Operating System Concepts, Casa Editrice Addison-Wesley, 1990 (anche versione italiana: SILBERSCHATZ A., GALVIN P., Sistemi Operativi (quarta