Slides e Testi ============== In questa sezione potete scaricare le slide delle lezioni. * `01 - Introduzione `_. Pubblicato il 04/03/25. Aggiornato il 05/03/25. * `02 - Proprietà `_. Pubblicato il 04/03/25. Aggiornato il 25/03/25. * `03 - Strutture dati `_. Pubblicato il 19/03/25. Aggiornato il 09/04/25. .. _books2025: Testi consigliati """"""""""""""""" * [t1] The Art of Multiprocessor Programming - Maurice Herlihy, Nir Shavit, Victor Luchangco, Michael Spear - Morgan Kaufmann (seconda edizione). * [t2] Shared-Memory Synchronization - Michael L. Scott - Springer Cham. Documentazione """""""""""""" * `POSIX `_ * `Linux `_ * `gcc sync builtins `_ .. * `Microsoft C docs on literals `_ * `GCC Thread Local Storage `_ * `Linux Kernel `_ * `mode_t `_ * `ramdisk `_ * `ramfs `_ * `tmpfs `_ * `objdump `_ * `/etc/passwd `_ * `/etc/group `_ * `/etc/shadow `_ * `Bash redirection `_ Altro materiale """"""""""""""" * Introduzione * `The free lunch is over by Herb Sutter `_ * `Welcome to the jungle by Herb Sutter `_ * `50 Years of Microprocessor Trend Data by K. Rupp `_ * Proprietà * Scalabilità * `Another view on parallel speedup `_ * `Legge di Amdahl Sezione 4 Eq. 11 `_ * Correttezza: * Sequential consistency: `How to make a multiprocessor computer that correctly executes multiprocess programs `_ * `Linearizability: a correctness condition for concurrent objects `_ * Serializability: `The Serializability of Concurrent Database Updates `_ * Strutture dati concorrenti * Stack * Treiber stack: `Systems Programming: Coping With Parallelism `_ * Elimination stack: `A Scalable Lock-free Stack Algorithm `_ .. * `glibc source code `_ * `Linux Kernel Source Code `_ * `Introduction to Operating Systems `_ * `GCC and Make Compiling, Linking and Building C/C++ Applications `_ * `Bakery algorithm `_ * `Complete Fair Scheduler `_ * `Hard Disk `_ * `Solid State Drives - Data Reliability and Lifetime `_ * `Filesystem Hierarchy Standard `_ * `objdump `_ * `readelf `_ * `gdb `_