Anweisungen zur Betriebsdiskontierung:Prozessbehandlung
Diese Richtungen skizzieren die Verfahren für einen operativen Dispatcher bei der Handhabungsprozesse. Denken Sie daran, Prozesse zu priorisieren, die auf vordefinierten Planungsalgorithmen basieren (z. B. FIFO, SJF, Round Robin).
i. Prozessankunft:
1. Prozessanforderung erhalten: Nach Erhalt einer Prozessanforderung (z. B. von einem Benutzer, Systemanruf oder E/A -Interrupt) zeichnen Sie die folgenden Informationen auf:
* Prozess -ID (PID)
* Prioritätsstufe (falls zutreffend)
* Speicheranforderungen
* CPU -Burstzeit (geschätzt, falls verfügbar)
* E/A -Anfragen (falls bekannt)
2. Ressourcenverfügbarkeit überprüfen: Überprüfen Sie, ob ausreichende Ressourcen (CPU -Zeit, Speicher, E/A -Geräte) verfügbar sind, um den neuen Prozess zu berücksichtigen. Wenn nicht, legen Sie den Prozess in eine Warteschlange (z. B. Bereitschaftswarteschlange, blockierte Warteschlange) nach Prioritäts- und Ressourcenanforderungen.
3. Ressourcen zuweisen (falls verfügbar): Wenn Ressourcen verfügbar sind, zuordnen Sie den erforderlichen Speicher zu, weisen Sie eine Zeitscheibe zu (bei Verwendung von Zeitspeisen) und platzieren Sie den Vorgang in der Ready-Warteschlange.
ii. Prozessausführung:
1. Prozessauswahl: Wählen Sie einen Prozess aus der Ready Queue basierend auf dem Planungsalgorithmus aus.
2. Kontextschalter (falls erforderlich): Wenn ein Kontextschalter erforderlich ist (Wechsel von einem Prozess zu einem anderen), speichern Sie den Status des aktuellen Prozesses (Register, Programmzähler, Speicherkarte) und laden Sie den Status des ausgewählten Prozesses.
3. Prozessausführung: Lassen Sie den ausgewählten Prozess für seine zugewiesene Zeitscheibe ausführen oder bis er blockiert (z. B. Warten auf E/A).
4. Prozessblockierung: Wenn ein Prozess auf die E/A oder eine andere Ressource warten muss, verschieben Sie ihn in die entsprechende blockierte Warteschlange und geben Sie die CPU frei.
iii. Prozessabschluss:
1. Prozessabschluss: Wenn ein Prozess seine Ausführung abschließt, erhalten Sie seine zugewiesenen Ressourcen (Speicher usw.) zurück.
2. Beendigung der Beendigung: Gehen Sie alle erforderlichen Reinigungsaufgaben ab, z. B. das Schließen von Dateien, das Verlassen von Sperrs und die Veröffentlichung zugewiesener Ressourcen.
3. Entfernung aus Warteschlangen: Entfernen Sie den beendeten Vorgang von allen Warteschlangen.
iv. Handhabung blockierter Prozesse:
1. I/O Fertigstellung: Wenn ein E/A -Betrieb abgeschlossen ist, verschieben Sie den entsprechenden Vorgang von der blockierten Warteschlange zurück in die Ready -Warteschlange.
2. Ressourcenverfügbarkeit: Wenn die erforderliche Ressource eines blockierten Prozesses verfügbar ist, verschieben Sie sie zurück in die Ready -Warteschlange.
v. Fehlerbehandlung:
1. Ressourcenerschöpfung: Wenn die Ressourcen konsequent erschöpft sind, sollten Sie die Richtlinien für die Ressourcenzuordnungen oder die Untersuchung potenzieller Ressourcenlecks einstellen.
2. Prozessfehler: Verarbeiten Sie Prozessfehler (z. B. Segmentierungsfehler, illegale Anweisungen) gemäß vordefinierten Fehlerbehandlungsverfahren, wodurch der Prozess möglicherweise beendet wird.
3. Systemfehler: Wenn ein Systemfehler auftritt, versuchen Sie, sich anmutig wiederherzustellen oder Systemen zum System zum System zu initiieren.
vi. Überwachung und Protokollierung:
1. Prozessstatus beibehalten: Verfolgen Sie den Status aller Prozesse (laufend, bereit, blockiert, gekündigt).
2. Protokollereignisse: Protokollieren Sie bedeutende Ereignisse, einschließlich Prozesserstellung, Kündigung, Planungsentscheidungen, Ressourcenzuweisung und Fehler. Dies ist entscheidend für die Debugging und Leistungsanalyse.
Diese Richtungen bieten einen allgemeinen Rahmen. Die spezifische Implementierung hängt vom Design- und Planungsalgorithmus des Betriebssystems ab. In immer auf die Dokumentation des Systems finden Sie detaillierte Anweisungen und spezifische Verfahren.