3.2.10 Scheduling

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 22: Zeile 22:
<loop_area type="definition">
<loop_area type="definition">
<p>
<p>
Unter einem '''Scheduler''' (genauer: '''Prozess-Scheduler''' oder '''CPU-Scheduler''') versteht man den Teil des Betriebssystems, welcher die Scheduling-Tätigkeit ausführt.
Unter einem '''Scheduler''' (genauer: '''Prozess-Scheduler''' oder '''CPU-Scheduler''') versteht man den Teil des Betriebssystems, welcher die Scheduling-Tätigkeit durchführt.
</p>
</p>
</loop_area>
</loop_area>
</p>
<br />
==== Definition: Non-preemptive Scheduling ====
<p>
{{#index:Non-preemptive Scheduling|Scheduling, non-preemptive|nicht-unterbrechendes Scheduling|Scheduling, nicht-unterbrechend|nicht-verdrängendes Scheduling|Scheduling, nicht-verdrängend}}
<loop_area type="definition">
<p>
Man spricht von '''non-preemtive Scheduling''' (oder auf deutsch: '''nicht-unterbrechendes Scheduling''' oder '''nicht-verdrängendes Scheduling'''), wenn ein Prozess die exklusive Nutzung der CPU nur dann aufgeben muss, wenn er
* in den Zustand ''Blockiert'' wechselt,
* freiwillig und von selbst die CPU abgibt, oder
* sich selbst beendet.
</p>
</loop_area>
</p>
<p>
Hierbei ist es also denkbar, dass ein Prozess, sobald er die CPU bekommt, diese erst wieder bei seiner Terminierung abgibt, egal wie lange es bis dahin dauert.
</p>
<br />
==== Definition: Preemptive Scheduling ====
<p>
{{#index:Preemptive Scheduling|Scheduling, preemptive|unterbrechendes Scheduling|Scheduling, unterbrechend|verdrängendes Scheduling|Scheduling, verdrängend}}
<loop_area type="definition">
<p>
Man spricht von '''preemtive Scheduling''' (oder auf deutsch: '''unterbrechendes Scheduling''' oder '''verdrängendes Scheduling'''), wenn einem Prozess die exklusive Nutzung der CPU zu einem beliebigen Zeitpunkt entzogen werden kann, um sie einem anderen Prozess zu übertragen.
</p>
</loop_area>
</p>
<p>
Üblicherweise wird die Prozessorzeit dabei in kleine Zeiteinheiten eingeteilt und (spätestens) am Ende dieser Zeiteinheit entscheidet der Scheduler neu darüber, welcher Prozess als nächstes die CPU bekommt.
</p>
</p>



Version vom 28. Oktober 2013, 14:03 Uhr

Beim Scheduling geht es um die Zuteilung des Betriebsmittels CPU zu den einzelnen Prozessen.


Definition: Scheduling

{{#index:Scheduling|Prozess-Scheduling|CPU-Scheduling}}

Definition

Unter Scheduling (genauer: Prozess-Scheduling oder CPU-Scheduling) versteht man die Tätigkeit des Aufteilens der verfügbaren Prozessorzeit auf alle Prozesse.

Es sei an die im Kapitel Nur ein Prozessor mit einem Kern genannte Bedingung erinnert.


Definition: Scheduler

{{#index:Scheduler|Prozess-Scheduler|CPU-Scheduler}}

Definition

Unter einem Scheduler (genauer: Prozess-Scheduler oder CPU-Scheduler) versteht man den Teil des Betriebssystems, welcher die Scheduling-Tätigkeit durchführt.


Definition: Non-preemptive Scheduling

{{#index:Non-preemptive Scheduling|Scheduling, non-preemptive|nicht-unterbrechendes Scheduling|Scheduling, nicht-unterbrechend|nicht-verdrängendes Scheduling|Scheduling, nicht-verdrängend}}

Definition

Man spricht von non-preemtive Scheduling (oder auf deutsch: nicht-unterbrechendes Scheduling oder nicht-verdrängendes Scheduling), wenn ein Prozess die exklusive Nutzung der CPU nur dann aufgeben muss, wenn er

  • in den Zustand Blockiert wechselt,
  • freiwillig und von selbst die CPU abgibt, oder
  • sich selbst beendet.

Hierbei ist es also denkbar, dass ein Prozess, sobald er die CPU bekommt, diese erst wieder bei seiner Terminierung abgibt, egal wie lange es bis dahin dauert.


Definition: Preemptive Scheduling

{{#index:Preemptive Scheduling|Scheduling, preemptive|unterbrechendes Scheduling|Scheduling, unterbrechend|verdrängendes Scheduling|Scheduling, verdrängend}}

Definition

Man spricht von preemtive Scheduling (oder auf deutsch: unterbrechendes Scheduling oder verdrängendes Scheduling), wenn einem Prozess die exklusive Nutzung der CPU zu einem beliebigen Zeitpunkt entzogen werden kann, um sie einem anderen Prozess zu übertragen.

Üblicherweise wird die Prozessorzeit dabei in kleine Zeiteinheiten eingeteilt und (spätestens) am Ende dieser Zeiteinheit entscheidet der Scheduler neu darüber, welcher Prozess als nächstes die CPU bekommt.



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png