Questi appunti non hanno nessuna pretesa di completezza, ma rappresentano solo un riferimento, spero utile, per tutti
coloro che hanno seguito il corso. Essi sono di fatto stati scritti di volta in volta prima di ogni lezione, a tal
proposito necessitano di certo di una sostanziale revisione, che verra' comunque operata di volta in volta, anche a seconda
delle esigenze degli studenti.
-
Appunti di Lezione e Sorgenti
POSIX e ANSI C, Primo esempio di compilazione, creazioni di oggetti, linking,
i file di header e prime opzioni al compilatore (comandi: gcc, nm, ld, ldd, strip, file, readelf).
Soluzioni, Approfondimenti,
(30 / 03 / 09 - 04 / 05 / 09).
-
Appunti di Lezione e Sorgenti
Cosa e' un processo cosa e' un eseguibile. I Threads cenni. (comandi: size, objdump, gdb, lsof)
(04 / 05 / 09).
Soluzioni
-
Appunti di Lezione e Sorgenti
"Nascita" e "morte" di un processo e segnali tra processi (comandi: kill, ulimit). (11 / 05 / 09)
Soluzioni, Approfondimenti
-
Appunti di Lezione e Sorgenti
Allocazione dinamica. Puntatori ed Algebra dei puntatori. (11 / 05 / 09 - 18 / 05 / 09)
Soluzioni
-
Appunti di Lezione e Sorgenti
Stack (Stack Overflow cenni), C calling sequence. Funzioni con numero di argomenti variabile. Argv, argc, uso di getopt. Endianness. (18 / 05 / 09)
Soluzioni
-
Appunti di Lezione e Sorgenti Make e Makefile.
Inter-Language Communication (vedi allocazione dinamica in FORTRAN77, vedi Overloading in C++ ed Extern "C")
(comandi: stat)Soluzioni (20 / 05 / 09 - lezione extra di 2 ore)
-
Appunti di Lezione e Sorgenti Qualche altro dettaglio
a proposito dei Makefile. Libreria "shared" e statiche. Cenni d'uso della "programming interface" per il
"dynamic linking loader" Soluzioni (25 / 05 / 09 - 4 ore)
-
Appunti di Lezione e Sorgenti
Le syscalls ptrace() ed exec...(), debugger e profiler.
(comandi: gdb, strace, ltrace, time, gprof) (25 / 05 / 09 - 4 ore)
-
Appunti di Lezione e Sorgenti
Cenni di ottimizzazione del codice, cache, loop unrolling, padding. (25 / 05 / 09 - 4 ore)
-
Appunti di Lezione e Sorgenti
Cenni di scrittura di Device Driver per Linux (una syscall poco nota kexec_load). (comandi: insmode,
rmmod, lsmode, mknod, modinfo) (25 / 05 / 09 - 4 ore)
tarball compresso all in one (4.5M)
bibliografia:
Extra: