Warum kann Windows 9x-Software auf Windows 7 64-Bit ausgeführt werden?

Warum kann Windows 9x-Software auf Windows 7 64-Bit ausgeführt werden?

Viele Jahre lang (lange nach der Einführung von Windows XP) hatte ich eine Sammlung alter Windows 9x-Desktop-PCs. Im Grunde waren die Hardware-Spezifikationen dieser Rechner zu schlecht, um auf XP aktualisiert zu werden (und sie hatten viel Geld gekostet), also habe ich sie weiterhin mit ihrer Originalsoftware verwendet: verschiedene Installationen von Windows 98SE und Windows ME (alle als 32-Bit-Versionen).

Letztendlich habe ich XP nie verwendet. Die Win9x-Rechner waren so zuverlässig, dass sie noch lange nach der Veröffentlichung von XP und Vista funktionierten. Aber irgendwann musste ich auf Windows 7 64-Bit umsteigen.

Ich habe nicht vor, etwas wirklich Dummes zu tun, wie zum Beispiel zu fragen, warum dieses oder jenes Programm nicht auf Win7 64bit läuft! :-)

Ausnahmslos alle Software, die ich unter 32-Bit-Windows 98SE verwendet habe, funktionierte auf der 64-Bit-Architektur von Win7 NT sofort (sozusagen). Heute verwende ich noch immer eine Vielzahl dieser Software, insbesondere die Textverarbeitungsprogramme und HTML-Editoren, die ich routinemäßig verwende.

Gibt es einen technischen Grund, warum ich nie die erwarteten Schwierigkeiten beim Ausführen von Windows 9x-Programmen auf 64-Bit-NT hatte? Man hat mir von „Kompatibilitätseinstellungen“ unter Win7 erzählt, aber ich musste nie ein Programm im „Kompatibilitätsmodus“ ausführen.

Mir ist bewusst, dass Windows 7 32-Bit- und 64-Bit-Software an unterschiedlichen Orten speichert und unterschiedlich behandelt. Ich hatte jedoch erwartet, dass dies mit 32-Bit- und 64-Bit-Programmen zusammenhängt, die für Windows 7 geschrieben wurden.

Ich bin überrascht, dass 32-Bit-Programme von Windows 98 anscheinend vollständig mit 32-Bit-Programmen von Windows XP/Vista/7 kompatibel sind, und würde gerne wissen, warum das so ist. Gibt es wirklich keinen Unterschied zwischen ihnen?

Außerdem waren/sind viele der alten Windows 9x-Programme portierbar. Ich habe sie mir angewöhnt, auf USB-Sticks oder auf dem Windows 7-Desktop zu speichern und sie einfach auszuführen. Ich hatte keine Probleme. Obwohl sie nicht aus einem Ordner mit Programmen ausgeführt werden. Auch hier würde ich gerne verstehen, warum das Betriebssystem aus technischer Sicht keine Einwände dagegen hat.

Mache ich etwas Unsicheres? Das Betriebssystem Windows 7 scheint sehr stabil zu sein, aber ich würde gerne wissen, ob ich ihm Dinge auffordere, die ich nicht tun sollte.

Antwort1

Du musst der erste Benutzer sein, der sich beschwert, denn er/sie hat überhaupt keine Probleme. ;)

Während die Mainstream-Medien große Anstrengungen unternommen haben, um Windows einen unverdienten Ruf in Sachen App-Kompatibilität zu verschaffen, ist es eine Tatsache, dass Microsoft stark in die Abwärtskompatibilität investiert hat und die überwiegende Mehrheit der für Windows 98 geschriebenen Apps auch unter Windows 7 noch nutzbar ist. Außerdem ist Windows 7 das stabilste Betriebssystem, das Microsoft je entwickelt hat. Lassen Sie sich nicht täuschen, der Unterschied zwischen Windows 7 und Windows 98 ist enorm, aber:

  • Windows 98 nutzte eine umfangreiche Windows-API, die Microsoft nicht extra neu geschrieben hat! Beispielsweise die Schnittstelle fürZeichnen eines Rechtecks ​​auf dem Bildschirm,Erstellen eines FenstersoderAnzeige einer Menüleisteist immer noch das Gleiche.
  • Windows 7 hat Maßnahmen implementiert, die die Kompatibilitätsprobleme der Legacy-Software beheben sollen. Eine davon ist die UAC-Virtualisierung. Windows 98-Apps schrieben ihre App-Daten in ihren Installationsordner. Windows 7 erlaubt dies nicht mehr; für Legacy-Apps leitet die UAC-Virtualisierung den Datenschreibvorgang jedoch außerhalb des App-Installationsordners nach um %LOCALAPPDATA%\VirtualStore.

Zu den Apps aus der Windows 98-Ära, die unter Windows 7 nicht mehr funktionieren, zählen 16-Bit-Apps (die nicht unter 64-Bit-Windows, manchmal aber unter 32-Bit-Windows laufen) und Apps, die entweder auf Hacks oder obskuren Diensten älterer Betriebssysteme basieren.

Antwort2

Sie stellen hier eine Menge Fragen, einige davon sind ziemlich komplex, aber die grundlegende Antwort lautet: „Microsoft unternimmt große Anstrengungen, um die Abwärtskompatibilität aufrechtzuerhalten.“ Ehrlich gesagt wäre eine bessere Frage: „Warum sollte es nicht funktionieren?“, da sowohl Win9x als auch NT (einschließlich Win7) die Win32-API und den x86-Befehlssatz verwenden (AMDs 64-Bit-Erweiterungen des Intel-x86-Befehlssatzes sind abwärtskompatibel; ein „x64“-Prozessor, der im 64-Bit-Modus läuft, kann auch 32-Bit-Programme ausführen).

Der wahrscheinlichste Grund, warum etwas nicht funktioniert, sind schlicht die Zugriffskontrollen. Win9x unterstützte überhaupt keine Zugriffskontrollen; jedes Programm konnte tun, was es wollte. Bei böswilliger Verwendung war das Schreiben von Malware ein Kinderspiel. Bei nicht böswilliger, aber nachlässiger Verwendung bedeutete dies, dass viele Entwickler ihre Programme so schrieben, dass die Programme Daten in ihre Installationsordner schrieben. Dies ist aus mehreren Gründen eine schlechte Idee, nicht zuletzt aus Sicherheitsgründen; auf einem „echten“ Betriebssystem erlaubt der Standardspeicherort, an dem Dateien installiert werden, Nicht-Administratoren nicht, in Dateien zu schreiben, und Sie sollten das Programm als Nicht-Administrator ausführen, außer wenn Sie Software installieren/aktualisieren.

Natürlich ist diese ganze Sache mit dem "Schreiben in das Verzeichnis, aus dem Sie arbeiten"einfach(Ich habe ja gesagt, dass die Entwickler faul sind...) und ja, es macht Software auch „portabel“ in dem Sinne, dass man sie auf einen Flashdrive packen kann (der normalerweise auch völlig ohne Zugriffskontrollen auskommt, da sie Varianten des FAT-Dateisystems verwenden und FAT keine Dateiberechtigungen unterstützt). Software auf diese Weise ausführenIstweniger sicher, als es in einem Bereich mit eingeschränktem Zugriff zu installieren und von dort aus auszuführen (als Nicht-Administrator), aber es ist wahrscheinlich in Ordnung, solange Sie den Computer nicht mit anderen Personen teilen.

Und warum das Betriebssystem keine Einwände hat... warum sollte es das erwarten? Program FilesIst das nicht einbesondersOrdner in irgendeiner Weise, es ist nur der Ort, an dem man gemäß Konvention Programme installiert. (Das ist eigentlich eine wirklich dumme Konvention, denn manche Software funktioniert nicht mehr, wenn man sie an einem Ort mit Leerzeichen im Pfad installiert, aber vielleicht wollte MS sicherstellen, dass die Entwickler nicht ganz soDasfaul...) Das einzig Besondere daran Program Filesist, dass auf 64-Bit-Systemen 32-Bit-Prozesse, wenn sie nach dem Ordner „Programme“ fragen, tatsächlich zu diesem Program Files (x86)Ordner geleitet werden. Darüber hinaus... können Sie mit dem Betriebssystem Programme von überall ausführen, auf die Sie als Benutzer Zugriff haben. Einige Programme werden absichtlich in Ihrem Benutzerprofil oder in einem eigenen Ordner im Stammverzeichnis des Laufwerks installiert (dies C:\Python27ist ein üblicher Ordner auf einem Entwicklercomputer). Diese Programme funktionieren einwandfrei.

verwandte Informationen