informatica:sol:laboratorio20:esercitazionib:start
Sommario lezioni ed esercitazioni
“valgrind: the 'impossible' happened: Killed by fatal signal”
Numero | Descrizione | Materiale | Altro | Data |
---|---|---|---|---|
1 | Introduzione al corso Lezione/Esercitazione: Compilazione con gcc: descrizione di alcuni parametri tipici (-g -c -o -I -O). Uso del C99 vs Ansi C. Richiami di C (stringhe, argc, argv, allocazione dinamica della memoria). | Compilazione con gcc. Funzioni con argomenti variabili. Gestione della memoria in C Argc Argv Assegnamento1 Possibile soluzione. | C standards in GCC | 18/02/20 |
2 | Lezione. Richiami di C (puntatori a funzioni, struct/union). Preprocessore. | Puntatori e stringhe Puntatori a funzione e 'void*' Strutture e Union Preprocessore | Pieghevole comandi C GDB User Manual (gziped) Pieghevole comandi GDB Pieghevole comandi Emacs | 18/02/20 |
3 | Esercitazione. Funzioni rientranti. Tokenizzazione di stringhe e generazione di numeri pseudo casuali. | Funzioni rientranti. Assegnamento2 Possibile soluzione. | Note gdb e valgrind Esempio gdb | 25/02/20 |
4 | Lezione : Compilazione e linking in C. Creazione di librerie statiche e dinamiche. Classi di memorizzazione: static, extern. | Compilazione e linking. Librerie statiche e dinamiche Classi di memorizzazione | 25/02/20 | |
5 | Esercitazione. Creazione di librerie statiche (.a) e dinamiche (.so). Utilizzo di macros. Utilizzo di static. | Assegnamento3 Possibile soluzione. | 3/03/20 | |
6 | Lezione : Struttura a directory del FS Linux/Unix, principali directory, path assoluto e relativo. Utilizzo di gdb e valgrind. Libreria standard di I/O. | Gerarchia di directory. Libreria di IO. | CorsoB: vedere anche il video LibreriaIO.mp4 | 3/03/20 |
7 | Esercitazione. I/O testuale e binario con la libreria standard. | Assegnamento4 Possibile soluzione. | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
8 | Lezione : Utilizzo di make e sintassi del makefile/Makefile. Introduzione alla shell bash: concetto di shell, alcuni semplici comandi (cut, cat, find, chmod, etc…). Creazione di semplici script in bash | Makefile Introduzione alla Shell | Bash reference manual Bash guide for Beginners | CorsoB: vedere videolezioni Makefile{1,2}.mp4 e BashIntro{1,2}.mp4 |
9 | Esercitazione. Makefile e comandi bash. | Assegnamento5 Possibile soluzione. | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
10 | Lezione. Script in bash. | Scripting in bash | If statements in bash scripting | CorsoB: vedere videolezioni ScriptBash{1,2,3}.mp4 |
11 | Esercitazione. Scripts in bash. | Assegnamento6 Possibile soluzione. | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
12 | Lezione : Chiamate di sistema per la gestione di files e directories. | SCs per I/O | CorsoB: vedere videolezione SystemCallIO.mp4 | |
13 | Esercitazione. Esercizi su SC per la gestione di files e directories. | Assegnamento7 Possibile soluzione. | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
14 | Lezione : Processi: fork, wait/waitpid e differenziazione del codice con exec*. | Processi | CorsoB: vedere videolezione SystemCallProcessi.mp4 | |
15 | Esercitazione. Esercizi con fork/waitpid/exec. | Assegnamento8 Possibile soluzione. | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
16 | Lezione. Gestione dei threads POSIX: creazione/distruzione, mutex, condition variables, gestione terminazione. | PThreads. | CorsoB: vedere videolezione PThreads.mp4 | |
17 | Esercitazione. Esercizi con processi e threads. | Assegnamento9 Possibile soluzione. | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
18 | Lezione : Comunicazione tra processi: pipe senza nome. | Pipe | Alcuni esempi con processi e pipe Esempio di protocollo client/server con named pipe | CorsoB: vedere videolezione UnnamedPipe.mp4 |
19 | Esercitazione. Esercizi con processi, pipe e threads. | Assegnamento10 Possibile soluzione. | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
20 | Lezione : Comunicazione tra processi: socket AF_UNIX. Multiplexing di più sockets con select (accenni a poll ). | Socket | CorsoB: vedere videolezione SocketAF_UNIX.mp4 | |
21 | Esercitazione. Esercizi con socket. Comunicazioni client-server ed uso della select . | Assegnamento11 Possibile soluzione. | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
22 | Lezione : Gestione dei segnali. Discussione sull'uso di “readn” e “writen”. | Segnali | Nota su "partial read/write" (aka "short read/write") Implementazione di readn e writen (by R. Stevens et al.) | CorsoB: vedere videolezione Segnali.mp4 |
23 | Esercitazione. Esercizi con gestione dei segnali con signal-handler e con sigwait . | Assegnamento12 Possibile soluzione. | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
24 | Lezione . Pattern di implementazione di server concorrenti. | Note su server concorrenti | CorsoB: vedere videolezione NoteServerMultiThreaded.mp4 | |
25 | Esercitazione. Esercizi con thread e segnali, e schemi di implementazione di server concorrenti. | Assegnamento13 | CorsoB: vedere il video con il commento degli esercizi sul gruppo Telegram. | |
26 | Esercitazione. Question time sugli argomenti del corso. |
informatica/sol/laboratorio20/esercitazionib/start.txt · Ultima modifica: 27/01/2021 alle 07:01 (4 anni fa) da Massimo Torquati