Premium Partner

Betriebssysteme - Threads

AI Ba Sem 2

AI Ba Sem 2


Set of flashcards Details

Flashcards 11
Language Deutsch
Category Computer Science
Level Other
Created / Updated 07.05.2016 / 20.06.2019
Licencing Not defined
Weblink
https://card2brain.ch/box/betriebssysteme_threads
Embed
<iframe src="https://card2brain.ch/box/betriebssysteme_threads/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was bedeutet der Begriff Thread (gegenüber Prozess Task)?

  • Folge von Aktivitäten einer ausführbaren Programmeeinheit
  • Träger eines Ausführungspfads und des zugehörigen Ausführungszustands eines Prozesses
  • dynamische abgearbeitete Befehlsfolge einschließlich des Ausführungskontexts (Register, Stack usw.)

Eigenschaften von Threads

  • Prozesse und Tasks können mehrere Threads besitzen
  • Threads sind nicht gegeneinander abgeschottet
  • Threads nutzen gemeinsam die Ressourcen des Prozesses
  • Threads sind an die Existenz des Prozesses gebunden

Wozu sind Threads nützlich?

Gemeinsames Code-Segment, gemeinsame Datensegmente (globale Variable, Heap), gemeinsame Ressourcen, daher:

- kein Austausch des "äußeren Kontextes" erforderlich

  • kein Adressbereichswechsel
  • kein Austuasch von Datei-Handles usw.

- Kontextwechsel damit wesentlich einfacher und schneller möglich:

  • Prozessor-Register
  • IP, SP
  • Stack-Segment oder Stack-Pointer

- Kommunikation zwischen Threads einfacher

Threadverwaltung: User-Level

Betriebssystem kennt:

  • nur Prozesse
  • keine Threads

Threadverwaltung durch:

  • Benutzerprogramm ( auf Basis einer Thread-Bibliothek)

 

Threadverwaltung auf Kernel-Level

Betriebssystem kennt:

  • Prozesse
  • Threads

Threadverwaltung durch:

  • Betriebssytem-Kernel

Kernel-Level: Vor- und Nachteile

Vorteile:

  • Betriebssystem kann unproduktiven und unkooperativen Threads die Kontrolle entziehen
  • Automatischer Thread-Wechsel bei blockierendem Systemruf möglich
  • Threads eines Prozesses auf mehrere Prozessoren verteilbar

Nachteile:

  • Höherer Aufwand für Thread- um Wechsel wegen Systemrufs
  • betriebssystemgebunden

User-Level-Threads: Vor- und Nachteile

Vorteile:

  • Sehr schneller ThreadwechseI‚ da kein Systemaufruf nötig
  • auf jedem Betriebssystem realisierbar

Nachteile:

  • Threads müssen Kontrolle freiwillig abgeben
  • Kein automatischer Threadwechsel bei Blockierung in Systemrufen
  • Threads eines Prozesses nicht auf mehrere Prozessoren verteilbar 

Was spielt Unterbrechung für eine Rolle?

Eine Unterbrechung ist ein Signal an den Prozessor

  • Befehlszyklus eines Prozessors wird unterbrochen
  • Aufruf einer speziellen Routine zur Unterbrechungsbehandlung