---+ Laboratorio di Sistemi Operativi II ---+++ Tecnologie Informatiche ---++++ Anno Accademico 2006-2007 ---+++ Docente: Massimo Bernaschi (massimo@iac.cnr.it) ---++++ Ricevimento studenti: martedì/giovedì 10.30 c/o IAC (durante il corso) *oppure previo appuntamento* ---++++ Mailing list: [[https://srv.inroma.roma.it/mailman/listinfo/sistemioperativi][sistemioperativi@di.uniroma1.it]] * [[AvvisiVari][%RED% *Avvisi* %ENDCOLOR% ]] (Ultima modifica: 1 Febbraio) * [[WebHome#DescrizionedelCorso][Descrizione del corso]] * [[WebHome#ProgrammadelCorso][Programma]] * Progetti * [[ProgettoLSO20506][Progetto]] %RED% new %ENDCOLOR% * [[http://www.iac.rm.cnr.it/~massimo/PONE2005_6.html][Progettone]] %RED% new %ENDCOLOR% * [[WebHome#ModalitaEsame][Modalità d'esame]] %RED% new %ENDCOLOR% * [[WebHome#FaQ][Domande ricorrenti]] * [[MyStuff][Materiale Didattico (Foils, Esempi, etc..)]] --- <a name="DescrizionedelCorso"></a> ---++ Descrizione del corso Il corso ha l'obiettivo di far apprendere, principalmente per mezzo di sperimentazione in laboratorio, alcuni concetti fondamentali della programmazione di sistema, con particolare riferimento alle problematiche legate allo sviluppo di applicazioni parallele e/o multi-threaded. <a name="ProgrammadelCorso"></a> ---++ Programma * Introduzione * Scopo del Corso, Administratrivia, Modalità di Esame * Errori comuni nella programmazione C e di sistema * Thread * Processi vs. Thread * Thread Libraries * pthread vs. kthread * Primitive su thread * Mutua Esclusione * Performance * Inter Process Communication * Pipe, Named Pipe, Segnali * Problemi legati alla gestione dei segnali in applicazioni multithreaded * Memoria Condivisa * Semafori * Message Queue * Confronto fra meccanismi IPC * Sockets * Introduzione, Socket Types & Domains * Chiamate di sistema * Strutture dati * Endiannes * Alcuni modi di usare i thread/processi * Pipeline. * Work crew. * Client/server ---++++ Testo di riferimento Trattandosi di un corso di laboratorio, non dovrebbe essere necessario il ricorso ad uno specifico libro di testo. In generale il materiale reperibile su questa pagine o direttamente su internet, unito alla documentazione ed alle _man pages_ del sistema operativo, sono sufficienti per lo svolgimento del progetto. Si può fare riferimento ai libri di testo consigliati per l'esame di [[http://www.iac.rm.cnr.it/~massimo/Corso2003.html][ *Sistemi Operativi II* ]] ---++++ Altri testi consigliati * David R. Butenhof, %GREEN% _Programming with POSIX(R) Threads_ %FINE%. Addison-Wesley 1997 * Kay A. Robbins and Steven Robbins, %GREEN% _Unix Systems Programming: Communication, Concurrency, and Threads_ %FINE%. Prentice Hall, 2003. Un ottimo testo, anche se un pò datato è * Uresh Vahalia, %GREEN% Unix Internals, The new Frontier. %FINE% Prentice Hall 1995 ---++++ Tutorials [[http://users.actcom.co.il/~choo/lupg/tutorials/index.html][Tutorial sulla Programmazione di Sistema]] [[http://twiki.dsi.uniroma1.it/twiki/view/Lab_so_2/%ATTACHURL%/Advanced-IPC.ps.gz][Socket Communication]] <a name="ModalitaEsame"></a> ---++ Modalità d'esame Per poter sostenere l'esame di Laboratorio di Sistemi Operativi II è _necessario_ consegnare il progetto 2006-2007 e la relazione entro la scadenza fissata per ogni appello (in genere qualche giorno prima dell'appello stesso). Il progetto e' un lavoro _individuale_ ed _originale_ . Non e' quindi possibile condividere parti di codice o relazione con altri studenti, o copiare parte del progetto da altre fonti. Discussioni tra studenti, scambi di idee ed in genere tutto ciò che vi aiuta ad apprendere è invece legittimo ed apprezzato. Se avete dei dubbi riguardo a quali forme di collaborazione sono considerate legittime, chiedete liberamente. Fate attenzione: effettuerò una verifica utilizzando un tool automatico, ed i casi di copiatura saranno sanzionati. E' anche possibile superare il corso consegnando il [[http://www.iac.rm.cnr.it/~massimo/PONE2006_7.html][progettone]] , coordinato con il corso di [[http://www.iac.rm.cnr.it/~massimo/Corso2003.html][Sistemi Operativi II]] di Massimo Bernaschi. Il progettone, una volta discusso in sede d'esame con esito positivo, fa conseguire allo studente il superamento di entrambi gli esami. Trattandosi di un lavoro sicuramente più complesso, da sviluppare sia in ambiente Unix che Windows, per il progettone è possibile lavorare anche in gruppi di (massimo) due persone. Ovviamente verrà opportunamente valutato il lavoro individuale. Per l'iscrizione alle sessioni di esame di LSOII, contattare Massimo Bernaschi (massimo@iac.cnr.it). In generale, prima di presentarsi all'appello, si consiglia di verificare lo stato del progetto (o del progettone), tramite un incontro da concordarsi tramite email. <a name="FaQ"></a> ---++ Domande ricorrenti %RED% TBD %FINE%
This topic: Lab_so_2
>
WebHome
Topic revision: r52 - 2006-12-18 - MassimoBernaschi
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback