Betriebssysteme (Vorlesung 6)

Skript-AnfangBS_3_SS2013 – Seite 51
Skript-EndeBS_4_SS2013 – Seite 32

Prozess-Zustände

  1. Rechnend
  2. Blockierend
  3. Bereit

Warum gibt es unter Linux nur 1 Zustand für Bereit / Rechnend?

  • Prozesse die laufen bzw. rechnen sind automatisch bereit

Threads

  • Alle Threads eines Prozesses haben Zugriff auf die gleichen Variablen

Threadimplementierung

  • Entweder im Benutzerbereich oder im Kernbereich

Benutzerbereich

  • Betriebsystem kennt die Threads garnicht
  • Emulation innerhalb des Laufzeitsystems
  • Nachteil:
    • Wenn ein Thread blockiert, wie z.B. FOpen (Ladezugriff auf HDD) werden auch alle anderen Threads blockiert
    • Wenn der Thread die „virtuelle CPU“ nicht freigibt nutzt der Thread die gesamte Laufzeit für sich (regelt die CPU normalerweise)

Kernbereich

  • Betriebssystem implementiert Threads bereits

Beispiel Webserver

  • Lösung mit 1 Thread sinnvoll, wenn nur 1 zugreifende Person und er nie warten muss
  • Zu viele Threads beschleunigen nicht unbedingt die Geschwindigkeit (Was tun die Threads?)

Implementierungsprobleme

  • Kann diese Situation auch eintreten, wenn ein Prozess nur aus einem einzigen Thread besteht und fork aufruft? Nein, weil in diesem Fall der Prozess auch sein eigener Thread ist

Interprozesskommunikation

  • Asynchron: Ich warte nicht solange auf der Post, bis mein Brief zugestellt wurde. Dafür bekomme ich eine Information über die Zustellung.
  • Synchron: Ich warte auf dem Postamt bis mein Brief zugestellt und die Antwort eingetrudelt ist.

Signale

  • Sigint entspricht Ctrl + C
  • Man kann nichts dagegen tun, dass ein Programm Signale erhält ← notwendige Signalbehandlungsroutine implementieren um Kill zu verhindern

Kritischer Abschnitt

  • Das komplette Code-Segment ist als kritischer Abschnitt anzusehen.
  • Je kleiner das Segment, desto einfacher ist dieses abzusichern.
  • Je größer der kritische Abschnitt, desto weniger Parallelität ist im Programm vorhanden.
  • Sobald ein anderer Prozess den kritischen Abschnitt betreten will wird dieser blockiert.
Maximilian
Maximilian

Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.