Multitasking

Multitasking: Mehrere Prozesse für verschiedene Aufgaben

Beim Multi­tas­king (auch Mehr­pro­zess­betrieb) werden von einem Prozessor abwech­selnd verschie­dene Aufgaben ausge­führt, sodass der Eindruck der Gleich­zei­tig­keit entsteht.
Von Julian Ruecker

Multitasking Multitasking
Image licensed by Ingram Image
Vom heimi­schen PC ist es jeder gewohnt, mehrere Programme gleich­zeitig ausführen zu können, zum Beispiel Musik abzu­spielen, während man mit dem Web-Browser surft. Einige Smart­phone-Betriebs­sys­teme wie iOS und Android brachten diese Fähig­keit jedoch nicht von Anfang an mit, mitt­ler­weile wurde jedoch per Update nach­gerüstet, aller­dings nur für ausge­wählte Funk­tionen von Anwen­dungen.

So neu ist Multi­tas­king dabei auf dem Handy nicht: So beherrschte Symbian dies in der ersten Version im Jahr 2001, da sein Vorgänger, das PDA-Betriebs­system EPOC diese Funk­tion bereits mitbrachte.

Tatsäch­lich bedeutet Multi­tas­king nicht, dass mehrere aktive Programme, genannt Task oder Prozess, wirk­lich gleich­zeitig ausge­führt werden. Viel­mehr gibt das Betriebs­system jedem Task abwech­selnd für sehr kurze Zeit die Möglich­keit, den Prozessor zu nutzen. Daneben erscheinen einige Anwen­dungen aktiv, obwohl die zugrun­delie­genden Tasks pausieren und gar keine Berech­nungen vorge­nommen werden. Aufgrund der hohen Geschwin­dig­keit der Wechsel ergibt sich für den Benutzer hingegen der Eindruck, dass alle gestar­teten Programme gleich­zeitig ausge­führt werden. Bei mehreren Prozes­soren ist die soge­nannte echt-gleich­zei­tige Ausfüh­rung mehrere Programme (Multiproces­sing) möglich, wobei jeder Prozessor eine andere Aufgabe über­nimmt. Multitasking Multitasking
Image licensed by Ingram Image

Frühe Anfänge

Im Zuge der rasanten Entwick­lungs­geschichte der EDV war bereits 1984 erstes präemp­tives Multi­tas­king, das als Basis für heutiges Multi­tas­king dient, für weiter verbrei­tete Compu­ter­sys­teme möglich. Entspre­chende Hard­ware­vor­aus­set­zungen brachten beispiels­weise der Sinclair QL (1984) und der Commo­dore Amiga (1985) im Heim­bereich sowie unter UNIX betrie­bene Groß­rechen­anlagen mit.

Mitt­ler­weile verfügen die meisten Betriebs­sys­teme wie Windows und solche auf UNIX-Basis über Unter­stüt­zung für Multi­tas­king.

Präemp­tives Multi­tas­king

Präemptiv bedeutet "vorsorg­lich" oder "vorbeu­gend". Im Zusam­men­hang mit Multi­tas­king bedeutet dies stark verein­facht gesagt, dass Prozesse mit der Absicht der Wieder­auf­nahme unter­bro­chen werden. Die Wieder­auf­nahme wird also als beab­sich­tigt ange­sehen und der zu unter­bre­chende Prozess vorsorg­lich dafür vorbe­reitet, indem der Prozess­kon­text gesi­chert wird und so der unter­bro­chene Prozess schnell und ohne merk­liche Beein­träch­tigung wieder aufge­nommen werden kann.

Neben Multi­tas­king gibt es eng verwandte Methoden, die ähnliche Funk­tionen bieten. Beim Multiproces­sing kann ein Computer mehrere echt-gleich­zei­tige Aufgaben abar­beiten. Voraus­set­zung dafür ist das Vorhan­den­sein mehrere Prozes­sor­kerne, wobei jeder Kern dabei an einer anderen Aufgabe arbeitet (und damit für sich selbst genommen nur nicht echt-gleich­zeitig arbeiten kann). In modernen Compu­tern werden Multi­tas­king und Multiproces­sing gemeinsam einge­setzt.

Beim Multi­threa­ding (Thread: Ausfüh­rungs­strang) werden mehrere Threads inner­halb eines einzelnen Prozesses oder einer einzelnen Aufgabe gleich­zeitig ausge­führt. Wie beim Multi­tas­king kann Multi­threa­ding auf nur einem Kern ausge­führt oder mit Multiproces­sing kombi­niert werden. Beim Hyper-Threa­ding, einer spezi­ellen Imple­men­tie­rung des hard­ware­sei­tigen Multi­threa­dings, werden die Rechen­werke eines Prozes­sors besser ausge­lastet, indem sich zwei Ausfüh­rungs­stränge die Ressourcen teilen, die für einen voll­stän­digen Kern notwendig wären.

Viele Arbeit­nehmer, Selb­stän­dige und Frei­berufler möchten heut­zutage auch unter­wegs und im Home-Office arbeiten - wir geben Tipps zum mobilen Arbeiten mit Laptop, Smart­phone und Tablet.