Der Martin: Assembler für windows xp

Beitrag lesen

Hallo Fabian,

Win 98 und auch Win ME waren voll DOS-basierte Frontends mit pseudo-Multitasking.

Das wird oft behauptet, ist aber nicht wahr.
Alle Vertreter der Win9x-Reihe einschließlich ME, das ja nur ein funktionsreduziertes Win98 ist, sind eigenständige Betriebssysteme. Windows 9x basiert nicht auf DOS, sondern übernimmt, nachdem es mal gestartet ist, _alle_ elementaren Funktionen selbst: Speicher- und Prozessmanagement, Dateisystem, Hardware-Ansteuerung, etc. Bei diesen Systemen hat DOS eigentlich nur die Rolle, die bei den "erwachenen" Windowsen der Bootmanager hat: Es ist ein Zwischenschritt, der beim Systemstart durchlaufen wird, mehr nicht.

Davon abgesehen können die alten Windowse noch ein DOS emulieren. Eine DOS-Umgebung, die vollständig unter der Kontrolle von Windows steht. Hier unterscheiden sie sich von den neueren Versionen nur dadurch, dass diese emulierte DOS-Umgebung vom Taskmanager etwas anders behandelt wird und auch dann CPU-Zeit zugewiesen bekommt, wenn sie eigentlich im Leerlauf ist, weil der Zustand "Leerlauf" bei DOS-Anwendungen prinzipbedingt nicht immer eindeutig feststellbar ist - im Gegensatz zu Windows-Anwendungen, die eventgesteuert arbeiten. Wenn sie auf ein Event warten, weiß das Betriebssystem davon, weil es für die Meldung eben dieses Events an die Anwendung zuständig ist. Außerdem werden in der DOS-Emulation von Win9x direkte Zugriffe auf die Hardware z.T. geduldet, indem sie von Windows abgefangen und auf die entsprechenden Windows-Devices umgeleitet oder in einigen Fällen auch tatsächlich verweigert werden. Das führt dann auch zu der berühmten Meldung "Diese Anwendung wurde aufgrund eines unzulässigen Vorgangs geschlossen".
Bei den späteren Windows-Versionen (XP, 2000) wurden diese Extrawürste der DOS-Emulation stark eingeschränkt, was insgesamt der Stabilität des Systems zugute kommt.

Zutreffend ist allerdings, dass das Multitasking, d.h. die Zuteilung von CPU-Zeit an einzelne Prozesse, unter Win9x nicht gerade schlau implementiert ist. Insofern kann ich den Ausdruck "pseudo-Multitasking" mal so stehenlassen, obwohl das System auch hier besser ist als sein Ruf.

So, das musste doch mal gesagt werden.  :)
So long,

Martin