Diario delle lezioni
- 5/3/08 (LAB).
Presentazione del corso. Introduzione a Linux. Comandi base.
- 7/3/08 (AULA).
Il filesystem Unix. Directory, link e permessi. Variabili di shell.
Redirezione.
- 12/3/08 (LAB).
Gli script di shell. Il ciclo for. Esercizi.
- 14/3/08 (AULA). Le pipe. Comandi concatenabili: cat, wc, sort, uniq.
Command substitution. Script di shell. Costrutto if e comando test.
- 2/4/08 (LAB).
Arithmetic substitution. Ciclo while. Esercizi su script di shell.
- 4/4/08 (AULA). Espressioni regolari. Comandi grep, sed ed awk.
- 9/4/08 (LAB). Esercizi su espressioni regolari.
Awk avanzato.
- 11/4/08 (AULA). Comandi per la gestione dei processi.
Richiami di linguaggio C.
- 16/4/08 (LAB). Esercizi su script ed espressioni regolari.
Esercizio n.2 del 9/7/07 (soluzione).
Esercizio n.2 del 18/2/08.
Esercizio n.2 del 7/9/07.
- 18/4/08 (AULA). System call per l'accesso al filesystem
(open, close, read, write, lseek, dup, dup2).
I segnali; system call kill e signal.
- 23/4/08 (LAB). Esercizi sulle system call per l'accesso
al filesystem.
Esercizio mostrare un file alla rovescia (soluzione).
- 30/4/08. Prova intercorso.
- 7/5/08. (LAB). I segnali: system call alarm.
Gestione dei processi: fork. Esercizi.
- 9/5/08. (AULA). Gestione dei processi: exec.
Le pipe.
- 14/5/08. (LAB).
Esercizio sul pool di programmi per il calcolo dei
numeri primi (pipe, fork, exec e dup2).
- 16/5/08. (AULA). I thread POSIX.
Esempio.
- 21/5/08. (LAB). Esercizi sui thread POSIX.
- 23/5/08. (AULA). Sincronizzazione tra thread:
mutex e condition variable.
- 28/5/08. (LAB). Esercizi sulla sincronizzazione tra thread.
- 30/5/08. (AULA). Socket locali.
- 4/6/08. (LAB). Esercizi su socket locali.
- 6/6/08. (AULA). Socket TCP/IP. Risoluzione dei nomi.
- 11/6/08. (LAB). Esercizi su socket TCP/IP.
- 13/6/08. (AULA). Il debugger gdb. Il buffer overflow.
|
|
|