Sommario lezioni ed esercitazioni


“valgrind: the 'impossible' happened: Killed by fatal signal”


Numero Descrizione Materiale Commenti Data
1 ** Introduzione al corso
**Lezione
: Compilazione con gcc: flags di base. Uso del C99 vs Ansi C. Richiami di C (stringhe, argc, argv, allocazione dinamica della memoria, puntatori a funzioni, funzioni con argomenti variabili, struct/union). Preprocessore.
Lucidi Introduttivi
Puntatori e stringhe
Puntatori a funzione e 'void*'
Gestione della memoria in C
Funzioni con argomenti variabili.
Strutture e Union
Argc Argv
Preprocessore
21/02/17
2 Esercitazione. Debugging con gdb di un semplice programma. Esercizi di ripasso del linguaggio C. Assegnamento1 Possibile soluzione.
Pieghevole comandi C
Pieghevole comandi GDB
Pieghevole comandi Emacs
22/02/17
3 ** Lezione : Compilazione e linking in C. Creazione librerie statiche e dinamiche in C. Classi di memorizzazione: static, extern. Accenni a volatile. Introduzione alla libreria standard di IO. | Compilazione e linking.
Librerie statiche e dinamiche
Classi di memorizzazione
Libreria di IO. | | 28/02/17 |
| 4 |
Esercitazione. Uso dei manuali in linea. Funzioni rientranti. Tokenizzazione di stringhe e generazione di numeri pseudo casuali. Creazione di librerie statiche e dinamiche. Accesso in lettura/scrittura a file testuali. | Assegnamento2
Possibile soluzione.
| | 01/03/17 |
| 5 |
Lezione : Completamento argomenti lezione precedente. Makefile: che cos'e' e come si usa. Introduzione alla shell bash: concetto di shell, comandi principali. | Makefile
Introduzione alla Shell | | 7/03/17 |
| 6 |
Esercitazione. IO testuale e binario. Utilizzo di macros. Utilizzo di static. Makefile. | Assegnamento3
Possibile soluzione. | | 08/03/17 |
| 7 |
Lezione : Scripting Bash | Scripting in bash | Bash reference manual
Bash guide for Beginners
If statements in bash scripting | 14/03/17 |
| 8 |
Esercitazione. Ancora su Makefile, semplici script bash. | Assegnamento4
Possibile soluzione. | | 15/03/17 |
| 9 |
Lezione : Completamento slides Bash Scripting. Struttura delle directories del FS Unix. Gestione sistematica degli errori. System Calls (SC) per la gestione dei files. | Lucidi System call | | 21/03/17 |
| 10 |
Esercitazione. Ancora scripting bash. Esercizi su SC per la gestione di files e directories. |Assegnamento5
Possibile soluzione. | | 22/03/17 |
| 11 |
Lezione : Maschere di bit in umask: sticky bit SUID/SGID. SC per la gestione delle directories. Introduzione ai processi: fork, wait/waitpid e differenziazione del codice con exec*. | Lucidi System call
Introduzione processi | | 28/03/17 |
| 12 |
Esercitazione. Esercizi su file e directory. Primi esercizi sui processi. |Assegnamento6
Possibile soluzione. | | 29/03/17 |
| 13 |
Lezione : Threads POSIX: mutex e condition variables, modello produttore consumatore. | Lucidi Threads | | 4/04/17 |
| 14 |
Esercitazione. Esercizi su processi e threads. |Assegnamento7
Possibile soluzione. | | 5/04/17 |
| 15 |
Esercitazione. Esercizi con i threads. |Assegnamento8
Possibile soluzione. | | 26/04/17 |
| 16 |
Lezione : Comunicazione tra processi: pipe senza nome, accenno alle pipe con nome, socket AF_UNIX. | Pipe
Socket | Alcuni esempi con processi e pipe
Client/Server con named pipe | 2/05/17 |
| 17 |
Esercitazione. Esercizi su pipe senza nome e threads. |Assegnamento9
Possibile soluzione. | | 3/05/17 |
| 18 |
Lezione : Sockets e server concorrenti. Breve introduzione al progetto. | Socket
Server multithreaded| | 9/05/17 |
| 19 |
Esercitazione. Esercizi su socket e server concorrenti. |Assegnamento10
Possibile soluzione. | | 10/05/17 |
| 20 |
Lezione : Gestione dei segnali. | Segnali | | 16/05/17 |
| 21 |
Esercitazione. Esercizi sulla gestione dei segnali. |Assegnamento11
Possibile soluzione. | | 17/05/17 |
| 22 |
Lezione : Segnali e threads. Discussione su protocolli di comunicazione client-server. | Segnali | | 23/05/17 |
| 23 |
Esercitazione. Server multi threaded, sockets e gestione dei segnali. |Assegnamento12 | | 24/05/17 |
| 24 |
Lezione **: Discussione sul progetto.
Pagina del progetto LSO a.a. 2016/2017 30/05/17