| SISTEMI OPERATIVI

SISTEMI OPERATIVI
DIPARTIMENTO di MATEMATICA,INFORMATICA ed ECONOMIA
Laurea
SCIENZE E TECNOLOGIE INFORMATICHE
6
 CFUOreCicloDocente
1SISTEMI OPERATIVI
6 48 Primo Semestre BLOISI DOMENICO DANIELE 
 
Lingua insegnamento
 

Italiano

Obiettivi formativi e risultati di apprendimento
 

Un sistema operativo è un software che gestisce l'hardware di un calcolatore. Lo scopo di un sistema operativo è quello di fornire all'utente un ambiente nel quale l'esecuzione dei programmi possa avvenire in modo conveniente ed efficace.
Il corso ha l’obiettivo di fornire agli studenti le conoscenze di base relative ai moderni SISTEMI OPERATIVI, trattando tematiche legate alla gestione dei processi e delle memorie nei calcolatori.
Gli argomenti trattati nel corso riguardano i concetti di base dei sistemi operativi. Le principali conoscenze fornite saranno:
? Strutture dei sistemi operativi
? Processi
? Thread
? Sincronizzazione dei processi
? Scheduling della CPU
? Stallo dei processi
? Memoria centrale
? Memoria virtuale
? Memoria secondaria
? Interfaccia del file system
? Sistemi di I/O

Le principali abilità che potranno essere acquisite dallo studente al termine del corso sono:
? Comprensione della strutturato e gestione di un moderno sistema operativo
? Capacità di distinguere tra le diverse modalità di gestione processi implementabili in un moderno sistema operativo
? Capacità di identificare le metodologie di Sincronizzazione dei processi
? Capacità di valutare le migliori soluzioni per la gestione della memorie nei moderni sistemi operativi

Prerequisiti
 

Si ritiene necessario avere acquisito e assimilato le conoscenze fornite dai corsi di “Programmazione Procedurale” e “Architettura degli Elaboratori”.

Contenuti del corso
 

Introduzione ai Sistemi Operativi (2 ore)
? Storia dei Sistemi Operativi
? Cos’è un Sistema Operativo
? Organizzazione di un sistema di calcolo

Strutture dei Sistemi Operativi (3 ore)
? Architettura degli elaboratori
? Attività di un Sistema Operativo
? Servizi di un Sistema Operativo
? Interfaccia utente del Sistema Operativo
? System calls

Macchine Virtuali Processi (4 ore)
? Concetto di processo
? Stato di un processo
? Scheduling dei processi
? Cambio di contesto
? Operazioni sui processi
? Comunicazioni tra processi
? Memoria condivisa
? Scambio di messaggi

Thread (3 ore)
? Introduzione ai thread
? Vantaggi della programmazione multithread
? Modelli di programmazione multithread
? Considerazioni sulla gestione dei thread

Scheduling della CPU (4 ore)
? Introduzione allo scheduling
? Scheduler della CPU
? Dispatcher
? Criteri di scheduling
? Algoritmi di scheduling

Sincronizzazione dei processi (5 ore)
? Il problema della sincronizzazione
? La sezione critica
? Hardware per la sincronizzazione
? Semafori
? Stallo e attesa indefinita
? Problemi tipici di sincronizzazione

Stallo dei processi (4 ore)
? Definizione dello stallo
? Condizioni necessarie
? Grafo di assegnazione delle risorse
? Metodi per la gestione delle situazioni di stallo
? Algoritmi per evitare le situazioni non sicure
? Rilevamento delle situazioni di stallo
? Ripristino dallo stallo

Memoria centrale (7 ore)
? Introduzione alla Memoria Centrale
? Associazione degli indirizzi
? Indirizzi logici e indirizzi fisici
? Allocazione della memoria
? Paginazione

? Architettura di paginazione
? Protezione
? Pagine condivise
? Struttura della tabella delle pagine
? Segmentazione
? Architettura di segmentazione

Memoria Virtuale (4 ore)
? Introduzione alla Memoria Virtuale
? Paginazione su richiesta
? Vantaggi e Svantaggi della paginazione
? Prestazioni della Paginazione
? Dirty bit
? Algoritmi di sostituzione delle pagine nella memoria virtuale
? Allocazione dei frame
? Paginazione degenere (thrashing)

Interfaccia del File System (2 ore)

? Introduzione
? Concetto di file
? Operazioni sui file
? Metodi di accesso
? Struttura delle directory
? Protezione

Realizzazione del File System (3 ore)
? Struttura del file system
? Allocazione contigua
? Allocazione concatenata
? Allocazione indicizzata

Memoria Secondaria e Terziaria (3 ore)
? Struttura dei dispositivi di memorizzazione

? Scheduling del disco
? Gestione dell’unità a disco
? Strutture RAID

Protezione e Sicurezza (4 ore)
? Obiettivi della protezione
? Matrice d’accesso
? Il problema della sicurezza e misure per garantirla


Metodi didattici
 

Il corso prevede 48 ore di didattica suddivise tra lezioni ed esercitazioni.

Modalità di verifica dell'apprendimento
 

Il voto finale viene conseguito svolgendo un esame scritto con 3 domande a risposta aperta e 2 esercizi.
Gli studenti possono chiedere di svolgere un progetto facoltativo per ottenere un punteggio bonus (fino a tre punti) che verrà sommato al voto ottenuto durante l'esame scritto.

Testi di riferimento e di approfondimento, materiale didattico Online
 

Il libro di testo è

• Silberschatz, P. B. Galvin, G. Gagne. Sistemi operativi Concetti ed esempi 10a Ed. - Pearson

Le slide proiettate durante il corso saranno disponibili per gli studenti sulla piattaforma Moodle.

Il sito web di riferimento per il corso è http://web.unibas.it/bloisi/corsi/sistemi-operativi.html

Metodi e modalità di gestione dei rapporti con gli studenti
 

Alla fine di ogni lezione il docente metterà a disposizione degli studenti il materiale didattico sulla piattaforma moodle.
Orari di ricevimento:
Martedì dalle 11:00 alle 13:00
Edificio3D, II piano, stanza 15
Si invitano gli studenti a controllare regolarmente il sito http://web.unibas.it/bloisi/corsi/sistemi-operativi.html per eventuali variazioni. Oltre all’orario di ricevimento settimanale, il docente è disponibile in ogni momento per un contatto con gli studenti, attraverso la propria e-mail.

Date di esame previste
 

11 Feb 2020;

25 Feb 2020;

08 Apr 2020;

09 Lug 2020;

24 Set 2020;

17 Dic 2020.

Queste date potrebbero subire variazioni: consultare la pagina web del docente o del Dipartimento/Scuola per eventuali aggiornamenti

Seminari di esperti esterni
 

NO

 
Fonte dati UGOV