| | 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 | | 1993 | MS-DOS
6.2 - Windows 3.11 for Workgroups | | 1994 | MS-DOS
6.22 |
| | Home/Personal
(MS-DOS Kern) | Business/Professional
(NT Kern) | | 1995 | Windows
95 (MS-DOS 7.0) | Windows
NT 3.51 | | 1996 | Windows
95B (OSR2, MS-DOS 7.0) | Windows
NT 4.0 | | 1997 | Windows
95C (OSR2.1/2.5, MS-DOS 7.0) | Windows
NT 4.0 SP1 | | 1998 | Windows
98 (MS-DOS 7.1) | Windows
NT 4.0 SP4 | | 1999 | Windows
98SE (MS-DOS 7.1) | Windows
NT 4.0 SP6 | | 2000 | Windows
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.
|