Prossima revisione | Revisione precedente |
informatica:sol:anno_accademico_2020-2021 [27/01/2021 alle 06:27 (4 anni fa)] – creata Massimo Torquati | informatica:sol:anno_accademico_2020-2021 [14/02/2021 alle 15:24 (4 anni fa)] (versione attuale) – Massimo Torquati |
---|
====== Modulo: Laboratorio di Programmazione Sistema 2020/21 corsi A e B ====== | ====== Corso Sistemi Operativi e Laboratorio 2020/2021 ====== |
| |
Motto: //Talk is cheap. Show me the code// Linus Torvalds (2000-08-25). Message to linux-kernel mailing list. | |
| |
===== Informazioni pratiche ===== | * **Modulo di Teoria**: Docenti: Prof. Maurizio Bonuccelli (Corso A) Prof. Massimo Torquati (Corso B) |
* Vedi il [[informatica:sol:laboratorio:programma|il programma del corso]] per lo scopo, i prerequisiti consigliati e il programma di massima. | * Il modulo di Teoria Corso B è migrato su sistema Moodle, accesso al seguente [[https://elearning.di.unipi.it/course/view.php?id=17 |link]]. |
* Docenti: | * **Modulo Laboratorio**: Docenti: Alessio Conte (Corso A) Massimo Torquati (Corso B) |
* (Corso A) | * [[informatica:sol:laboratorio21| Link alla pagina del corso (Corso A e B)]] |
* Orario: | |
* (Corso B) [[http://www.di.unipi.it/~torquati/|Massimo Torquati]], stanza 287/DE, dip. Informatica | |
* Orario: Martedì 14:00--16:00 Giovedì 11:00--13:00 | |
* **Ricevimento elettronico**: contattate il docente per posta elettronica. | |
* Ricevimento tradizionale : | |
* (Corso A): | |
* (Corso B): | |
| |
| |
===== Lezioni ed esercitazioni ===== | |
Vedete la pagina delle | |
* [[informatica:sol:laboratorio21:esercitazioniB:|lezioni ed esercitazioni]] | |
per i materiali relativi ad ogni lezione ed esercitazione. | |
| |
===== Avvisi urgenti ===== | |
Per gli avvisi urgenti controllare la pagina degli [[informatica:sol:laboratorio21:avvisi|avvisi]].\\ E' possibile richiedere di essere avvisati automaticamente (via e-mail) ogni volta che un nuovo avviso viene postato. Seguire le istruzioni indicate nella pagina stessa. | |
| |
===== Materiale didattico ===== | |
| |
==== Libro di testo ==== | |
Marc J. Rochkind. **Advanced UNIX Programming 2nd Edition**, Addison-Wesley Professional Computing Series, 2004.\\ | |
Vedi anche [[http://www.basepath.com/aup/|il sito web del libro con sorgenti, esercizi e altre informazioni]]. | |
| |
==== Virtual Machine (VirtualBox) ==== | |
| |
E' disponibile un disco virtuale (formato .vmdk) contenente una installazione completa di [[http://xubuntu.org|XUbuntu]] con tutti gli strumenti di sviluppo richiesti per il corso, che può essere fatta partire utilizzando (ad esempio) il sistema di virtualizzazione [[http://www.virtualbox.org|VirtualBox]]. [[http://calvados.di.unipi.it/storage/teaching/LinuxVM/README.pdf| Qui]] è possibile scaricare alcune semplici note (in formato pdf) che descrivono come creare una macchina virtuale (VM) sotto VirtualBox partendo da un disco esistente. Il disco virtuale compresso (.zip) della VM è scaricabile seguendo il [[http://calvados.di.unipi.it/storage/teaching/LinuxVM/xubuntu.vmdk.zip| link]] (circa 3GB !). | |
| |
| |
==== Altro materiale ==== | |
* (su Unix con introduzione alla programmazione di shell) G. Glass, K. Ables. **UNIX for Programmers and Users**, Prentice Hall, 1999.\\ In particolare per la introduzione ai comandi Unix si possono consultare i capitoli 2 e 3 e per la programmazione bash servono i capitoli 4 e 5. | |
* (su C) Kelley, Pohl. **C: Didattica e Programmazione** (seconda edizione), Addison-Wesley, 2004. | |
* Kernighan & Pike //Programmazione nella pratica// Addison-Wesley, 1999. ISBN 8871920724.\\ Un ottimo libro per migliorare lo stile di programmazione: insieme di consigli su come organizzare i programmi in modo ragionevole con esempi C e Java. | |
* Richard W. Stevens. [[http://www.kohala.com/start/apue.html| Advanced Programming in the UNIX Environment]] Addison-Wesley, 1992, ISBN 0-201-56317-7.\\ Il libro piu' completo e chiaro sulla programmazione con SC in ambiente Unix. | |
* [[http://www.lilik.it/~mirko/gapil/gapil.html|GaPiL]]: Guida alla Programmazione in Linux | |
* Manuali in linea dei tool di sviluppo GNU: [[http://www.gnu.org/software/make/manual/make.html|make]] [[http://www.gnu.org/software/gcc/onlinedocs/|gcc]] [[http://www.gnu.org/software/emacs/manual/|emacs]] [[http://www.gnu.org/software/ddd/manual/|ddd]] [[http://www.sunsite.ualberta.ca/Documentation/Gnu/gdb-4.18/html_chapter/gdb_toc.html|GDB]] | |
* {{:lcs:lcs09:gdb-commands.pdf|Sommario GDB commands}} | |
* [[lcs:lcs07:emacs_commands|Un sommario di comandi di emacs]] | |
* [[lcs:lcs07:bash_commands|Un sommario basico di comandi bash]] | |
* [[http://www.pluto.it/files/ildp/guide/abs/index.html|Guida avanzata di scripting Bash]], la guida piu' completa e aggiornata sulla bash (versione in Italiano). | |
* [[http://lowfatlinux.com/|Low fat linux]] | |
* {{:lcs:lcs07:bashquickreference.pdf|Un sommario completo di comandi bash}} | |
* [[http://www.digilife.be/quickreferences/quickrefs.htm|Un sito di 'sommari' (quick references)]] su tutto! | |
* Manuali in linea delle funzioni di libreria standard e delle SC: //man nomefunzione man -k argomento// | |
* Altre informazioni in linea (bash, make tec.) //ESC-X info// da emacs. | |
* Il sito di riferimento per le specifiche standard di tutte le funzioni SC e librerie [[http://www.unix.org/version3/online.html|Open Group SUS (Single Unix Specification)]]. E' gratuito (basta registrarsi). | |
* [[http://pauillac.inria.fr/~xleroy/linuxthreads/faq.html|LinuxThreads Frequently Asked Questions | |
(with answers)]] | |
* Alcuni tool utili: [[http://valgrind.org|valgrind]], [[http://www.doxygen.org|doxygen]], [[http://gcc.gnu.org/onlinedocs/gcc/Gcov.html|gcov]], [[http://ltp.sourceforge.net/coverage/lcov.php|lcov]], [[http://www.splint.org/|splint]] [[http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html|gprof]] | |
* Confronto fra bash e dash: [[http://princessleia.com/plug/2008-JP_bash_vs_dash.pdf| trasparenze con le differenze principali]] | |
| |
| |
===== Esame ===== | |
L'esame prevede lo svolgimento di un **progetto** con relativa discussione. | |
**Si ricorda che per sostenere l'esame (sia teoria che laboratorio) e' INDISPENSABILE iscriversi entro la data prevista per l'appello, anche se si deve sostenere solo la parte di laboratorio.** Il testo del progetto e le informazioni per la consegna sono reperibili nella pagina ufficiale del **[[informatica:sol:laboratorio21:progetto|progetto]]**. | |
| |
| |
===== Comments ===== | |
Per tutto il resto mandate una email ai docenti. \\ | |