Chronologischer Überblick MS-DOS - Windows

 

MS-DOS Kern

1984

MS-DOS 2.0

1987

MS-DOS 3.2

1989

MS-DOS 4.0

1992

MS-DOS 5.0 - Windows 3.11

1993MS-DOS 6.2 - Windows 3.11 for Workgroups
1994MS-DOS 6.22
 Home/Personal (MS-DOS Kern)Business/Professional (NT Kern)
1995Windows 95 (MS-DOS 7.0)Windows NT 3.51
1996Windows 95B (OSR2, MS-DOS 7.0)Windows NT 4.0
1997Windows 95C (OSR2.1/2.5, MS-DOS 7.0)Windows NT 4.0 SP1
1998Windows 98 (MS-DOS 7.1)Windows NT 4.0 SP4
1999Windows 98SE (MS-DOS 7.1)Windows NT 4.0 SP6
2000Windows Me (MS-DOS 8.0)Windows 2000 (=NT 5.0)
 

NT-Kern

10/11-2001

   Home  <--   Windows XP (=NT 5.1)   -->  Professional 

Referenzen:

Windows NT/2000/XP im Vergleich zu Consumer Windows (95/98/Me)

Windows NT/2000/XP und Consumer ("Home") Windows (Windows 95, Windows 98 und Windows Millenium Edition) gehören zur Betriebssystemfamilie “Windows” und verfügen über eine gemeinsame Teilmenge von APIs (Win32 und COM) sowie in einigen Fällen über gemeinsamen Betriebssystemcode.
Windows 2000, Windows 98 und Windows Millenium Edition verfügen über eine weitgehend ähnliche Shell,  dasselbe Gerätetreibermodell (Windows Driver Model, WDM) sowie die Unterstützung von ACPI & Plug&Play.
Windows 2000 (NT 4.0 Nachfolge) und Windows 2000/XP besitzen dieselbe Kernel-Architektur (NT-Technologie), die sich vor allem hinsichtlich Sicherheit und Robustheit grundsätzlich von der zukünftig nicht mehr weiterentwickelten Consumer-Windows-Familie unterscheidet.

Einige wesentliche Unterschiede zwischen Windows 2000/XP  und Consumer Windows : 

  • Windows 2000 unterstützt Multiprozessorsysteme, Consumer Windows nicht
     

  • Das Dateisystem NTFS von Windows 2000/ NT/XP  unterstützt Sicherheitsfunktionen, das von Consumer Windows (FAT) dagegen nicht.
     

  • Windows 2000/NT/XP ist ein reines 32-Bit-Betriebssystem; es enthält außer Code zur Unterstützung von 16-Bit-Windows-Anwendungen keinen weiteren 16-Bit-Code. Consumer Windows enthält einen Großteil alten 16-Bit-Codes, der von den Vorgängerversionen Windows 3.1 und MS-DOS übernommen wurde.
     

  • Windows 2000/NT/XP ist komplett wiedereintrittsfest (reentrant), große Teile von Consumer Windows dagegen nicht. Zu diesem nicht wiedereintrittsfesten Code gehört ein Großteil der Grafik- und Fensterverwaltungsfunktion (GDI und USER). Wenn eine 32-Bit-Anwendung unter Consumer Windows versucht, einen Systemdienst aufzurufen, der durch nicht wiedereintrittsfesten 16-Bit-Code implementiert ist, muss die Anwendung zuerst eine systemweite Sperre oder Mutex einrichten, um andere Threads daran zu hindern, auf die nicht wiedereintrittsfeste Codebasis zuzugreifen. Schlimmer noch, die 16-Bit-Anwendung hält diese Sperre während der Ausführung aufrecht. Infolgedessen werden Anwendungen oft nur mit einem Thread ausgeführt, auch wenn der Kern von Consumer Windows über einen preemptiven 32-Bit-Multithreaded-Planungsdienst verfügt, da ein Großteil des Systems noch durch nicht wiedereintrittsfesten Code implementiert ist.
     

  • Windows 2000/NT/XP stellt eine Option zur Verfügung, um 16-Bit-Windows-Anwendungen in einem eigenen Adressraum auszuführen. Consumer Windows führt 16-Bit-Windows-Anwendungen stets in einem gemeinsam genutzten Adressraum aus, in dem sie sich gegenseitig beeinflussen und zerstören  können.
     

  • Gemeinsam genutzter Speicher ist unter Windows 2000/NT/XP nur für die Prozesse sichtbar, die den gleichen gemeinsamen Speicherbereich zuordnen (in der Win32 API wird ein gemeinsam genutzter Speicherbereich auch als Dateizuordnungsobjekt bezeichnet). Unter Consumer Windows ist der gesamte gemeinsam genutzter Speicher für alle Prozesse sichtbar und von diesen beschreibbar. Daher kann hier jeder Prozess in jedes Dateizuordnungsobjekt schreiben.
     

  • Consumer Windows verfügt über einige kritische Speicherseiten mit Betriebssystemcode, die vom Benutzermodus aus beschreibbar sind, sodass eine im Benutzermodus laufende Anwendung das System beschädigen oder zum Absturz bringen kann.
     

  • Consumer Windows kann alle älteren für MS-DOS und Windows 3.1 geschriebenen Anwendungen,  insbesondere Anwendungen die direkt auf die Hardware zugreifen sowie 16-Bit-MS-DOS-Gerätetreiber ausführen. Ältere MS-DOS/ Windows 3.x Programme, welche diesbezüglich die  Systemsicherheit verletzen, funktionieren unter keiner NT-Version.