|
Prozeß-Operationen des BS
Aus dem bisher gesagten kann man bestimmte Operationen ableiten, die das Betriebssystem
zur Steuerung und Kontrolle von Prozessen ausführt. Die wichtigsten Prozeß-Operationen sind in der folgenden Tabelle zusammengefaßt.
Create | Erzeugen eines Prozesses (z.B. Laden eines Programms) - Vergabe einer PID, Anlegen eines PCB in der Prozeßtabelle
- Allokieren des benötigten Speichers
- Reservieren der benötigten Ressourcen
- Vergabe einer Priorität
|
Kill | Löschen eines Prozesses
- Löschen aller Einträge aus den Systemtabellen
- Freigabe von Speicher und Ressourcen (z.B. Dateien schließen)
- Löschen aller Abkömmlinge (Kindp., Enkelp., usw.)
|
Suspend | Suspendieren eines Prozesses
- Suspendierung normalerweise nur bei Systemüberlastung durch Prozesse
höherer Priorität, Wiederaufnahme erfolgt sobald möglich.
|
Resume | Wiederaufnehmen eines suspendierten Prozesses
- Suspendierung normalerweise nur bei Systemüberlastung durch Prozesse
höherer Priorität, Wiederaufnahme erfolgt sobald möglich.
|
Block | Blockieren eines Prozesses |
Wakeup | Aufwecken eines blockierten Prozesses |
Dispatch | CPU an einen Prozeß zuteilen |
Change | Priorität eines Prozesses ändern |
In der Tabelle wird erstmals die Möglichkeit der "Suspendierung" eines Prozesses
aufgeführt. Wird das System durch Prozesse höherer Priorität überlastet
(kein Speicher mehr frei, keine Dateihandles mehr frei, Prozesstabelle voll, etc.),
müssen Prozesse aus dem Speicher entfernt und z. B. auf die Platte ausgelagert werden.
Im einfachsten Fall reicht auch manchmal die Auslagerung eines Eintrags in der
Prozeßtabelle in eine andere Tabelle. Sobald sich die Situation entspannt hat, wird
der Prozeß wieder in den alten Stand zurückversetzt. Bei der Suspendierung wird
man natürlich solche Prozesse zuerst auslagern, die sowieso auf ein Ereignis warten.
Durch die Suspendierungsmöglichkeit erweitert sich das Diagramm der
Prozeßzustände:
|
|
|