Windows 3.x

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 31. März 2022 um 13:14 Uhr durch IT-Compiler (Diskussion | Beiträge) (Betriebsmodi: Funktionsmatrix. Siehe auch Diskussion. Quelle der Daten: MS Dokument WW0335.TXT). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
Windows 3.x
Entwickler Microsoft
Lizenz(en) Microsoft EULA (Closed Source)
Erstveröff. 22. Mai 1990
Akt. Version 3.0 bis 3.2
Kernel PC-kompatibles DOS
Windows-Kernel
Abstammung Windows 1.02.11
↳ Windows 3.x
Chronik Windows 3.0 (1990)
Windows 3.00a (1990)
Windows 3.0 mit Multimedia Extensions 1.0 (1991)
Windows für Pen Computing 1.0 (1992)
Windows 3.1 (1992)
Windows für Workgroups 3.1 (1992)
Windows für Workgroups 3.11 (1993)
Windows 3.11 (1994)
Windows 3.2 (1994)
Sonstiges Entwicklung eingestellt
www.microsoft.com

Unter der Bezeichnung Windows 3.x werden die Vorgänger der späteren Windows-Betriebssysteme des Softwareunternehmens Microsoft für x86-Prozessoren mit 16-Bit- und 32-Bit-Architektur der Versionen 3.x zusammengefasst.[1] Windows war bis Version 3.x ein grafischer Aufsatz für ein PC-kompatibles DOS-Betriebssystem wie MS-DOS.

Versionen

Die bekanntesten Windows-3.x-Versionen sind:

Es gab noch weitere Versionen, die jedoch keine ähnlich große Verbreitung fanden. Auf eingebetteten Systemen wie Kassensystemen oder Ticketautomaten kam Windows 3.x noch fast 20 Jahre nach seiner Markteinführung zum Einsatz, Lizenzen dafür verkaufte Microsoft noch bis Ende Oktober 2008.[1]

Technik

Windows 3.x ermöglichte den Betrieb von mehreren Anwendungen per Multitasking in einer grafischen Oberfläche und setzte noch ein laufendes MS-DOS (oder kompatibel, also auch z. B. PC DOS oder DR DOS) voraus, auf dem es lief. In diesem Bezug war es nicht anders als die älteren Windows-Versionen bis Windows 2.x. Durch die Verwendung des Protected Mode für die Betriebsmodi Standard Mode und Enhanced Mode war Windows bereits mehr als ein grafischer Aufsatz für das Betriebssystem MS-DOS, wenn es auf einem Prozessor lief, der den Protected Mode ermöglichte. Ein großer Unterschied von DOS- zu Windows Anwendungen ist, dass Windows Anwendungen geräteunabhängig sind, da die Windows API für diese als Abstraktionsschicht dient und alle Hardwarezugriffe somit über den Windowskernel und dessen Treiber laufen. Dies ermöglicht auch die Verwendung von virtuellem Speicher (nur Enhanced Mode) ohne das die Windows Anwendung extra umgeschrieben werden muss, da aus Sicht der Windows Anwendung kein Unterschied zwischen diesem und dem normalen Speicher besteht.

Windows 3.x verwendet selbst keinen Expanded Memory (EMS) mehr, es können aber DOS-Anwendungen per Bank Switching Expanded Memory zur Verfügung gestellt werden. Voraussetzung dafür ist, dass der EMS Speicher von einer Speichererweiterungskarte (memory expander) kommt. Als EMS Speicher reservierter normaler Speicher oberhalb der 1 MiB Grenze kann dafür nicht verwendet werden. Dies gilt für alle Betriebsmodi.[2]

Mit der Windows-3.x-Reihe begann der Übergang von reinen 16-Bit-Real-Mode-Windows-Programmen zu 16-Bit- und 32-Bit-Protected-Mode-Windows-Programmen. Dazu gab es ab Windows 3.0 drei verschiedene Betriebsmodi, die abhängig von der CPU beim Start von Windows automatisch den entsprechenden Windows Kernel aufriefen[3], diese Betriebsmodi sind:

Betriebsmodi

Real Mode

Dieser Modus steht nur unter Windows 3.0 zur Verfügung und ist für den 8086-Prozessor gedacht. Alle Windows-Programme arbeiten in diesem Modus im Real Mode und sind daher auf 16-Bit-Code und den Adressbereich von 1 MiB begrenzt. Auf späteren CPU-Generationen kann dieser Betriebsmodus durch das Starten von Windows 3.0 mit dem Aufruf win /r erzwungen werden.

Da der Real Mode nur in Windows 3.0 zur Verfügung stand und aufgrund des knappen Speichers im konventionellen Speicherbereich nur wenige 16-Bit-Windows-Real-Mode-Programme entwickelt wurden, spielte er im weiteren Verlauf praktisch keine Rolle mehr.

Standard Mode

Im Standard Mode läuft Windows im Protected Mode, was es Windows-Programmen ermöglicht, mehr als 1 MiB RAM durch die Microsoft Extended Memory Specification (XMS) und den XMS Treiber (z. B.HIMEM.SYS) zu adressieren.[4] Für den Standard Mode ist ein 80286-Prozessor oder besser erforderlich. Wie beim Real Mode können im Standard Mode nur 16-Bit-Windows-Programme ausgeführt werden. Im Standard Mode ist die Verwendung von mehr als 640 KiB Arbeitsspeicher für DOS-Anwendungen mit der Ausnahme von EMS Memory nicht möglich.

Ab Windows for Workgroups ist dieser Modus nicht mehr verfügbar. Auf späteren CPU-Generationen kann dieser Betriebsmodus durch das Starten von Windows mit dem Aufruf win /s erzwungen werden.

Enhanced Mode (Erweiterter Modus)

Der Enhanced Mode ist eine Erweiterung des Standard Mode. Für den Enhanced Mode ist ein 386er-Prozessor die Mindestvoraussetzung. In diesem Modus ist die Ausführung von sowohl 16-Bit- als auch erstmals 32-Bit-Windows-Programmen möglich. Für 32-Bit-Windows-Anwendungen muss die Win32s-API nachinstalliert werden. Im Enhanced Mode kann zusätzlich zum Extended Memory (XMS) auch Speicherplatz auf der Festplatte als virtueller Speicher, einer sogenannten SWAP-Datei, verwendet werden. Dies ist nur im Enhanced Mode möglich.
Im Enhanced Mode fungiert der Kernel als DPMI-Host, womit mehrere DOS-Anwendungen unter Verwendung des Virtual 8086 Mode des 80386 Prozessors parallel ablaufen können. Wenn die DOS-Anwendung mit DPMI Support programmiert wurde, kann sie auch mehr als 640 KiB konventionellen Speicher nutzen.

Im Enhanced Mode sind 32-Bit-Windows-Gerätetreiber möglich, obwohl Windows 3.x auch weiterhin die 16-Bit-Treiber von DOS verwenden kann.

Real Mode Standard mode Enhanced Mode
Windows Kernel
8086 Kernel Ja Nein Nein
286 Kernel Nein Ja Nein
386 Kernel Nein Ja 1 Ja
Unterstützte CPUs
8086 Ja Nein Nein
80286 Ja Ja Nein
80386 oder besser Ja Ja Ja
Versionen
Windows 3.0 Ja Ja Ja
Windows 3.1 Nein Ja Ja
Windows 3.11 Nein Ja Ja
Windows 3.2 Nein Ja Ja
Windows for Workgroups 3.1 Nein Ja Ja
Windows for Workgroups 3.11 Nein Nein Ja
Funktionen
Abwärtskompatibel zu Windows 1.x und 2.x Programmen Ja Nein Nein
VCPI kompatibel zu VCPI fähigen DOS Programmen Ja 2 Nein Nein
Unterstützt nur eine einzige DOS Umgebung gleichzeitig Ja Ja Nein
Unterstützt präemptives Multitasking zwischen mehreren DOS Anwendungen Nein Nein Ja
DOS Anwendungen können in einem Windows Fenster ausgeführt werden Nein Nein Ja
Erlaubt die Nutzung von EMS Memory für EMS fähige DOS Anwendungen durch Extended Memory (XMS) Ja 3 Nein 4 Ja
Erlaubt die Nutzung von EMS Memory für EMS fähige DOS Anwendungen durch eine Expander Memory Karte Ja Ja Ja
Kooperatives Multitasking zwischen Windows Anwendungen Ja Ja Ja
Windows läuft im Protected Mode Nein Ja Ja
DPMI Unterstützung für DOS Programme Nein Ja Ja
DOS Anwendungen können XMS Memory nutzen Nein ? Ja
Virtual Memory per SWAP Auslagerungsdatei Nein Nein Ja 5
Win32s Unterstützung Nein Nein Ja 6
  • 1 Windows muss dazu via win /s im Standard Mode gestartet werden.
  • 2 Windows nutzt im Real Mode selbst nur Konventionellen Arbeitsspeicher. Ein VCPI Treiber sollte daher nicht stören.
  • 3 Die verwendete CPU muss dies unterstützen. Also erst ab einem 80286.
  • 4 Im Standard Mode wird das von Windows nicht unterstützt, da dem 80286 der Virtual 86 Mode fehlt [5]
  • 5 Von dem Virtual Memory können auch DOS Programme Gebrauch machen, wenn sie Extended Memory (XMS) und DPMI unterstützen
  • 6 Dazu muss die Win32s API nachträglich installiert werden.

Bedeutung

Mit Windows 3.0 und 3.1 gelang Microsoft der Durchbruch auf dem Markt für grafische PC-Betriebssysteme. Die eigentliche Bedeutung steckte jedoch in der stabilen Programmierschnittstelle (englisch Application Programming Interface, kurz API), die in ihrer 16-Bit-Ausprägung auch Win16 genannt wurde. 16-Bit-Windows-Programme aus Windows 2.0 funktionierten dabei weiterhin, jedoch nur im Real Mode.

Windows 3.x bereitete den Weg hin zu Windows 9x, das als eigenständiges Betriebssystem den MS-DOS-Unterbau in das Betriebssystem integrierte und die 32-Bit-Funktionen sowohl im 32-Bit-API Win32 als auch bei Kernkomponenten wie dem Speichermanager und Multitasking erweiterte.

Beide Generationen, also Windows 3.x als auch Windows 9x (welches als Windows 4.x entwickelt wurde), waren in der Retrospektive Lückenfüller für das neu entwickelte Windows NT, das ein vollständiges 32-Bit-Betriebssystem war – auf der damaligen Hardware jedoch zu ressourcenhungrig und zu teuer. Erst mit Windows XP gelang Microsoft der vollständige Umstieg auf die mit Windows NT eingeführte neue Technik.

Windows 3.x/9x und Windows NT haben ein ähnliches und in großen Teilen identisches API. Unter Windows 3.x konnte eine abgespeckte Variante der Win32-API nachinstalliert werden, Win32s, während Win16-Applikationen auch unter Windows-NT-Versionen weiterhin lauffähig waren. Erst in 64-Bit-x86-Versionen von Windows, also ab Windows XP x64 Edition (2005) bzw. Windows Vista x64 (2007), steht das Win16-API nicht mehr zur Verfügung.

  • The Windows 3.x Showcase. This is a collection of curated Windows 3.x software, meant to show the range of software products available for the 3.x Operating System in the early 1990s. In: Internet Archive. (englisch).

Einzelnachweise

  1. a b Manfred Bremmer: Windows 3.x – Microsoft stampft bestes Windows-Release ein. In: Computerwoche. IDG, 6. November 2008, abgerufen am 22. Mai 2018.
  2. Microsoft Product Support Services Application Note (Text File WW0335.txt) WW0335: Memory Management with Windows
  3. Raymond Chen: For the Nitpickers: Enhanced-mode Windows 3.0 didn’t exactly run a copy of standard-mode Windows inside the virtual machine. In: The Old New Thing (Blog). 8. Februar 2013, abgerufen am 23. November 2021 (englisch).
  4. Microsoft Product Support Services Application Note (Text File WW0335.txt) WW0335: Memory Management with Windows
  5. Microsoft Dokument WW0335.TXT Abschnitt "Standard Mode and Expanded Memory"