# TaskMAX

| Beteilige dich an der Diskussion! | Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+) Begründung: Einzelnachweise gem. WP:Q fehlen |
TaskMAX ist ein Taskswitcher von Digital Research, der in DR DOS 6.0 enthalten ist und u. a. ViewMAX um die Fähigkeit zum Multitasking ergänzt. Ab Novell DOS 7 wurde TaskMAX durch TaskMGR ersetzt. ViewMAX mit TaskMAX standen in direkter Konkurrenz zur DOS-Shell von Microsoft, die in MS-DOS enthalten war.

## Vergleich

Im Unterschied zum Taskswitcher der DOS-Shell kann TaskMAX unter Verwendung des Protected Mode ab dem Intel 80286 auch vom erweiterten Speicher (englisch Extended Memory, XMS) Gebrauch machen.
Auf einem i386-kompatiblen Prozessor bietet TaskMGR – im Gegensatz zur DOS-Shell – unter Verwendung des DOS Protected Mode Interface (DPMI) und dem VM86-Modus echtes Multitasking. Auch TaskMAX unterstützt dies, pausiert jedoch inaktive Tasks. In beiden Fällen laufen DOS-Programme dabei in ihrer eigenen virtuellen Real-Mode-Umgebung, während TaskMAX/TaskMGR selbst im Protected Mode läuft. Aus dem erweiterten Speicher (XMS) stehen jedem VM86-Task bis zu 1 MiB individueller Arbeitsspeicher, aus Sicht der Real-Mode-DOS-Anwendung also der volle konventionellen Speicher inklusive des oberen Speicherbereichs, abzüglich des Speichers, der vor dem Start von TaskMax/TaskMGR belegt wurde, zur Verfügung. Ein weiterer Vorteil der Verwendung des VM86- und Multitasking-Betriebsmodus ist, dass TaskMAX/TaskMGR immer wieder die Kontrolle über den Prozessor zurückerlangen kann und somit abgestürzte oder eingefrorene VM86-Tasks kontrolliert beenden kann.
Auf einem 8086/8088 oder späteren Prozessoren mit weniger als 1 MB RAM läuft TaskMAX ausschließlich nur im sogenannten Taskswitching-Modus. In diesem Betriebsmodus wird beim Umschalten (englisch task switching) der bestehende Task, ähnlich wie bei der DOS-Shell, von TaskMAX aus dem Speicher entfernt und in einer einzigen versteckten Auslagerungsdatei Namens TASKMAX.SWP zwischengespeichert, um danach entweder den nächsten Task aus diesem Auslagerungsspeicher wieder in das RAM zu laden oder, falls dieser noch nicht existiert, neu zu laden. Da in diesem Betriebsmodus TaskMAX als TSR-Programm durch einen Interrupt nach Eingabe einer Tastenkombination zum Aufrufen von TaskMAX darauf angewiesen ist, dass der vorherige Task den Prozessor wieder an TaskMAX abgibt, ist bei einem Absturz oder Einfrieren des jeweiligen Programms im Task, oder falls dieses die Tastatureingabe abfängt und nicht weitergibt, nicht garantiert, dass TaskMAX die Kontrolle wieder erlangt. Einzelne Tasks können daher dazu führen, dass der Rechner nicht mehr reagiert und neu gestartet werden muss.
Auf einem 286er wird ebenfalls der Taskswitching-Modus verwendet. Mit dem Unterschied, dass bei Anwesenheit von mehr als 1 MiB RAM für TaskMAX der 16-Bit-Protected-Mode benutzt wird um die Tasks beim Kontextwechsel anstatt auf die Festplatte in höhere Speicherbereiche des RAM auslagern zu können. Der Wechsel läuft dadurch schneller ab, allerdings müssen die Daten und der Programmcode zwischen dem konventionellen und dem höheren Speicherbereich umkopiert werden. Dieser Schritt entfällt im Multitasking-Modus von TaskMAX der durch den 386 und seiner VM86 möglich ist. Der Nachteil des Taskswitching-Modus, dass ein Task wie beim 8088 die Kontrolle nicht mehr an TaskMAX zurückgibt, bleibt auch beim 286er bestehen. Der Taskswitching-Modus kann ab dem 386er mit dem Kommandozeilenparameter /S erzwungen werden und hat dort dann die gleichen Nachteile.
Die DOS-Shell von Microsoft bot bis zuletzt nur einfaches Taskswitching mit Auslagerungsdateien, auch auf Systemen mit 286/386-Prozessor. Wer eine vergleichbare Funktionalität wie TaskMAX auch unter MS-DOS haben wollte, musste zu Windows 3.x greifen und dessen Erweiterten Modus und die DOS-Eingabeaufforderung verwenden.
In TaskMAX Version 1.0 von DR-DOS 6.0 konnte TaskMAX auch dazu benutzt werden, einfache Textstrings vom einen Task in einen anderen zu kopieren, eine Art Copy & Paste. Dies erfolgte über simulierte Tastatureingaben und war somit prinzipiell mit jedem bestehenden DOS-Programm möglich, welches die DOS oder BIOS Tastatureingaberoutinen verwendete. Diese Funktion wurde in TaskMGR Version 2.0 ab Novell DOS 7 entfernt. Die DOS-Shell von Microsoft verfügte zu keinem Zeitpunkt über eine derartige Fähigkeit.
Um zu verhindern, dass zwei Tasks zur gleichen Zeit auf die gleichen Dateien zugreifen können erfordert TaskMAX/TaskMGR das in DR DOS mitgelieferte Programm SHARE.EXE. Dieses muss vor dem Start von TaskMAX/TaskMGR ausgeführt werden und läuft als speicherresistentes Hintergrundprogramm (TSR), womit es einen Locking Mechanismus auf Dateiebene bietet.

## Versionsgeschichte

| Version | DOS | Veröffentlichung | Anmerkungen |
| TaskMAX 1.0 | DR DOS 6.0 | März 1992 | Erste Version. |
| TaskMGR 2.0 | Novell DOS 7.0 | Januar 1994 | In Novell DOS wurde TaskMAX erweitert und zu TaskMGR umbenannt. TaskMGR wurde für 386er CPUs um die Fähigkeit erweitert, mithilfe des VM86 Modus echtes Multitasking zu unterstützen TaskMAX war nur ein Task Switcher. Die Fähigkeit Daten per Copy & Paste an andere Tasks zu übertragen wurde entfernt. |
| TaskMGR 2.02 | Caldera DR-DOS 7.03 | März 1999 | Die einzelnen Tasks können jetzt im Hintergrund weiterlaufen, was aber nicht von allen DOS-Anwendungen auch unterstützt wird. |