Linux Scheduling (SCHED_FIFO)

lundi 10 août 2015

Hey, ich habe eine etwas theoretische Frage, hoffe trotzdem das mir hier jemand helfen kann.

Lerne gerade für meine Betriebssysteme Klausur und gucke mir Scheduling unter Linux an.
Jetzt bin ich über folgende Stichpunkte gestolpert:
Zitat:

In den beiden Echtzeitklassen wird (preemtives) FCFS (SCHED_FIFO) [...] eingesetzt.
Das ist das erste, was ich nicht wirklich verstehe. Wie kann FCFS-Scheduling preemtive sein?
Wenn FCFS beispielsweise über eine Queue realisiert wurde, bekommt der erste Prozess die CPU und gibt sie erst bei Prozessende ab oder wenn er blockiert wird (also warten auf I/O oder Ähnliches).
Sehe nicht inwiefern FCFS preemptive sein kann.

Weiter heißt es dann:
Zitat:

Ein Echtzeitprozess wird trotz FCFS durch einen Prozess höherer Priorität verdrängt.
Das erklärt zwar warum es preemptive ist (da einem Prozess auch mittendrin die CPU entzogen werden kann), aber das wäre für mich dann ganz normalen preemtive Prioritätsscheduling und kein FCFS.
Beim preemptiven Prioritätsscheduling kriegt ja auch der Prozess mit der höchsten Priorität die CPU und wird auch durch einen Prozess mit höherer Priorität verdrängt.

Inwiefern besteht da also ein Unterschied zwischen dem preemtiven FCFS (wie auch immer das gehen soll) und dem normalen preemptiven Prioritätsscheduling.

Hoffe da weiß jemand eine Antwort drauf, auch wenn das vermutlich nicht zu den üblichen Fragen gehört.

Grüße


0 commentaires:

Enregistrer un commentaire

 

Lorem

Ipsum

Dolor