Das Betriebssystem teilt die CPU in einem Multitasking-System durch eine Technik namens Kontextwechsel. Beim Kontextwechsel wird der Status eines laufenden Prozesses vorübergehend im Speicher gespeichert und dann der Status eines anderen Prozesses in die CPU geladen. Dadurch kann die CPU schnell zwischen mehreren Prozessen wechseln und den Eindruck erwecken, dass diese gleichzeitig ausgeführt werden.
Das Betriebssystem verwendet verschiedene Algorithmen, um zu bestimmen, welcher Prozess als nächstes ausgeführt werden soll. Zu den gängigen Algorithmen gehören:
- Round-Robin: Jedem Prozess wird eine Zeitscheibe zugewiesen, und die CPU wird dem nächsten Prozess in der Warteschlange zugewiesen, wenn seine Zeitscheibe abläuft.
- Prioritätsbasiert: Den Prozessen wird entsprechend ihrer Wichtigkeit eine Priorität zugewiesen. Prozesse mit höherer Priorität erhalten mehr CPU-Zeit als Prozesse mit niedrigerer Priorität.
- Kürzester Job zuerst: Der Prozess mit der kürzesten erwarteten Ausführungszeit erhält Priorität.
- Wer zuerst kommt, mahlt zuerst: Der Prozess, der am längsten gewartet hat, erhält Priorität.
Die Wahl des Planungsalgorithmus hängt von den spezifischen Anforderungen des Systems ab. Neben der Kontextumschaltung nutzt das Betriebssystem auch andere Mechanismen, um die gemeinsame Nutzung der CPU-Zeit in einem Multitasking-System zu verwalten. Zu diesen Mechanismen gehören:
- Multithreading: Ermöglicht die gleichzeitige Ausführung mehrerer Threads innerhalb desselben Prozesses.
- Symmetrisches Multiprocessing: Ermöglicht die gleichzeitige Verwendung mehrerer Prozessoren.
- Prozessisolation: Hält Prozesse voneinander getrennt, sodass sie sich nicht gegenseitig beeinträchtigen können.