Grundlagen der Prozessverwaltung und Scheduling
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 4,08 KB
Prozesssynchronisation und Nebenläufigkeit
1. Konkurrierende Prozesse
Ein konkurrierender Prozess ist ein Programm, das so strukturiert ist, dass verschiedene Teile des Codes gleichzeitig ausgeführt werden können.
3. Gegenseitige Ausgrenzung (Mutual Exclusion)
Die gegenseitige Ausgrenzung verhindert, dass zwei oder mehr Prozesse gleichzeitig auf dieselbe Ressource zugreifen.
6. Deaktivierung von Interrupts
Die Lösung durch Deaktivierung von Interrupts ist zwar einfach, hat jedoch Einschränkungen. Die Multiprogrammierung kann ernsthaft beeinträchtigt werden, da der Wettbewerb zwischen Prozessen auf der Verwendung von Interrupts basiert.
7. Besetztes Warten (Busy Waiting)
Beim besetzten Warten bleibt ein Prozess in einer Schleife und testet kontinuierlich eine Bedingung, bis der Zugriff auf die kritische Region erlaubt wird.
9. Semaphoren
Ein Semaphor ist eine nicht-negative Integer-Variable, die nur durch zwei atomare Operationen manipuliert werden kann: up (V) und down (P). Sie dienen der gegenseitigen Ausgrenzung und der bedingten Synchronisation.
11. Monitore
Monitore sind Synchronisationsmechanismen auf hohem Niveau, die die Entwicklung von parallelen Anwendungen vereinfachen.
12. Asynchrone Kommunikation
Der Vorteil liegt in der gesteigerten Effizienz bei konkurrierenden Prozessen. Zur Umsetzung werden Puffer für Nachrichten sowie zusätzliche Synchronisationsmechanismen benötigt.
13. Deadlock (Verklemmung)
Ein Deadlock tritt auf, wenn ein Prozess auf eine Ressource wartet, die nie verfügbar sein wird. Vier Bedingungen müssen gleichzeitig erfüllt sein:
- Gegenseitige Ausgrenzung: Ressourcen sind nicht gemeinsam nutzbar.
- Hold and Wait: Prozesse halten Ressourcen und warten auf weitere.
- Kein Entzug (No Preemption): Ressourcen können nicht zwangsweise entzogen werden.
- Zirkuläres Warten: Eine geschlossene Kette von wartenden Prozessen.
Scheduling-Richtlinien in Betriebssystemen
1. Definition der Scheduling-Politik
Eine Scheduling-Richtlinie definiert Kriterien, um festzulegen, welcher Prozess aus dem Zustand "bereit" (ready) als Nächstes den Prozessor nutzen darf.
2. Scheduler und Dispatcher
Der Scheduler setzt die Planungskriterien um. Der Dispatcher führt den Kontextwechsel (Context-Switching) durch, sobald der Scheduler den nächsten Prozess bestimmt hat.
3. Wichtige Scheduling-Kriterien
Prozessorauslastung, Durchsatz, CPU-Zeit, Wartezeit, Durchlaufzeit und Reaktionszeit.
4. Zeitbegriffe im Vergleich
- CPU-Zeit: Zeit, die ein Prozess aktiv auf der CPU verbringt.
- Wartezeit: Zeit, die ein Prozess in der Bereit-Warteschlange verbringt.
- Turnaround-Zeit: Gesamtzeit von der Ankunft bis zur Beendigung.
- Reaktionszeit: Zeit zwischen Anfrage und erster Antwort.
5. Präemptives vs. nicht-präemptives Scheduling
Beim präemptiven Scheduling kann das Betriebssystem einen laufenden Prozess unterbrechen. Beim nicht-präemptiven Scheduling läuft ein Prozess bis zur Beendigung oder bis er freiwillig auf die CPU verzichtet.
6. FIFO vs. Round Robin
FIFO ist ein nicht-präemptives Verfahren (First-Come-First-Served). Round Robin ist ein präemptives Verfahren, das speziell für Time-Sharing-Systeme entwickelt wurde.
8. Arten der Präemption
Die Präemption nach Zeit erfolgt nach Ablauf einer Zeitscheibe. Die Präemption nach Priorität erfolgt, wenn ein Prozess mit höherer Priorität in den Zustand "bereit" wechselt.
11. Feedback-Warteschlangen
Die Planung mit mehreren Warteschlangen begünstigt I/O-gebundene Prozesse, da diese meist kurze CPU-Bursts haben und somit eine hohe Priorität behalten.