Laboratorio
di programmazione di sistema
Laurea
in Informatica Applicata
Polo
G. Marconi La Spezia A.A.
2001/2002
Docenti A.A. 2001/2002
Prof. Giovanna
Guerrini, guerrini@disi.unige.it
Prof. Francesco
Masulli, masulli@disi.unige.it.
Dr. Giorgio Valentini,valenti@disi.unige.it
(tutor)
Programma
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. Tutta l'attivit à
di laboratorio è svolta in ambiente Linux e il linguaggio di programmazione
usato per gli esercizi è ANSI C (una breve introduzione al linguaggio
C è prevista all'inizio del corso). Alla fine del corso viene assegnato
un progetto da svolgere a gruppi che rappresenta il test di fine corso. |
-
Introduzione alla shell. Funzionalità dell'interprete di tcsh (4
ore)
-
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
-
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 (signal, kill, alarm, pause)
Modalita' d'esame
La valutazione del corso di laboratorio consiste nella discussione di un
progetto realizzato in gruppi di 1-2 persone per coloro che avranno frequentato
almeno l'80% delle lezioni. Gli altri studenti (compresi gli studenti lavoratori)
realizzeranno il progetto individualmente.
All'indirizzo http://www.disi.unige.it/person/GuerriniG/teach/LPSSpezia02/progetto.html
e' disponibile il l testo del progetto conclusivo del corso per l'A.A.
2001-2002 insieme alle modalita' di svolgimento e utleriori informazioni
relative alla consegna, la valutazione e l'assistenza.
Materiale didattico
-
Libri di testo
-
G. Glass, K. Ables. UNIX for Programmers and Users, Prentice Hall, 1999.
Capp. 2,3,6,11,12,13
-
Kelley, Pohl. C: Didattica e Programmazione, 1996. Disponibili anche i
sorgenti
.
-
S. Ruggieri, F. Scozzari, A. Sperduti. Introduzione alla programmazione
di sistema in linguaggio C, Febbraio 2002, Dispensa, Opera Universitaria
Pisa. Disponibili anche i sorgenti
-
Manuali in linea
-
dei tool di sviluppo di programmi in C: makegccemacsddd
-
delle chiamate di sistema: > man nomefunzione man -k argomento
-
Altro materiale (solo per consultazione)
-
M. Danelutto. Appunti
su (t)csh , Dispensa.
-
Kernighan, Ritchie. Linguaggio C, seconda edizione, 1989.
-
D.P. Bovet, M. Cesati. Understanding the Linux Kernel. OReilly, 2001
Links utili