2009-04-17 5 views
2

Betriebssysteme im Zusammenhang Frage weiß nich, wenn ichwarum Benutzerkontext und Kernel-Kontext ... Unix

hier fragen, aber dachten, dass ich die richtige Erklärung in diesem Forum

, wenn ein Prozess in Benutzerkontext exec sein bekommen würde ... werden nicht die höhere Priorität Präzession im Kernel-Kontext, den Prozess in Benutzerkontext der ganze Zeit blockiert ...

es ist diesig für mich ... die Konzepte

......

Antwort

1

Ihr Prozess im Kernel-Modus kann auch vorweggenommen werden, wenn er das Quantum erreicht.

Wikipedia: Preemption

+0

Können Sie einige Links zu Ihrer Antwort hinzufügen Jerome? –

3

Es gibt zwei Haupt Art des Schedulers in Betriebssystem, preemptive Disponenten und nicht präemptiven Scheduler.

Nicht präventive Scheduler würden sich so verhalten, wie Sie denken, ein Prozess mit höheren Rechten und höherer Priorität wird die CPU solange verwenden, bis sie endet oder bis sie blockiert (zum Beispiel auf einem Mutex oder mit einem Call, der explizit die CPU freigibt) um einen anderen zu planen.)

Aber nicht preemptive Scheduler sind selten und linux Scheduler ist nicht diese Art. Es verwendet Zeitscheiben, um den Prozess für einen kurzen Zeitraum arbeiten zu lassen, bevor er es abstellt, es enthält auch Priorität, aber die Planungsprozesse mit niedrigerer Priorität halten, sollten Sie einen Blick auf this linux scheduler article werfen.

2

This Stackoverflow posting hat eine Diskussion, die einen heruntergekommenen wie Kernel-Modus mit einer Erklärung einiger der Fachsprache enthält. Sehen Sie sich insbesondere den Abschnitt 'Kurze Einführung in den Kernel-Modus' an. Es könnte helfen, etwas Licht auf Ihre Frage zu werfen.