ing. Salvatore Sorce, Ph.D.

Didattica


Home | Curriculum | Didattica | Ricerca | Pubblicazioni | Contatti


Corso di Laurea in Informatica

Sistemi Operativi - 9 C.F.U.

Anno Accademico 2017/2018

Informazioni

Esami di profitto

Avvisi

Programma

Testi consigliati

Iscrizione agli appelli

Registro delle lezioni e materiale didattico

 

Pagina aggiornata l'ultima volta: venerdì 07 settembre 2018 19.38.


Avviso nr. 9 del 7 settembre 2018, ore 19:30 - esito prova del 5/9/2018 e verbalizzazione

La prossima verbalizzazione avrà luogo martedì 11/9 alle ore 11:00 presso l'aula 3. Per la verbalizzazione occorre conoscere le proprie credenziali di accesso al Portale Studenti di Ateneo, ed avere con sé un documento di riconoscimento.

Gli studenti che non possono essere presenti a questa sessione di verbalizzazione, potranno verbalizzare in una qualsiasi delle sessioni successive, previo accordo con il docente.

Gli studenti che devono verbalizzare esami precedenti, possono usare questa sessione di verbalizzazione.

Chiunque intenda prendere visione del proprio compito, potrà farlo subito prima della verbalizzazione.

L'esito della prova scritta del 5/9/2018 è disponibile qui.

 

Avviso nr. 8 del 6 luglio 2018, ore 16:30 - esito prova del 5/7/2018 e verbalizzazione

La prossima verbalizzazione avrà luogo martedì 10/7 alle ore 15:00 presso l'aula 3. Per la verbalizzazione occorre conoscere le proprie credenziali di accesso al Portale Studenti di Ateneo, ed avere con sé un documento di riconoscimento.

Gli studenti che non possono essere presenti a questa sessione di verbalizzazione, potranno verbalizzare in una qualsiasi delle sessioni successive, previo accordo con il docente.

Gli studenti che devono verbalizzare esami precedenti, possono usare questa sessione di verbalizzazione.

Chiunque intenda prendere visione del proprio compito, dovrà mandare email al docente entro domenica 8/7 per fissare un incontro, che presumibilmente avrà luogo nella mattinata di martedì 10/7.

L'esito della prova scritta del 5/7/2018 è disponibile qui.

Avviso nr. 7 del 26 giugno 2018, ore 00:30

La prossima verbalizzazione avrà luogo lunedì 2/7 alle 11:30 presso l'aula 5. Per la verbalizzazione occorre conoscere le proprie credenziali di accesso al Portale Studenti di Ateneo, ed avere con sé un documento di riconoscimento.

Gli studenti che non possono essere presenti a questa sessione di verbalizzazione, potranno verbalizzare in una qualsiasi delle sessioni successive, previo accordo con il docente.

Gli studenti che devono verbalizzare esami precedenti, possono usare questa sessione di verbalizzazione.

Chiunque intenda prendere visione del proprio compito, dovrà mandare email al docente entro venerdì 29/6 per fissare un incontro, che presumibilmente avrà luogo lunedì 2/7, prima della verbalizzazione.

L'esito della prova scritta del 25/6/2018 è disponibile qui.

Avviso nr. 6 del 14 giugno 2018, ore 18:00

L'esito della prova scritta del 13/6/2018 è disponibile qui.

La verbalizzazione avrà luogo martedì 19/6 alle 15:30 presso l'aula 1. Per la verbalizzazione occorre conoscere le proprie credenziali di accesso al Portale Studenti di Ateneo, ed avere con sé un documento di riconoscimento.

Gli studenti che non possono essere presenti a questa sessione di verbalizzazione, potranno verbalizzare in una qualsiasi delle sessioni successive, previo accordo con il docente.

Chi intende prendere visione del proprio compito, dovrà mandare email al docente entro domenica 17 per fissare un incontro, che presumibilmente avrà luogo nella mattinata di martedì 19/6.

Avviso nr. 5 del 23 maggio 2018, ore 14:00

La lezione di venerdì 1/6 non avrà luogo, e verrà recuperata giovedì 31/5, dalle 14 alle 16, presso l'aula 6 del DMI.

Avviso nr. 4 del 5 maggio 2018, ore 18:00

Le lezioni di recupero avranno luogo martedì 8 maggio, martedì 22 maggio, martedì 29 maggio, dalle 14:30 alle 16:30 presso il Laboratorio D1, ex-Consorzio Agrario.  

Avviso nr. 3 del 16 aprile 2018, ore 9:00

Come da calendario didattico, le lezioni sono sospese e riprenderanno mercoledì 2 maggio.

Avviso nr. 2 del 6 marzo 2018, ore 20:00

La lezione di lunedì 12 marzo non avrà luogo e verrà recuperata successivamente.

Avviso nr. 1 del 5 marzo 2018, ore 11:00

L'orario delle lezioni è così organizzato:


Modalità di iscrizione agli appelli

L'iscrizione agli appelli avverrà esclusivamente via web, attraverso il Portale Studenti dell'Università di Palermo (http://studenti.unipa.it).

 

Il calendario degli appelli previsti per la sessione estiva è organizzato come segue:

 


Informazioni

Ricevimento

NEW - durante il corso: il lunedì dalle 15:00 alle 16:00 presso la stanza nr. 208, via Archirafi, 28, II piano

dopo il corso: per appuntamento

Contatti

tel.: 09123862609

e-mail: N.B.: i messaggi e-mail senza subject e/o firma verranno cestinati


Testi consigliati


Programma


ESAMI DI PROFITTO - DA DEFINIRE

TBD


Registro delle lezioni e materiale utilizzato a lezione

Lezione Ore Data Argomenti Lucidi
1 3

lun 5 marzo 2018

ore 11:30-14:30

Introduzione al corso, informazioni, obiettivi.

Presentazione

Cos'è un sistema operativo - Storia dei sistemi operativi (I-III generazione) - Sistemi batch, multiprogrammazione, time sharing

Slides (.odp)




Slides (.pdf)
2 5 mer 7 marzo 2018
ore 10:30-12:30
Sistemi paralleli, sistemi distribuiti - Richiami di architetture dei calcolatori - Interrupt
3 7 ven 9 marzo 2018
ore 11:30-13:30
Comunicazione fra processore e dispositivi di I/O - Memoria: tipi, gerarchia, caching
4 9 mer 14 marzo 2018
ore 10:30-12:30
Protezione hardware, modo utente e modo kernel - Strutture dei sistemi operativi, system call
Concorrenza: definizioni, cause, problemi derivanti Slides
5 11 ven 16 marzo 2018
ore 11:30-13:30
Race conditions - Interazione tra processi - Safety e liveness - Azioni atomiche Slides
6 14

lun 19 marzo 2018

ore 11:30-14:30

Servizi di un S.O. - system calls - sistemi a strati - tipi di kernel - macchine virtuali Slides (.odp)

Slides (.pdf)
Rappresentazione dei processi - PCB, code - Tipi di scheduler e criteri Slides (.odp)


Slides (.pdf)
7 16 mer 21 marzo 2018
ore 10:30-12:30
Scheduling della CPU - Algoritmi di scheduling: FCFS, SJF+SRTF, Round-Robin, Priorità, Multilivello
8 18 ven 23 marzo 2018
ore 11:30-13:30
Gestione della memoria principale: Binding, loading, linking - Allocazione contigua a partizioni fisse e dinamiche, metodi di allocazione degli spazi liberi Slides (.odp)


Slides (.pdf)


Esercizi da svolgere
9 21

lun 26 marzo 2018

ore 11:30-14:30

Principio di località - Paginazione: definizione, funzionamento, paginazione multilivello - Segmentazione - Segmentazione paginata - Memoria virtuale: demand paging, algoritmo di sostituzione FIFO
10 23 mer 28 marzo 2018
ore 10:30-12:30
Algoritmi di sostituzione: MIN, LRU, Reference Bits (seconda chance), LFU, MFU - Trashing - Working set
11 25 mer 4 aprile 2018
ore 10:30-12:30
Gestione della memoria secondaria: collegamento al sistema, tipi di supporti - dischi magnetici, struttura, organizzazione, parametri caratteristici Slides (.odp)


Slides (.pdf)
12 27 ven 6 aprile 2018
ore 11:30-13:30
Scheduling del disco: algoritmi FCFS, SSTF, LOOK, C-LOOK, SCAN, C-SCAN - Gestione del disco - sistemi RAID
13 30 lun 9 aprile 2018
ore 11:30-14:30
Esercizi: algoritmi di scheduling della CPU  - algoritmi di sostituzione delle pagine  
14 32 mer 11 aprile 2018
ore 10:30-12:30
Il file system - punto di vista dell'utente: file, attributi, protezione, metodi di accesso. Directory: strutture, struttura del disco. Slides (.odp)



Slides (.pdf)
15 34 ven 13 aprile 2018
ore 11:30-13:30
Il file system - punto di vista del programmatore: struttura a livelli del FS, implementazioni. Metodi di allocazione: contigua, concatenata (variante con FAT), indicizzata. Gestione spazio libero.
16 36 mer 2 maggio 2018
ore 10:30-12:30
Sezioni critiche: introduzione, definizioni, condizioni.
Algoritmo di Dekker (dimostrazione), algoritmo di Peterson (dimostrazione).
Istruzioni <test_and_set> e <swap>
Slides (.odp)

Slides (.pdf)

Slides di supporto (dal testo in inglese, .pdf)
17 38 ven 4 maggio 2018
ore 11:30-13:30
18 41 lun 7 maggio 2018
ore 11:30-14:30
Introduzione a MPI: definizioni, comunicatori, primitive di inizializzazione e terminazione, primitive di comunicazione bloccanti, esercizi di esempio. Slides tutorial

Esercizi

Link al sito ufficiale MPI
19 43 mar 8 maggio 2018
ore 14:30-16:30
Esercizi con MPI: comunicazione sincrona mediante funzioni SEND e RECV bloccanti (anello) Esercizio
20 45 mer 9 maggio 2018
ore 10:30-12:30
Sezioni critiche: soluzioni in carico al sistema operativo. Semafori: implementazioni. Prove di funzionamento su problemi test: produttore/consumatore e buffer limitato. Slides (.odp)


Slides (.pdf)
21 47 ven 11 maggio 2018
ore 11:30-13:30
Prove di funzionamento dei semafori con problemi test: 5 filosofi e lettori/scrittori.
Sezioni critiche: soluzioni in carico al linguaggio di programmazione: monitor. Definizioni, implementazioni, funzioni sulle condizioni. Cenni alle prove di soluzione ai problemi test mediante monitor.
Sezioni critiche: soluzione con message passing. Definizioni, funzioni send e receive. Message passing sincrono, asincrono e totalmente asincrono. Cenni alle prove di soluzione ai problemi test mediante Message Passing.
22 50 lun 14 maggio 2018
ore 11:30-14:30
MPI: funzioni di comunicazione bloccante e non bloccante, sincrona e asincrona.
Funzioni di comunicazione collettiva.
Esempio: moltiplicazione di matrici righe_x_colonne.
Slides (.pdf)

Esercizio
23 52 mer 16 maggio 2018
ore 10:30-12:30
Gestione del deadlock: condizioni necessarie e sufficienti, rilevamento e recupero, prevenire/evitare.
Strutture dati necessarie, grafo di Holt, algoritmo del banchiere.
Slides (.pdf)


Slides (.odp)
24 54 ven 18 maggio 2018
ore 11:30-13:30
25 57 lun 21 maggio 2018
ore 11:30-14:30
Esercizi MPI: uso di sendrecv, esempi di comunicazione con Send bloccante e non bloccante, uso di Barrier Esercizi
26 59 mar 22 maggio 2018
ore 14:30-16:30
Esercizi MPI: uso di broadcast, implementazione dell'algoritmo produttore-consumatore Esercizi
27 61 mer 23 maggio 2018
ore 10:30-12:30
Sistemi distribuiti: motivazioni, concetti base. Tipi di connessione di rete. Slides (.pdf)
28 63 ven 25 maggio 2018
ore 11:30-13:30
Sistemi distribuiti: strategie di instradamenti e di connessione. Il modello OSI dell'ISO e la suite TCP/IP.
29 66 lun 28 maggio 2018
ore 11:30-14:30
Rappresentazione numerica binaria delle informazioni: definizioni, rappresentazione di numeri (quantità) e conversioni di base Slides (.pdf)
Rappresentazione numerica binaria di grandezze fisiche monodimensionali tempo-varianti (es.: suono) Slides (.pdf)
30 68 mar 29 maggio 2018
ore 14:30-16:30
Rappresentazione numerica binaria di grandezze fisiche multidimensionali e tempo-varianti (es.: immagini e video).
La compressione: tecniche non percettive (senza perdita, tipo RLE) e percettive (con perdita, tipo JPEG e derivati).
Slides (.pdf)
31 70 mer 30 maggio 2018
ore 10:30-12:30
32 72 ven 31 maggio 2018
ore 11:30-13:30
Esercizi di riepilogo sugli argomenti trattati durante il corso.  

 

Hit Counter