Grundlagen der Prozessverwaltung in Betriebssystemen: Zustände, Scheduler und Deadlocks

InformatikAktualisiert am 25,7 KB

Zusammenfassung

Das Dokument erklärt die Grundlagen der Prozessverwaltung in Betriebssystemen. Behandelt werden Prozesszustände, Gründe für Erstellung und Beendigung, der Prozesskontrollblock, verschiedene Scheduler-Typen mit Bewertungskriterien sowie Ausführungsmodi, Threads und Deadlocks. Am Ende steht eine Beispielanalyse eines Ressourcenverteilungsgraphen.

Kernpunkte

  • Ein Prozess ist ein laufendes Programm, dessen Programm oder Teile davon im internen Speicher liegen müssen.
  • Der kurzfristige Scheduler entscheidet als einziger, welchem Prozess der Prozessor zugewiesen wird, und läuft am häufigsten.
  • Der mittelfristige Scheduler läuft am seltensten; der langfristige Scheduler lädt Prozesse in den Speicher.
  • Hunger (Starvation) bedeutet, dass ein Prozess auf unbestimmte Zeit verzögert wird, weil anderen Prozessen immer der Vorzug gegeben wird.
  • Ein Trap ist eine prozessinterne Fehlerbedingung, eine Unterbrechung dagegen ein externes, vom Prozess unabhängiges Ereignis.
  • Ein Deadlock liegt vor, wenn Prozesse auf Ressourcen warten, die von anderen Prozessen gehalten werden; ein Wartegraph hilft bei der Erkennung.

Stellen Sie sich auf die Probe

Grundlagen der Prozessverwaltung

Was ist ein Prozess?

Ein Prozess ist ein laufendes Programm. Alle oder ein Teil des Programms muss sich im internen Speicher des Computers befinden.

Prozesszustände

  • Bereit: Wenn ein Prozess im Status "Bereit" ist, fehlt ihm lediglich die Zuteilung des Prozessors, um ausgeführt zu werden.
  • Fertiggestellt: Ein Prozess erreicht den Status "Fertiggestellt" immer aus dem Zustand der Ausführung.
  • Bereit-Ausgesetzt: Dieser Zustand existiert, um mehr Prozesse in den internen Speicher aufnehmen zu können, damit der Prozessor mehr Zeit beschäftigt verbringen kann. Dies steigert die Systemproduktivität, da eine größere Anzahl von Prozessen über die Zeit laufen kann.
  • Unterschied zwischen Bereit-Ausgesetzt und Blockiert-Ausgesetzt: Im Zustand "Bereit-Ausgesetzt" kann der Prozess ausgeführt werden, während er im Zustand "Blockiert-Ausgesetzt" nicht ausgeführt werden kann.

Gründe für die Beendigung eines Prozesses

Mindestens 4 Gründe für die Beendigung eines Prozesses sind:

  • Verletzung der Speichergrenzen
  • Rechenfehler
  • Timeout überschritten
  • Zeitlimit überschritten

Prozesskontrollblock (BCP)

Der Prozesskontrollblock (BCP) enthält die Informationen, die das Betriebssystem zur Verwaltung eines Prozesses benötigt.

Spezifische UNIX-Prozesszustände

In der UNIX-Prozesskarte gibt es folgende spezifische Zustände:

  • Ausführung im Benutzermodus
  • Ausführung im Kernel-Modus
  • Bereit zur Ausführung und im Speicher
  • Schlafend und im Speicher
  • Bereit zur Ausführung und ausgelagert
  • Ausgelagert
  • Erstellt
  • Zombie

Gründe für die Erstellung eines Prozesses

Zwei Gründe für die Erstellung eines Prozesses sind:

  • Neue Batch-Jobs
  • Interaktive Verbindungen

Das Bild eines Prozesses

Das Bild eines Prozesses sammelt Informationen über das Benutzerprogramm und die Daten, die der Benutzer verarbeiten muss. Es umfasst den Kontrollblock, das System-Blade für die Programmausführung und die Daten.

Prozess-Scheduler

Typen von Prozess-Schedulern

Es gibt drei Haupttypen von Prozess-Schedulern:

  • Langfristige Scheduler
  • Mittelfristige Scheduler
  • Kurzfristige Scheduler

Warum verwenden wir kurzfristige Scheduler?

Der kurzfristige Scheduler ist der einzige, der die Entscheidung trifft, den Prozessor dem nächsten auszuführenden Prozess zuzuweisen.

Warum nutzen wir langfristige Scheduler?

Langfristige Scheduler sind dafür zuständig, Prozesse in den internen Speicher zu laden und ein Gleichgewicht zwischen CPU-intensiven Prozessen und E/A-intensiven Prozessen zu ermöglichen.

Häufigkeit der Scheduler-Ausführung

  • Der kurzfristige Scheduler läuft am häufigsten.
  • Der mittelfristige Scheduler läuft am seltensten.

Kriterien für die Bewertung eines Schedulers

Benutzerkriterien:

  • Durchlaufzeit
  • Antwortzeit
  • Fristen
  • Berechenbarkeit

Systemkriterien:

  • Produktivität
  • Prozessor-Auslastung
  • Fairness
  • Erfüllung von Prioritäten
  • Ausgleich der Ressourcen

Was ist Hunger (Starvation)?

Hunger (Starvation) ist ein Zustand, in dem ein Prozess auf unbestimmte Zeit verzögert wird, weil anderen Prozessen immer der Vorzug gegeben wird.

Der Round-Robin-Algorithmus

Der Round-Robin-Algorithmus weist den Prozessor den verschiedenen Prozessen in einer sequenziellen Form zu, sodass jeder Prozess für eine bestimmte Zeit, das sogenannte Quantum, ausgeführt werden kann.

Probleme des Prioritäts-Algorithmus

Ja, der Prioritäts-Algorithmus kann Probleme verursachen, insbesondere kann er zu Hunger (Starvation) führen, d.h. ein Prozess wird möglicherweise nie ausgeführt.

Prozessausführung und -wechsel

Ausführungsmodi von Prozessen

Es gibt zwei Hauptmodi der Prozessausführung:

  • Benutzermodus
  • Systemmodus (Kernel-Modus)

Was ist ein Moduswechsel?

Ein Moduswechsel (Kontextwechsel) ändert den Ausführungsmodus des Prozessors, z.B. von Benutzermodus zu Kernel-Modus.

Was ist ein Prozesswechsel?

Ein Prozesswechsel (Kontextwechsel) bedeutet, dass der Prozessor von der Ausführung eines Prozesses zu einem anderen wechselt.

Unterschied zwischen Unterbrechung und Trap

  • Eine Unterbrechung wird durch ein externes und vom ausgeführten Prozess unabhängiges Ereignis verursacht.
  • Ein Trap ist eine Fehlerbedingung oder Ausnahme, die innerhalb eines Prozesses generiert wird, z.B. ein illegaler Versuch, auf eine Datei zuzugreifen.

Threads

Was ist ein Thread?

Eine neue, leichtere Einheit der Ausführung innerhalb eines Prozesses im Betriebssystem wird als Thread bezeichnet.

Deadlock und Ressourcenverwaltung

Was ist die "tödliche Umarmung" (Deadlock)?

Die "tödliche Umarmung" (Deadlock) ist der Kampf von zwei oder mehr Prozessen um Systemressourcen, sodass die Prozesse nicht fortfahren können, weil sie auf Ressourcen warten, die von anderen Prozessen gehalten werden.

Wie funktioniert ein Wartegraph?

Ein Wartegraph ist ein Diagramm, in dem Prozesse und die Ressourcen, von denen sie abhängen, durch Pfeile dargestellt werden, um festzustellen, ob ein Deadlock vorliegt.

Sicherer Zustand des Systems

Dass sich das System in einem sicheren Zustand befindet, bedeutet, dass es mindestens eine mögliche Reihenfolge gibt, in der alle laufenden Prozesse mit den benötigten Ressourcen versorgt und beendet werden können.

Maßnahmen bei Ressourcenanfragen im sicheren Zustand

Wenn ein System erkennt, dass es sich in einem sicheren Zustand befindet, um eine Ressourcenanfrage zu behandeln, müssen folgende Maßnahmen ergriffen werden:

  • Verfügbar = Verfügbar - Anfrage
  • Zugeordnet = Zugeordnet + Anfrage
  • Benötigt = Benötigt - Anfrage

Warum ist es nicht immer möglich, "Halten und Warten" zu verhindern?

Es ist nicht immer möglich, die Bedingung "Halten und Warten" zu verhindern, da dies die Systemproduktivität erheblich einschränken und die Möglichkeit von "Hunger" für mehrere Prozesse erhöhen würde. "Halten und Warten" kann gelöst werden, aber nicht auf zwei Arten:

  • Jedem Prozess von Anfang an alle benötigten Ressourcen zuzuweisen.
  • Zu verlangen, dass ein Prozess alle zugewiesenen Ressourcen freigibt, bevor er neue anfordert.

Ressourcenverteilungsgraph und Deadlock-Analyse

Gegeben sind die Prozesse P = (P1, P2, P3, P4), Ressourcen R = (R1, R2, R3, R4, R5, R6) und Kanten E = ((P1, R1), (P2, R4), (P2, R5), (P3, R6), (P4, R2), (R1, P2), (R2, P1), (R3, P2), (R4, P4), (R5, P3), (R6, P2)).

Ein Deadlock existiert in den Zyklen P2 - P4 - P1 - P2 und P2 - P3 - P2.

Bild

Bild

Bild

Bild

Herunterladen

PDF Word HTML

Häufige Fragen

Was ist ein Prozess im Betriebssystem?

Ein Prozess ist ein laufendes Programm. Alle oder ein Teil des Programms muss sich dafür im internen Speicher des Computers befinden.

Was ist der Unterschied zwischen einer Unterbrechung und einem Trap?

Eine Unterbrechung wird durch ein externes, vom ausgeführten Prozess unabhängiges Ereignis verursacht. Ein Trap ist eine Fehlerbedingung oder Ausnahme, die innerhalb eines Prozesses entsteht, etwa ein illegaler Dateizugriff.

Was ist eine tödliche Umarmung (Deadlock)?

Ein Deadlock ist der Kampf von zwei oder mehr Prozessen um Systemressourcen, bei dem keiner fortfahren kann, weil er auf Ressourcen wartet, die von anderen gehalten werden.

Stellen Sie sich auf die Probe

Lernkarten

Tippen Sie auf eine Karte, um die Antwort zu sehen.

Test

1. Was beschreibt ein Prozess laut Text?
2. Welcher Scheduler läuft am häufigsten?
3. Was bedeutet Hunger (Starvation)?
4. Was unterscheidet einen Trap von einer Unterbrechung?
5. Was erfasst ein Wartegraph?
6. Wie viele Gründe für die Erstellung eines Prozesses nennt der Text?

Mit KI aus dem Dokument erstellte Fragen: Prüfen Sie die Antworten anhand des Textes.