PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was ist der Unterschied zwischen einem kooperativen und präemperativen OS???


cereal
2003-02-18, 14:26:13
worin unterscheidet sich ein koopertives und präemperatives Betriebssystem?


mfg

Ikon
2003-02-18, 15:46:07
Ich nehme an, du beziehst dich auf die Multi-Tasking-Fähigkeit eines OS, denn nur hier macht die Unterscheidung "kooperativ" und "präemptiv" Sinn.

Kooperatives Multi-Tasking:
Die laufenden Anwendungen "nehmen" sich soviel CPU-Zeit, wie sie brauchen/wollen, das OS mischt sich nicht ein.

Vorteil:
Relativ geringer Verwaltungsaufwand -> bessere Ausnutzung der Systemresourcen.

Nachteile:
In der Praxis nimmt sich eine Anwendung (fast) die ganze CPU-Zeit und lässt alles andere links liegen - man kann dann nicht mehr wirklich von Multi-Tasking sprechen. Aussderdem führt jeder Programmabsturz gleich zu einem Hardlock, da das abgestürzte Programm natürlich nicht mehr melden kann, dass es "fertig" ist/keine weitere CPU-Zeit mehr benötigt, was zu einer Endlos(warte)schleife führt.

Beispiele: MacOS (nur bis Version 9)

Präemptives Multi-Tasking:
Das OS behält hier die Kontrolle über alle laufenden Threads, dazu wird die CPU-Zeit in sog. "Slices" von fixer Länge aufgeteilt. Diese Slices werden dann auf die laufenden Threads verteilt -> sobald ein Slice abgelaufen ist, tritt das OS wieder in Aktion und teilt den nächsten Slice einem anderen Thread zu.

Vorteile:
Erst hier ist kann man IMO von richtigem Multi-Tasking sprechen, die Zuteilung der CPU-Zeit an die Threads kann komfortablerweise über ein Prioritätssystem beeinflusst werden. Auch kann das OS durch einen Programmabsturz nicht mehr ins Nirvana geschickt werden und Programme auf Wunsch "gewaltsam" beenden.

Nachteile:
Höherer Verwaltungsaufwand -> relativ schlechtere Ausnutzung der Systemresourcen.

Beispiele: Windows ab 95


(erhebt keinen Anspruch auf Vollständigkeit sowie die Nennung jedes Details -> vereinfacht)

cereal
2003-02-18, 17:44:16
thx, werd mir da auch einiges von für die schule rausselektieren!


mfg

Lokadamus
2003-02-18, 19:23:16
mmm...

Wurde in dem anderen Thread doch schon erklärt, Kooperatives Multitasking, bis Win 3.1.

Preemptives Multitasking ab Win 95.

Multitasking selber ist kurz gesagt, nix anderes, als das Programme "paralell" ablaufen.

EDIT:
http://www.fh-wedel.de/cis/archiv/seminare/ws95/wi-seminar-ws95/win_95/multi.htm hier wird es nochmal gesagt ...

barracuda
2003-02-18, 23:43:28
--> http://www.fh-zwickau.de/doc/prmo/pmtutor/text/p_spez2.htm

Habe ich im anderen Thread schon gepostet, da dieser Thread überflüssig ist schließe ich den.

Bitte nur einen Thread zu einem Thema eröffnen, danke.