Obiettivi formativi
Il corso offre una introduzione pratica ai sistemi operativi, in particolare linux-unix based. Il corso si pone l'obiettivo di far conoscere allo studente i metodi per la programmazione di shell e di sistema (C e JAVA).
Contenuti dell'insegnamento
<br />Il sistema operativo Unix/Linux. Storia, struttura, interfaccia utente. <br />La shell di Unix. La shell Bash, shell scripting, i filtri. <br />Programmazione di Sistema in C. Chiamate e librerie di sistema, controllo dei processi, comunicazioni tra processi, thread e multithreading, accesso al file-system e I/O. <br />Programmazione di Sistema in JAVA. Introduzione, sintassi del linguaggio, OOP, eccezioni, Thread, Applet. <br /><br />
Bibliografia
<br />http://www.pluto.linux.it/ildp/HOWTO/Bash-Prog-Intro-HOWTO.html<br />http://it.tldp.org/guide/abs/index.html<br />http://www.eng.hawaii.edu/Tutor/Make/index.html<br />www.doxygen.org<br />http://scuola.linux.it/docs/prg_C/cgiprg15.html<br />http://gapil.firenze.linux.it/download.html<br />http://www.lilik.it/~mirko/gapil/gapilse40.html<br />http://en.wikipedia.org/wiki/Dining_philosophers_problem<br />
Metodi didattici
<br />Lezione frontale con esercitazioni pratiche. Progetto individuale per applicare le nuove conoscenze.<br />Valutazione sulle esercitazioni pratiche e progetto piu' orale finale.<br />