Präemptives Multitasking ist ein Multitasking-Verfahren moderner Betriebssysteme.
Dabei wird der Zeitraum in Zeitscheiben definierter Länge unterteilt und den einzelnen Prozessen durch den Scheduler zugewiesen. Läuft eine Zeitscheibe ab, so wird der Prozess unterbrochen und ein anderer erhält eine Zeitscheibe. Anders arbeitet das kooperative (nicht-präemptive/non-preemptive) Multitasking. Es arbeitet ohne Zeitscheiben. Hier blockiert ein Prozess die CPU solange bis er sie selbstständig abgibt.
Ältere Ansätze von Multitasking basierten u. a. auf der Nutzung des Timer-Interrupt-Systems. Dabei wurde beim Interrupt-Aufruf der entsprechende Prozesskontext gewechselt und eine neue Zeitscheibe zugeteilt. Der gravierende Nachteil bestand in der fehlenden Berechtigungs-Differenzierung von Nutzer- und Scheduler-Prozess: Der Nutzerprozess konnte jederzeit dem Scheduler verbieten, die Applikation zu unterbrechen. Daher ist eine wesentliche Voraussetzung für echtes präemptives Multitasking eine CPU, die verschiedene Berechtigungs-Modi beherrscht und ein Betriebssystemkern, der in der Lage ist, die verschiedenen Modi dahingehend zu nutzen, Anwendungs-Software mit unterschiedlichen Berechtigungen auszuführen.
Eine Anwendungssoftware ist meist „unprivilegiert“. Sie muss von einem Prozess mit höherer Berechtigungsstufe unterbrechbar sein. Das ist die Grundvoraussetzung dafür, dass der Kernel – wie oben beschrieben – ihr
Der Systemkern selbst läuft in einem Modus mit maximaler Berechtigungsstufe. Generell unterscheidet man zwischen „Kernel-Mode“ in dem der Kernel selbst, hardwarenahe Systemdienste und die Mehrzahl der Treiber laufen, sowie dem „User-Mode“ für Anwendungsprogramme ohne direkten Zugriff auf die Hardware. Auf x86-kompatiblen Systemen werden diese Privilegierungsstufen umgesetzt, indem der Kernel in Ring 0, User-Mode Software hingegen in Ring 3 mit eingeschränktem Instruktionssatz läuft. Zugriff auf Kernel-Funktionen ist so nur noch über Traps bzw. Software-Interrupts möglich. So ist sichergestellt, dass der Kernel zunächst die Gültigkeit des Aufrufs überprüfen kann.
Betriebssystemtheorie | Parallelverarbeitung
Preemptivní multitasking | Pre-emptive multitasking | Multitâche préemptif
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Präemptives Multitasking".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world