| Zeile 6: | Zeile 6: | ||
== Prinzip == | == Prinzip == | ||
| − | Beim Multitasking wird ein Prozess | + | Beim Multitasking können mehrere Prozesse gestartet werden, d.h. sie werden ins RAM geladen. Nun werden die Prozesse nicht gleichzeitig ausgeführt (zumindest nicht auf Single-Core-Systemen), sondern es wird immer ein Prozess bearbeitet und dann zum Nächsten gewechselt. Um nun zu bestimmen, welcher Prozess als nächstes dran ist und wie viel Zeit er von der CPU bekommt, tritt der [[Scheduler]] in Aktion. Dieser implementiert einen oder mehrere Algorithmen, die ausrechnen, welcher Prozess wann dran ist. Der einfachste Algorithmus ist "Round Robin". Es wird einfach eine Liste geführt, in der jeder Prozess angeführt ist. Ausgewählt wird dann immer der nächste Task in der Liste. Eine Idee ist es auch, mit Prioritäten zu arbeiten, das heißt, dass verschiedene Prozesse unterschiedlich gewichtet werden. (z.B. mehr Prozessorzeit bekommen, oder öfters aufgerufen werden) |
Beim Umschalten muss folgendes erledigt werden: | Beim Umschalten muss folgendes erledigt werden: | ||
*ALLE Register speichern | *ALLE Register speichern | ||