Kooperatives / Präemptives Multitasking
Hamza Raya
- sonstiges
Hallo
Was ist der Unterschied zwischen diesen beiden Methoden und wo liegen die Hauptvor- und Nachteile ?
Bin dankbar für jede Antwort.
Gruss
Hamza
Hallo Hamza,
Was ist der Unterschied zwischen diesen beiden Methoden und wo liegen
die Hauptvor- und Nachteile ?
Kooperatives Multitasking: Das Multitasking wird von den Programmen selber verwaltet. Die
Programme bestimmen selber, wie lange der Prozessor von ihnen benutzt wird (kooperativ).
Das OS ist darauf angewiesen, dass die Prozesse sich kooperativ verhalten. Stürzt ein
Prozess ab, ist der Prozessor belegt und das OS hat kaum Möglichkeiten, den Konflikt zu
lösen. Normal muss das OS dann neu gestartet werden. Wurde übrigens bis WfW von Win
verwandt.
Preemptives Multitasking: Das Multitasking wird vom OS verwaltet. Ein Scheduler bestimmt,
wie lange ein Programm laufen darf. Ist die Zeit abgelaufen, wird ein Kontextwechsel
durchgeführt, also ein anderer Prozess ausgewählt. Die Scheduler können beliebig komplex
sein, der Kontext-Wechsel kann nach Kriterien wie Priorität, Rechenzeit, etc vollzogen
werden. Es ist fast unmöglich, dass ein Prozess den Prozessor komplett für sich allein
beansprucht. Stürzt ein Prozess ab, können die Ressourcen hinterher trotzdem noch
weiterverwandt werden. Allerdings ergibt sich durch die höhere Komplexität mehr Last
und dadurch eine größere Latenzzeit.
Grüße,
CK