Sistemi Operativi

 

Informazioni da fornire per ogni singolo insegnamento

Denominazione dell’insegnamento:                             

Corso di Laurea o di Laurea Magistrale :  SISTEMI OPERATIVI                  

SSD: ING-INF/05                                                                    Numero C.F.U.:  6                

Titolari:  Aversa Rocco                             

 

Obiettivi del corso

 

 Il modulo si propone di  illustrare i principi e i concetti fondamentali su cui si basano i sistemi operativi. In particolare vengono studiate e analizzate, anche con riferimenti ai sistemi operativi reali più commercialmente diffusi, le componenti che si occupano della gestione efficiente dei processi, della memoria centrale e dei dispositivi di memorizzazione di massa.  L’insegnamento si propone, inoltre, di fornire la formazione e le competenze necessarie per la programmazione multiprocesso e multithread nonché per la programmazione di sistema, affrontando le principali problematiche teoriche legate alla gestione della concorrenza.

 

 

 

Programma del corso

Introduzione ai sistemi operativi: definizioni, storia e struttura.

System call: meccanismi di attivazione, classificazione, standard Posix,, uso in programmi C.

Il modello a processi: creazione, terminazione e stati di un processo.Il modello a thread: uso dei thread, implementazione dei thread nello spazio utente, nel kernel, ibrida.

Problema dello scheduling in sistemi batch ed interattivi.. Schedulazione dei processi/thread  in Unix, Linux, Windows

Programmazione concorrente: meccanismi di comunicazione tra processi (IPC), sezioni critiche, mutua esclusione, semafori, monitor. Problemi classici di comunicazione e sincronizzazione tra processi: produttori-consumatori, lettori-scrittori, 5 filosofi a cena.

Programmazione dei thread in java: classe thread, metodi della classe thread, metodi synchronized. Monitor e semafori in java.

Gestione della memoria: memoria virtuale, paginazione, tabella delle pagine, problematiche legate alla traduzione indirizzo logico- indirizzo fisico. Analisi dei principali algoritmi di sostituzione delle pagine. Modello del working set e algoritmi di sostituzione associati (Wsclock) Gestione memoria: segmentazione, segmentazione con paginazione.

File system: concetto di file e directory e system call associate

Implementazione File system: implementazione dei file (allocazione contigua, a lista concatenata, con i-node, con FAT); implementazione delle directory ; gestione dello spazio libero e consistenza di un file system

Implementazione File system in Unix, DOS e Windows 98, Windows NT

Curricula scientifici dei docenti

Sono resi disponibili a cura del docente: Rocco Aversa

Competenze attese in ingresso e/o Propedeuticità

Il corso presuppone che l’allievo abbia padronanza dei concetti  relativi all’architettura hardware dei calcolatori, alla programmazione assembler  e alla programmazione di alto livello sia di tipo procedurale che orientata agli oggetti.

Propedeuticità: RETI LOGICHE E PROGRAMMAZIONE AD OGGETTI

Risultati d’apprendimento attesi

L’insegnamento si propone come obiettivo formativo quello di fornire all’allievo le seguenti capacità:

  • Capacità di progettare e realizzare semplici programmi che interagiscono con il sistema operativo tramite le system call dello standard Posix.
  • Capacità di progettare e realizzare programmi multithread e di utilizzare i principali meccanismi che garantiscono la mutua esclusione e la corretta sincronizzazione tra processi cooperanti.

Capacità di analizzare le caratteristiche qualitative delle componenti di un sistema operativo e i loro effetti sulle prestazioni del sistema di elaborazione.

 

Anno del corso di studio in cui è inserito

 III

Testi di riferimento

A.S. Tanenbaum, Modern Operating Systems (3 ed), Prentice-Hall

 Oaks e Wong, Java threads, O'reilly

Materiale didattico aggiuntivo

Sono resi disponibili a cura del docente: Rocco Aversa

Modalità di erogazione

Tradizionale.

Sede

Via Michelangelo - Via Roma 29 Aversa.

Organizzazione della didattica

Lezioni frontali, esercitazioni assistite

Modalità di frequenza

Obbligatoria

Metodi di valutazione

 Esame scritto e orale con eventuale discussione di elaborati progettuali individuali o di gruppo

Dati statistici delle votazioni conseguite dagli studenti

Sono resi disponibili a cura del docente: Rocco Aversa

Calendario delle attività didattiche

Dal 14 settembre al 21 dicembre 2013, sito _____________________

Eventuali attività di supporto alla didattica

Assistenza, spiegazioni e guida nelle attività esercitative a fine lezione e negli orari di ricevimento

Orari di ricevimento studenti

Sono resi disponibili a cura del docente: Rocco Aversa

Calendario delle prove di esame

Disponibile sul sito esami.ceda.unina2.it e sul sito del docente: Rocco Aversa