Warum können 64-Bit-Betriebssysteme keine 16-Bit-Apps ausführen?

Warum können 64-Bit-Betriebssysteme keine 16-Bit-Apps ausführen?

Als Computer anfingen, die moderne 64-Bit-Architektur zu verwenden, erkannten die Benutzer bald, dass die Ausführung dieser alten 16-Bit-Anwendungen nicht funktionieren würde. Warum können 64-Bit-Maschinen keine 16-Bit-Apps ausführen?





Die Antwort auf diese Frage kann verwirrend sein, je nachdem, wen Sie fragen. Zum einen ist es nicht unmöglich, 16-Bit-Apps auszuführen. Es ist nur schwer. Zweitens liegt der Grund für diese Schwierigkeit sowohl in der CPU-Architektur und das Betriebssystem.





Noch verwirrt? Keine Sorge, Sie sind nicht allein. Aber wenn Sie am Ende dieses Artikels angelangt sind, werden Sie nicht mehr verwirrt sein.





Die Geschichte der CPU-Architektur

Ich weiß, das Letzte, was Sie lesen möchten, ist eine Geschichtsstunde, oder? Keine Sorge, das ist eine kurze. Es ist auch wichtig zu verstehen, warum 64-Bit-Systeme keine 16-Bit-Apps nativ ausführen können.

Wenn Sie die 80er und 90er Jahre erlebt haben, dann erinnern Sie sich wahrscheinlich an die alten 16-Bit-Dinosaurier, von denen alle damals glaubten, sie seien modernste Technologie.



Damals war es das. Diese alten Maschinen liefen die Intel 8086 Prozessor im Jahr 1978. Der Prozessor konnte mit 16-Bit-Adressierung auf einen Adressraum von 1 MB zugreifen. Da frühere Maschinen über 64 KB Speicher verfügten, war dies ein enormer Fortschritt und markierte den Beginn eines neuen Zeitalters im Personal Computing.

In diesem Modus (genannt Real-Modus ), ein Teil war für RAM reserviert und der Rest wurde vom BIOS und der Computerhardware wie der Grafikkarte verwendet.





Etwas später kam ein weiterer Fortschritt in der CPU-Architektur mit dem 80286-Prozessor, der 16 MB mit 16-Bit-Adressierung adressieren kann. Mit der 286er Architektur kam der 'Protected Mode' mit Funktionen, die nicht nur die Adressierung von mehr Speicher, sondern auch Multitasking ermöglichten. Es war nicht immer einfach, ältere 16-Bit-Anwendungen im 'Real-Modus' auszuführen, aber es war möglich.

Das Ende von 16-Bit, irgendwie...

1985 stellte Intel seinen Prozessor der nächsten Generation vor: den Intel 386. Dies war Intels erste CPU, die den Speicher mit jeweils 32 Bit adressieren und auf satte 4 GB adressierbaren Speicher zugreifen konnte. Für Computeranwender erschien dies damals wie ein großer Durchbruch. PC-Gaming stand kurz vor seiner Blütezeit.





Mit dem Aufkommen der 32-Bit-Architektur kam eine erweiterte Version von Sicherheitsmodus Dies ermöglichte nicht nur den Zugriff auf mehr Speicher, sondern enthielt auch eine Reihe von Funktionen, mit denen Software das System kennzeichnen konnte, ob es sich um 16-Bit- oder 32-Bit-Code handelte. Möglich wurde dies durch das sogenannte Virtueller 86-Modus , das im Wesentlichen ein integriertes virtualisiertes 8086-System war.

Wie Sie sehen, haben sowohl die Hardware (CPU-Programmierung) als auch die Software (Betriebssysteme und Anwendungen) von einer Evolution der CPU-Architektur zur nächsten die Abwärtskompatibilität für alle Benutzer beibehalten, die noch sehr alte Software hatten, die sie verwenden wollten Lauf. Für einzelne Computerbenutzer war dies nützlich, aber für viele Unternehmen und kleine Unternehmen war es für Legacy-Systeme von entscheidender Bedeutung.

64-Bit-Architektur hat alles ruiniert

Die Grenze von 4 GB adressierbarem Speicher blieb viele Jahre lang eine Krücke für 32-Bit-Systeme. Mit der Erfindung der 64-Bit-Prozessoren kam jedoch ein weiterer Durchbruch. Diese Systeme enthielten einen neuen Modus (bekannt als Langer Modus ) kann bis zu 16 Millionen Terabyte Speicher adressieren. Es wird wahrscheinlich noch lange dauern, bis dies zu einem limitierenden Faktor für Computeranwendungen wird.

Mit diesem enormen Fortschritt ging jedoch ein erheblicher Kompromiss einher. Als Benutzer versuchten, 16-Bit-Anwendungen auszuführen, die den seit langem unterstützten 'realen Modus' oder 'virtuellen 8086-Modus' erforderten, entdeckten sie eine Fehlermeldung, die lautete 'Program.exe ist keine gültige Win32-Anwendung'.

Es war frustrierend, aber es war nicht das Ende der Welt. Benutzer könnte Emulatoren gebrauchen oder virtuelle Maschinen installieren mit 32-Bit-Architektur und Betriebssystemen, die ältere 16-Bit-Anwendungen unterstützen können.

Während es für 64-Bit-Systeme 'unmöglich' ist, 16-Bit-MS-DOS-Anwendungen auszuführen, ist es für Benutzer jedoch nicht unmöglich, dies mit einem Workaround zu tun. Aber warum ist das passiert?

64-Bit-Architektur entfernt das NTVDM

In jeder Generation von 32-Bit-Prozessoren wurde im Laufe der Jahre viel Aufwand in das Betriebssystem gesteckt, damit das System ältere 16-Bit-DOS-Anwendungen verarbeiten kann. Dies wurde mit der sogenannten NTVDM oder NT Virtual DOS Machine erreicht.

Diese 32-Bit-Anwendung lief unter dem Windows-Betriebssystem und simulierte eine 486-Architektur, die eine 16-Bit-Adressierung unter Verwendung von virtuellem 8086 verarbeiten kann. Leider konnte die Adressierung im 'langen Modus' dies nicht sicher bewältigen. Stattdessen wäre die Emulierung eines vollständigen 8086-Prozessors erforderlich gewesen, nur um laufende DOS-Anwendungen zu unterstützen.

Microsoft hat sich eindeutig entschieden, diese Bemühungen aufzugeben, um die schnelle Veröffentlichung seines ersten 64-Bit-Betriebssystems zu unterstützen. Auf seiner Support-Seite gibt Microsoft eindeutig an, dass '16-Bit-MS-DOS- und Microsoft Windows 3.x-Dienstprogramme nicht gestartet werden können'.

Keine Entschuldigungen. Es wird einfach nicht unterstützt.

Bei der Fülle von Virtualisierungsprodukten auf dem Markt, die dies sowieso bewerkstelligen können, hielt Microsoft es eindeutig nicht für in seinem Interesse, das Rad neu zu erfinden.

So führen Sie 16-Bit-Anwendungen auf 64-Bit-Systemen aus

Nur weil die Ausführung von 16-Bit-DOS-Anwendungen auf 64-Bit-Windows-Systemen nicht nativ unterstützt wird, heißt das nicht, dass dies unmöglich ist. Sie müssen nur einige zusätzliche Tools installieren, um die Dinge einzurichten.

Wenn du genießt klassische DOS-Spiele oder andere Retro-Anwendungen aus der guten alten Computerzeit verwenden, es gibt Optionen. Hier sind vier Möglichkeiten, wie Sie sie auf Ihrem neuen Windows-Computer ausführen können.

1. Spielen Sie Retro-Spiele mit DOSBox

Eine der einfachsten Möglichkeiten, alte DOS-Apps auf Ihrem PC auszuführen, ist die Verwendung eines Emulators. Einer der beliebtesten davon ist DOSBox .

Wie verbinde ich Bluetooth-Kopfhörer mit der Xbox?

Christian hat detailliert beschrieben, wie man DOSBox installiert und konfiguriert alte Retro-Spiele laufen lassen auf Ihrem Windows-Rechner.

Das Tolle daran ist, dass die meisten dieser Spiele so alt sind, dass sie gelten als Abandonware , sodass Sie sie legal herunterladen und kostenlos spielen können.

2. Ausführen von Apps in VirtualBox

Da Betriebssysteme wie Windows XP und Windows 7 16-Bit-Anwendungen nativ ausführen können, können Sie dieselben Anwendungen auf Ihrem 64-Bit-System ausführen, indem Sie eine virtuelle Maschine mit einem dieser Betriebssysteme erstellen.

Eine der bekanntesten und am einfachsten einzurichtenden Anwendungen dafür ist VirtualBox . Wir haben eine vollständige Anleitung zu wie man VirtualBox einrichtet und verwendet , sodass Sie sofort mit diesem Ansatz beginnen können.

Stellen Sie einfach sicher, dass Sie das richtige Betriebssystem für die Installation auswählen. Bleiben Sie bei Windows 7 oder früher und Sie können im Handumdrehen alte DOS-Apps herunterladen und auf Ihrem virtuellen System installieren.

3. Verwenden Sie Linux

Sagen Sie, was Sie über Linux sagen wollen, eine Sache, die die meisten Linux-Distributionen richtig haben, ist die Unterstützung für 16-Bit-Anwendungen. Bei Distributionen mit dem PAE-Kernel sind Sie nicht auf die 4 GB von 32-Bit-Systemen beschränkt, daher ist es eine weitere Option, eine richtige Linux-Distribution als Dual-Boot auf Ihrem System auszuführen.

Dazu gibt es zwei Möglichkeiten: eine Dual-Boot-Lösung oder eine virtuelle Maschine . Oder Sie könnten Windows einfach komplett ablegen und geh mit Linux . Was auch immer für dich funktioniert.

4. Verwenden Sie Emulatoren

DOSBox ist nicht der einzige Emulator, der zum Ausführen alter DOS-Apps verfügbar ist. Es gibt viele großartige Emulatoren, die genauso gut funktionieren. Dies gilt insbesondere, wenn Sie ein Spieler sind.

Christian hat behandelt, wie man a . nachahmt Kommodore Freund , zu Himbeer-Pi , ein Android , und selbst klassisches SNES auf jedem PC.

Dies ist nur die Spitze der Eisburg. Wenn Sie online suchen, finden Sie eine ganze Bibliothek mit verschiedenen Emulatoren, mit denen Sie fast jede Retro-App ausführen können, die Sie sich vorstellen können. Microsoft hat vielleicht alte 16-Bit-Anwendungen von früher aufgegeben, aber Sie haben immer noch Optionen.

Geben Sie nicht auf 16-Bit

Es gibt keinen Grund, warum Sie denken sollten, dass es so ist unmöglich um 16-Bit-Anwendungen auf einem 64-Bit-Rechner auszuführen. Es mag nativ unmöglich sein, aber wie Sie sehen, gibt es viele Lösungen, um die Aufgabe zu lösen.

Teilen Teilen Tweet Email 12 Videoseiten, die besser sind als YouTube

Hier sind einige alternative Videoseiten zu YouTube. Sie besetzen jeweils eine andere Nische, aber es lohnt sich, sie zu Ihren Lesezeichen hinzuzufügen.

Weiter lesen
Verwandte Themen
  • Spiele
  • Technologie erklärt
  • Emulation
  • Windows 10
  • 64-Bit
Über den Autor Ryan Dube(942 veröffentlichte Artikel)

Ryan hat einen BSc-Abschluss in Elektrotechnik. Er hat 13 Jahre in der Automatisierungstechnik, 5 Jahre in der IT gearbeitet und ist jetzt Apps Engineer. Als ehemaliger Chefredakteur von MakeUseOf hat er auf nationalen Konferenzen zur Datenvisualisierung gesprochen und wurde im nationalen Fernsehen und Radio vorgestellt.

Mehr von Ryan Dube

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren