| | | corso | | | | |
Laboratorio di programmazione di sistema
Codice: | AA012 | Crediti: | 6 | Semestre: | 2 | Sigla: | LPs | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Fabio Gadducci
Tel. 0502212716Obiettivi di apprendimento
Il corso intende fornire le conoscenze di base relative alla programmazione con chiamate di sistema Unix/POSIX. In particolare, vengono prese in considerazione le chiamate standard per il trattamento di file e directory, processi, segnali e pipe.
Programma
Il linguaggio C (10 ore)
- Tipi, puntatori, strutture di controllo, il preprocessore C
- Differenze tra C e Java
- Supporti allo sviluppo del software: un debugger per C: gdb
- l'utility unix make
- Introduzione alla shell.
Funzionalitą dell'interprete di tcsh (4 ore)
Programmazione di sistema in Unix (26 ore)
- gestione file (open, read, write, close, dup, stat, seek)
- gestione directory (opendir, readdir, closedir)
- gestione processi (fork, exec, wait, exit, chiamate per pid/gruppi)
- gestione interruzioni (sigaction, kill, alarm, pause)
- gestione pipe (pipe, mknod)
Bibliografia
- G. Glass, K. Ables. UNIX for Programmers and Users. Prentice Hall, 1999.
- A. Kelley, I. Pohl. C: didattica e programmazione. Addison-Wesley, 1996.
- S. Ruggieri, F. Scozzari, A. Sperduti. Introduzione al C e programmazione di sistema in linguaggio C. Dispensa, Serviziom Editoriale Universitario di Pisa, 2002.
- D.P. Bovet, M. Cesati. Understanding the Linux Kernel. ŅReilly, 2001. (Solo per consultazione).
Modalità di esame
Scritto e orale