====== Sommario lezioni ed esercitazioni ====== ---- **"valgrind: the 'impossible' happened: Killed by fatal signal"** ---- ^ Numero ^ Descrizione ^ Materiale ^ Commenti ^ Data ^ | 1 |** Introduzione al corso **\\ **Lezione/Esercitazione**: Compilazione con gcc: flags di base. Uso del C99 vs Ansi C. Richiami di C (stringhe, //argc//, //argv//, allocazione dinamica della memoria). Preprocessore. | {{:informatica:sol:laboratorio18:esercitazionib:01lso2018_intro.pdf | Lucidi Introduttivi}}\\ {{:informatica:sol:laboratorio15:esercitazionib:c001puntatoriestringhe.pdf| Puntatori e stringhe}} \\ {{:informatica:sol:laboratorio15:esercitazionia:gestioneMemoriaC.pdf| Gestione della memoria in C}} \\ {{:informatica:sol:laboratorio15:esercitazionia:argcargv.pdf| Argc Argv}} \\ {{:informatica:sol:laboratorio15:esercitazionia:c004preprocessore.pdf| Preprocessore}}\\ [[esercitazione1|Assegnamento1]] {{|Possibile soluzione.}} | | 20/02/18 |\\ | 2 |**Lezione**. Debugging di programming C con gdb (esempi di uso di gdb con i comandi principali). Esecuzione con valgrind. Richiami di C (puntatori a funzioni, funzioni con argomenti variabili, struct/union). | {{:informatica:sol:laboratorio17:esercitazionib:c003punfunzegenerico.pdf| Puntatori a funzione e 'void*'}}\\ {{:informatica:sol:laboratorio15:esercitazionia:variadicargs.pdf| Funzioni con argomenti variabili.}}\\ {{:informatica:sol:laboratorio15:esercitazionia:structandunion.pdf| Strutture e Union}} | {{:informatica:sol:laboratorio:esercitazioni:c-refcard.pdf| Pieghevole comandi C}}\\ [[http://sourceware.org/gdb/current/onlinedocs/gdb.pdf.gz|GDB User Manual (gziped)]] \\ {{:informatica:sol:laboratorio:esercitazioni:gdbcheatsheet.pdf| Pieghevole comandi GDB}} \\ {{:informatica:sol:laboratorio15:esercitazionia:emacs-refcard.pdf| Pieghevole comandi Emacs}} | 20/02/18 |\\ | 3 |**Esercitazione**. Uso dei manuali in linea. Funzioni rientranti. Tokenizzazione di stringhe e generazione di numeri pseudo casuali. | [[esercitazione2|Assegnamento2]] \\ {{|Possibile soluzione.}} \\ |{{:informatica:sol:laboratorio18:esercitazionib:gdb_valgrind.pdf| Note gdb e valgrind}} | 27/02/18 |\\ | 4 |** 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. | {{:informatica:sol:laboratorio15:esercitazionib:c006prepcomplinkong.pdf| Compilazione e linking.}} \\ {{:informatica:sol:laboratorio15:esercitazionia:librerieC.pdf| Librerie statiche e dinamiche}} \\ {{:informatica:sol:laboratorio17:esercitazionib:c007classimemc.pdf| Classi di memorizzazione}} \\ {{:informatica:sol:laboratorio17:esercitazionib:c002libreriaio_c.pdf|Libreria di IO.}} | | 27/02/17 |\\ | 5 |**Esercitazione**. Creazione di librerie statiche e dinamiche. Utilizzo di macros. Utilizzo di static ed extern. Accesso in lettura/scrittura a file testuali. | [[esercitazione3|Assegnamento3]] \\ {{|Possibile soluzione.}} \\ | | 6/03/18 |\\ | 6 |** Lezione **: Completamento lezione su libreria di I/O. Makefile: che cos'e' e come si usa. Introduzione alla shell bash (prima parte): concetto di shell, alcuni comandi. | {{:informatica:sol:laboratorio16:esercitazionib:02c008makefile.pdf| Makefile}} \\ {{:informatica:sol:laboratorio17:esercitazionib:shell_intro.pdf| Introduzione alla Shell}} | | 6/03/18 |\\ | 7 |**Esercitazione**. IO testuale e binario. Makefile. Primi semplici script. | [[esercitazione4|Assegnamento4]] \\ {{|Possibile soluzione.}} | | 13/03/18 |\\ | 8 |** Lezione **: Completamento Introduzione a bash. Scripting in bash | {{:informatica:sol:laboratorio17:esercitazionib:shell_scripting.pdf| Scripting in bash}} | [[ http://www.gnu.org/software/bash/manual/bash.html|Bash reference manual]]\\ [[http://www.tldp.org/LDP/Bash-Beginners-Guide/html/index.html | Bash guide for Beginners]] \\ [[https://linuxacademy.com/blog/linux/conditions-in-bash-scripting-if-statements/|If statements in bash scripting]] | 13/03/18 |\\ | 9 |** Lezione **: Completamento Scripting in bash. | {{:informatica:sol:laboratorio17:esercitazionib:shell_scripting.pdf| Scripting in bash}} | | 19/03/18 |\\ | 10 |**Esercitazione**. Scripts in bash. |[[esercitazione5|Assegnamento5]] \\ {{|Possibile soluzione.}} | | 20/03/18 |\\ | 11 |** Lezione **: SC per la gestione delle directories. Introduzione ai processi: fork, wait/waitpid e differenziazione del codice con exec*. | {{:informatica:sol:laboratorio15:esercitazionib:06lso_scintroefiles.pdf|Lucidi System call}} \\ {{:informatica:sol:laboratorio15:esercitazionib:07lcs_processi.pdf|Introduzione processi}} | | 20/03/18 |\\ | 12 |**Esercitazione**. Esercizi su SC per la gestione di files e directories. Primi esercizi sui processi. |[[esercitazione6|Assegnamento6]] \\ {{|Possibile soluzione.}} | | 27/03/18 |\\ | 13 |** Lezione **: SC per la gestione dei thread. Threads POSIX: mutex e condition variables, modello produttore consumatore. | {{ :informatica:sol:laboratorio18:esercitazionib:c005_1lcs_threadposix.pdf |Gestione Thread.}} | | 28/03/18 |\\ | 14 |**Esercitazione**. Primi esercizi su processi con threads |[[esercitazione7|Assegnamento7]] \\ {{|Possibile soluzione.}} | | 13/04/18 |\\ | 15 |** Lezione **: Comunicazione tra processi: pipe senza nome, ed introduzione ai socket AF_UNIX. | {{informatica:sol:laboratorio15:esercitazionib:09lcs_pipe.pdf|Pipe}}\\ {{:informatica:sol:laboratorio15:esercitazionib:10lcs_sockets.pdf|Socket}} | [[SCExamples| Alcuni esempi con processi e pipe]] \\ [[FIFOExample| Client/Server con named pipe]] | 24/04/17 |\\ | 16 |**Esercitazione**. Esercizi con i threads. |[[esercitazione8|Assegnamento8]] \\ {{|Possibile soluzione.}} | | 24/04/18 |\\ | 17 |**Esercitazione**. Esercizi su pipe senza nome e threads. |[[esercitazione9|Assegnamento9]] \\ {{|Possibile soluzione.}} | | 08/05/18 |\\ | 18 |** Lezione **: Multiplexing di piu' connessioni con select. Gestione dei segnali (introduzione). | {{:informatica:sol:laboratorio15:esercitazionib:11lcs_segnali.pdf|Segnali}} | | 08/05/18 |\\ | 19 |**Esercitazione**. Esercizi su socket, server concorrenti e segnali. |[[esercitazione10|Assegnamento10]] \\ {{|Possibile soluzione.}} | | 15/05/18 |\\ | 20 |** Lezione **: Gestione dei segnali. | {{:informatica:sol:laboratorio15:esercitazionib:11lcs_segnali.pdf|Segnali}} | | 15/05/18 |\\ | 21 |**Esercitazione**. Esercizi su socket, server concorrenti e segnali. |[[esercitazione11|Assegnamento11]] \\ {{|Possibile soluzione.}} | | 22/05/18 |\\ | 22 |**Esercitazione**. Discussione del [[informatica:sol:laboratorio18:progetto|progetto]] | | | 22/05/18 |\\ | 23 |**Esercitazione**. Esercizi su socket, server concorrenti e segnali.|[[esercitazione12|Assegnamento12]] \\ {{|Possibile soluzione.}} | | 29/05/18 |\\ | 24 |**Esercitazione**: Discussione del progetto e ricevimento. | | | 29/05/18|\\