elenco     
        corso     

Sistemi Operativi e Laboratorio

Codice: 277AACrediti: 12Semestre: 1-2Sigla: SOL 
 
Settore disciplinare: INF/01 - Informatica

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

 

Indicazioni metodologiche

  • organizzazione del processo di apprendimento in moduli flessibili, posti in sequenza logica;
  • coordinamento con i docenti dei corsi indicati nei prerequisiti e dei corsi paralleli del semestre;
  • analisi di casi di studio tratti da esperienze reali riportate in letteratura;
  • valutazione in corso di erogazione il livello di raggiungimento degli obiettivi utilizzando gli strumenti delle verifiche interme
  • Ore lezione: 92Ore esercitazione: 52Ore laboratorio: 40  

    Modalità di esame

    Scritto, orale e progetto (con relativa discussione). Prova scritta sostituibile con due prove scritte intermedie.

    Ulteriore pagina web del corso: http://didawiki.cli.di.unipi.it/doku.php/informatica/sol/start



    Moduli:

    Sistemi Operativi

    Docente

    Stefano Chessa   ste @di.unipi.it  Home Page di Stefano Chessa  Stanza 321  Tel. 0502213122

    Obiettivi di apprendimento

    Il corso è indirizzato a studenti del secondo anno della laurea in Informatica. L'obiettivo formativo principale è quello di far comprendere i principi fondamentali dei sistemi operativi, la loro organizzazione e le scelte progettuali, al fine di guidare gli studenti verso un uso consapevole di questi sistemi. Il corso si compone di un modulo teorico e di un modulo di laboratorio. In particolare quest'ultimo mostra un’applicazione concreta dei concetti teorici presentati nel primo modulo.
    Conoscenze. Lo studente raggiungerà la conoscenza delle problematiche dei sistemi operativi e delle caratteristiche dei sistemi attualmente più usati
    Capacità. Il corso non si pone obiettivi di apprendimento in termini di capacità attese.
    Comportamenti. Il corso non si pone obiettivi di apprendimento in termini di comportamenti attesi.

    Descrizione

    Il corso introduce i principi ed i concetti su cui si basano i sistemi operativi e analizza la loro realizzazione nei sistemi reali. In particolare, presenta 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.

    English Description

    The class introduces the main concepts of operating systems and discusses their implementation in real systems. Specifically, it presents the techniques used to manage the resources and to abstract the physical machine into a machine offering high level functionalities, which are closer to the users and the programmers. Specific topics covered are concurrency and the management of processor, memory and device management, the file system and the case studies of Unix/Linux and Windows.

    Programma

    Ore lezione: 92Ore esercitazione: 52Ore laboratorio: 40Ore seminari: 0 

    Bibliografia

    P. Ancilotti, M. Boari, A. Ciampolini, G. Lipari - Sistemi Operativi - McGraw-Hill

    Ulteriore pagina web del corso: http://www.cli.di.unipi.it/doku/doku.php/informatica/sol/start


    Laboratorio di programmazione di sistema

    Docente

    Susanna Pelagatti   susanna@di.unipi.it  Stanza 346  Tel. 0502212772

    Ultima versione disponibile: programma da confermare per l’a.a. 2012/2013

    Prerequisiti

    Conoscenza del linguaggio C

    Obiettivi di apprendimento

    Imparare a risolvere semplici problemi attraverso scripting bash e programmazione C + Posix
    Conoscenze. C approfondito, Bash, chiamate di sistema Posix relative a thread, processi, file, segnali, meccanismi di IPC
    Capacità. Progettare, sviluppare e testare semplici programmi C + Posix in ambiente Unix/Linux

    Descrizione

    Il corso parte da una panoramica sugli strumenti utilizzati per la realizzazione di programmi C sequenziali, in particolare si discute il debugging, il testing, la strutturazione su piu' file, la creazione di librerie, la gestione di progetti con makefile. Successivamente viene introdotto il linguaggio di scripting della Bash e realizzati alcuni script per la gestione di attivita' rutinarie. Nell'ultima parte del corso si realizzano semplici programmi multithreaded usando le SC Posix e si realizza un sistema client server semplificato.

    English Description

    We give a broad view of standard tools for sequential C programs addressing debugging, testing, compiling, making libraries, using makefiles to manage large programs. Then we present the Bash shell scripting language and develop simple scripts for routine tasks. In the last part of the course we present Posix programming and develop a small client-server system using Posix threads.

    Programma

    Ore lezione: 20 Ore laboratorio: 26  

    Bibliografia

    Marc J. Rochkind. Advanced UNIX Programming 2nd Edition, Addison-Wesley Professional Computing Series, 2004. Vedi anche il sito web del corso con indicazione di altri test consigliati.

    Ulteriore pagina web del corso: http://didawiki.cli.di.unipi.it/doku.php/informatica/sol/



    home


    email