PThreads
Submitted by rac on 12 January, 2008 - 15:12.
Dies ist die Liste der wichtigsten Themen, welche für bei SysSoft Abschlussprüfung beherrscht werden sollten. Die Liste orientiert sich frei am PThreads Buch von O'Reilly (ISBN: 1-56592-115-1).
Kapitel 1
- Was ist ein Thread?
- Verständnis
- Speichermodell Prozess -> Thread -> Fork
- Register (PC, SP, ...)
- Stack
- Globale Variablen
- Heap
- Programm Text
- zum Prozess gehörende Ressourcen
- Potentieller Parallelismus
- Wann ist es sinnvoll Threads einzusetzen?
- Was sind die Voraussetzungen, die erfüllt sein müssen?
- In welchen typische Situationen ist ein Programm prallelisierbar?
- Lebenslauf eines Threads
- Anfang
- Ende
- Art (detached, ...)
- Ende des Prozesses
- Was ist unter Race, Deadlock und Starvation zu verstehen?
- wie äussern sich diese Situationen?
- weshalb treten sie auf?
Kapitel 2
- Modelle (Boss Slave, Peers, ...)
- Wie sehen die Modelle aus?
- Einsatzgebiete der jeweiligen Modelle
- Voraussetzungen für den Einsatz, zu Beachten bei Implementation (nicht zu viel Kommunikation, nicht zu viel Teilen von Ressourcen etc.)
- Mix von Modellen
- Buffering
- Weshalb?
- Welche Punkte sind wichtig bei der Implementation (Lock, Zähler, ...)
- Polling
- Was ist das?
- Weshalb ist das nicht gut?
- Wie kann man es verhindern?
- Thread Pools
- Weswegen?
- Wie sieht Implementation aus?
Kapitel 3
- Mutexe
- Wie funktionieren diese?
- Wie werden sie angewendet?
- Warum ist _trylock nicht gut?
- Bedingungs-Variablen
- Einsatz
- Wie funktionieren diese (Wake Up? Wer wacht auf? Wer bekommt Mutex?)
Kapitel 4
- pthread_once
- Einsatz: wann, wie, warum?
- Keys
- Einsatz: wann, wie, warum?
- Cancellation
- Typen
- Bedeutung der verschiedenen Typen
- Funktionsweise
- Cancellation Points
- Cleanup Stack
- Einsatz: weshalb, wie?
- Typen
- Mutex Attribute
- Inheritance
- Ceiling
- Priority Inversion
Kapitel 5
- Signale
- Verwendung:
- empfangen/Masken
- darauf reagieren
- Verwendung:
- fork/exec
- wie funktioniert dies im Pthread Kontext?
- fork-handlng Stacks
- weshalb?
- wie werden diese eingesetzt?
C
- typedef
- struct
- Pointer
- referenzieren, dereferenzieren
- zurückgeben aus Funktionen
- Doppelte Pointer: wann werden diese verwendet?

Post new comment