Strumenti Utente

Strumenti Sito


informatica:sol:progr.14

Programma A.A. 2013/14

Obiettivi di apprendimento

Il corso è strutturato in due moduli: il primo modulo presenta i fondamenti dei sistemi operativi e il secondo modulo di laboratorio mostra un’applicazione concreta dei concetti teorici presentati nel primo modulo. Il primo modulo introduce i principi ed i concetti su cui si basano i sistemi operativi e analizza la loro realizzazione nei sistemi reali. In particolare, vengono presentate le tecniche che consentono di coordinare e gestire le risorse di un sistema di elaborazione e che permettono di trasformare la macchina fisica in una macchina astratta, dotata di funzionalità più convenienti per l'utente. Il corso lascia ampio spazio alla descrizione e all'esemplificazione di come i vari concetti presentati sono realizzati nei sistemi Unix/Linux e in quelli della famiglia Microsoft Windows. Il secondo modulo fornisce le conoscenze di base relative alla programmazione C con chiamate di sistema Unix/POSIX. In particolare, vengono prese in considerazione le chiamate standard per il trattamento di file e directory, processi, thread, segnali, pipe, socket e vari meccanismi di sincronizzazione.

Conoscenze. Lo studente raggiungerà la conoscenza delle problematiche dei sistemi operativi e delle caratteristiche dei sistemi attualmente più usati

Capacità. Lo studente raggiungerà la capacità di realizzare programmi in C usando librerie e chiamate di sistema UNIX/Posix.

Comportamenti. Il corso non si pone obiettivi di apprendimento in termini di comportamenti attesi.

Descrizione

Il corso tratta i fondamenti dei moderni sistemi operativi, presentando i concetti di base e la loro applicazione nei sistemi reali. I principali argomenti trattati sono:

  • Struttura dei sistemi operativi, nucleo. chiamate di sistema
  • Processi e threads
  • Gestione della memoria e dei dispositivi di ingresso/uscita
  • Archivi e sistema di archiviazione
  • Sistemi reali: Unix/Linux, Windows
  • Programmazione in C di sistemi UNIX/Posix

Modulo 1: Sistemi Operativi

Introduzione evoluzione dei sistemi operativi e richiami sul funzionamento dell’elaboratore Organizzazione dei sistemi operativi (2 ore) Processi (6 ore) Interazione tra processi (18 ore) Gestione della memoria (10 ore) Gestione degli archivi (12 ore)

Modulo 2: Laboratorio

Strumenti per la programmazione C in ambiente GNU (e dintorni) Unix e la shell Unix: concetti di base, comandi/utility C e la programmazione di sistema I file I processi I thread Maccanismi di IPC Segnali

Ore lezione: 52 Ore esercitazione: 40

Bibliografia

Libri di testo

  • Thomas Anderson, Michael Dhalin, Operating Systems – Principles and Practice. Recursive Books Lld.
  • DA CONFERMARE COL DOCENTE DI LABORATORIO: Marc J. Rochkind. Advanced UNIX Programming 2nd Edition, Addison-Wesley Professional Computing Series, 2004.

Altri Testi Consigliati:

  • Andrew S. Tanenbaum. I Moderni Sistemi Operativi (Terza Edizione). Pearson Prentice Hall, 2009
  • Andrew S. Tanenbaum. Modern Operating Systems (Third Edition). Pearson-Prentice Hall, 2008
  • A. Silbershatz, P. Galvin, G. Gagne: Sistemi Operativi (5^ edizione), Apogeo, 2005
informatica/sol/progr.14.txt · Ultima modifica: 26/09/2013 alle 07:18 (9 anni fa) da Stefano Chessa