Registro delle lezioni/esercitazioni
SESTA SETTIMANA     A.A. 2003-2004 (II periodo/ciclo)




Lunedì 16/02/04 ore 11-13 (lezione)

Processi UNIX: modello ad ambiente locale e sue eccezioni (file system e codice). Scheduling, swapping e modi di esecuzione dei processi. Immagine di un processo: parte utente e di kernel. Tabelle di sistema: Process Table e Text Table. Descrittore di processo in LINUX. Stati di un processo. Primitive per la gestione dei processi: creazione ===> fork. Primo esempio semplice: due versioni (la seconda con primitive getpid, geuid e getgid). Uso del valore di ritorno della fork: secondo esempio semplice. Condivisione I/O pointer file aperti. Fork in Linux.
File relativi alla pagina: pagina.


Mercoledì 18/02/04 ore 11-13 (lezione)

Ripreso primitiva fork. Primitiva per l'attesa dei processi (WAIT) e primitiva per la terminazione volontaria dei processi (EXIT). Due esempi di wait ed exit (con macro lasciato come esercizio). Presentato problema Produttore(i)/Consumatore(i) e quindi esempio di condivisione file e I/O pointer: figlio scrive e padre legge. Processi ZOMBIE ed ereditati da INIT (due esempi).
File relativi alla pagina: pagina.


Venerdì 20/02/04 ore 11-13 (esercitazione)

C - Esempio di uso di lseek. Esercizio 1 (parte C) dell'esame del 30/6/2000 (FI2).
Strumenti C: compilatore, make e debugger.
PROCESSI UNIX - Esercizi semplici con fork e wait: generazione di N processi (fratelli e discendenti), attesa di tutti, del primo, del k-esimo.




Registro Quinta Settimana
Registro Settima Settimana