PThreads

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?
  • Mutex Attribute
    • Inheritance
    • Ceiling
    • Priority Inversion

Kapitel 5

  • Signale
    • Verwendung:
      • empfangen/Masken
      • darauf reagieren
  • 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

The content of this field is kept private and will not be shown publicly.
  • Use <fn>...</fn> to insert automatically numbered footnotes.
  • You can use the <go> tags just like the <a> for nicer urls.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.