0 Daumen
241 Aufrufe

Wann genau nimmt der Scheduler seine Arbeit auf?

Avatar von

1 Antwort

0 Daumen
 
Beste Antwort

Der Scheduler selbst ist meist als Interrupt mit der Priorität \(0\) (niedrigste Priorität; beachte ggf. reziproke Prioritätenskala) implementiert. Die "triggernden" Aktionen kennt man auch unter der Bezeichnung Scheduling-Points. Diese wären:

Entstehung eines neuen Prozesses (fork)

- Beenden eines aktiven (running) Prozesses (exit)

- Wenn ein aktiver (running) Thread blockiert wird (z. B. wegen I/O-Operationen)

- Wenn ein blockierter (blocked) Prozess beendet wird

- Wenn ein Prozess schon zu lange rechnet/die CPU besitzt (bei Round-Robin hätte der entsprechende Prozess sein Quantum aufgebraucht)

- Wenn ein Interrupt auftritt (z. B. ein Timer-Interrupt)

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community