Kleine Software zum Ausführen von 16-Bit-Apps

1368
Armand P

Ich kann keine kleine Windows-16-Bit-App auf meinem 64-Bit-System ausführen. Bei den Online-Vorschlägen wurde die 16-Bit-App in einer virtuellen Maschine ausgeführt. Das Ausführen eines ganzen Betriebssystems, nur um eine kleine App auszuführen, scheint ein Overkill zu sein.

Ich könnte mir vorstellen, dass es möglich wäre, eine kleine Software zu erstellen, die die notwendigen Elemente der 16-Bit-App nachahmt. Kennt jemand eine solche Lösung?

2
Eine Virtualbox ist überhaupt nicht schwer. Heck, selbst XP scheint auf einem modernen Computer mit 7 oder 8 klein zu sein. Und 16-Bit? Führen Sie einfach etwas älter als XP aus und Sie sind erledigt. Shiki vor 10 Jahren 0
Es ist nicht möglich, 16-Bit-Software auf einem 64-Bit-Betriebssystem auszuführen. Daher ist die Verwendung einer virtuellen Maschine oder einer 32-Bit-Anwendung, die die Emulation der benötigten Funktionalität (z. B. DOSBox) ermöglicht, eingeschränkt. Wir können hier bei Superuser keine spezifischen Produktempfehlungen geben. Ramhound vor 10 Jahren 0
Ich habe schon einige Zeit recherchiert und dachte, ich hätte vielleicht eine einfachere Lösung vermisst. Auf einem neuen PC wird die VM schnell ausgeführt, die Ausführung der App erfordert jedoch viele Schritte (VM ausführen, auf OS warten, dann die App ausführen). Die Einrichtung, damit die 16-Bit-App in meinem Dokumentenordner gespeichert werden kann, ist umständlich. Armand P vor 10 Jahren 0

1 Antwort auf die Frage

1
Hennes

Ich könnte mir vorstellen, dass es möglich wäre, eine kleine Software zu erstellen, die die notwendigen Elemente der 16-Bit-App nachahmt. Kennt jemand eine solche Lösung?

Eigentlich ist das nicht trivial. Eine x86-CPU im amd64-Modus bietet nicht nur viele Funktionen (Doppelregister, Doppel-MMX-Register, 64-Bit-Adressmodus, ...), sie verliert auch den Zugriff auf einige ältere Optionen. 32-Bit-Apps können problemlos ausgeführt werden. Es gibt jedoch keine Möglichkeit, 16-Bit-Apps nativ auszuführen. Daher müssen Sie wirklich eine ältere CPU emulieren. Die Emulation ist relativ langsam und nicht völlig trivial.

Die übliche Lösung dafür ist, das Ganze in eine VM zu packen, z. B. eine von qEMu betriebene, die andere CPUs emulieren kann.

Bei den Online-Vorschlägen wurde die 16-Bit-App in einer virtuellen Maschine ausgeführt. Das Ausführen eines ganzen Betriebssystems, nur um eine kleine App auszuführen, scheint ein Overkill zu sein.

Es ist etwas übertrieben. Die richtige Lösung wäre, die Anwendung entweder neu zu kompilieren und als ausführbare 64-Bit-Datei auszuführen (oft trivial, wenn die App gut geschrieben ist und Dinge wie size_t verwendet, anstatt nur anzunehmen, dass sich die Dinge nie ändern werden). Dies erfordert, dass Sie Zugriff auf den Quellcode haben, was nicht immer der Fall ist.

Umgehungen wären:

  • Behalten Sie ein altes DOS / Windows 2/3 / 3.11-System bei (Bitte Gd NEIN )
  • Führen Sie es in einer VM aus.
  • Emulieren Sie die ältere Maschine über WINE .

Die erste Lösung wird nicht empfohlen. Sie würden mit auf alte OS geklebt werden, zB Windows 7 32 - Bit (nicht ein älteres O verwenden, die länger kein Updates installiert ist . Verwenden Sie XP nicht, es sei denn Sie würden OS vor wechseln 8 th von April 2014 . Oder ein dediziertes Host mit nicht verwenden Netzwerkzugriff, alle USB-Anschlüsse geschlossen, usw. Dies hat den offensichtlichen Nachteil, dass die Benutzerfreundlichkeit beeinträchtigt wird.

Es läuft großartig in einer VM. Es funktioniert, es kann isoliert werden. Die Sicherung ist einfach und Sie können die VM jederzeit auf eine neue Maschine migrieren. Zukunftssicherheit ist eine gute Sache.
Der offensichtliche Nachteil besteht darin, dass die VM ausgeführt wird. Ein Teil davon kann jedoch automatisiert werden (z. B. beim Booten des Desktops automatisch starten. Schließen Sie das Herunterfahren der VM an das Ausschalten von Fenstern usw.).

Die Emulation wird auch funktionieren und normalerweise langsamer. (Bei den meisten Ausnahmen, bei denen die Emulation schneller ist, handelt es sich um WINE, Linux und Spiele, bei denen der OpenGL-Aufruf unter Linux viel schneller war, was bei einigen Spielen einen unerwarteten Geschwindigkeitsgewinn von 40% zur Folge hatte). Langsamer ist jedoch nicht schlecht, wenn man bedenkt, dass die alte App wahrscheinlich auf etwa 16 MHz MHz 286 (16-Bit-Ära) und jetzt auf einem modernen Multi-GigaHertz-Kern lief. Selbst wenn es um 99% verlangsamte, wäre es immer noch schneller.

Trotzdem für einfache Wartung und zukünftige Proofs: Holen Sie sich eine VM mit win7-32 ​​Bit und führen Sie Ihre App darin aus.

Vielen Dank für die ausführliche Erklärung. Ich denke immer noch, dass ein einfacher Emulator möglich wäre (WINE ist ein Beweis dafür). Es scheint aber an dieser Stelle, dass ein WM mit vollem Betriebssystem der einzige Weg ist. Armand P vor 10 Jahren 0
WEIN auf 64bit MacOSX führt meine 16bit-App ohne Probleme aus. Warten Sie also auf einen WEIN-Port auf Windows. Armand P vor 10 Jahren 1