Ich verwalte einen großen Teil des in C geschriebenen Legacy-Codes. Dieser Code wurde ursprünglich für die Kompilierung mit Windows 3 für Workgroups geschrieben, und später wurde eine Version für NT erstellt. Diese Legacy-Anwendung wird noch heute verwendet und läuft seit Anfang der 90er Jahre auf 3.11- und NT-Workstations. Es funktioniert und es macht, was es tun soll, und der Grund, warum sie immer noch leben, ist, dass die Treiber für einige der zur Lösung gehörenden benutzerdefinierten Hardware nicht mit späteren Windows-Versionen kompatibel sind.
Es gibt auch eine andere Anwendung, die ich gepflegt habe und die aus den gleichen Gründen nur auf Win2k funktioniert.
Im Laufe der Zeit wird es jedoch immer schwieriger, diese alten Umgebungen zu betreiben. Im Moment behalte ich physische Maschinen mit installierter Entwicklungssoftware, damit ich auf nativer Hardware arbeiten kann. Aber diese können jederzeit sterben (sie sind immerhin 25 Jahre alt).
Meine Frage ist also, wie ich diese archaische Umgebung angesichts des Jahres 2016 stabiler erhalten kann. Können Sie eine 3.11 auf Cloud-Hosting umstellen?
Ich habe Virtualisierung ausprobiert, aber aufgrund der Spezialisierung der Setups konnte ich es nicht mit den Gerätetreibern zum Laufen bringen. Daher denke ich, dass man möglicherweise ein vollständiges Image des Betriebssystems erstellen muss, wie es ist, und dieses dann in einem ausführen muss VM, um die Software zu entwickeln? Ist so etwas für Gastbetriebssystemversionen möglich, die so alt sind wie Win3 und NT?
Gibt es Erfahrungen damit, ältere Plattformen wie diese für die Entwicklung am Leben zu erhalten, aber auf eine modernere und sicherere Weise, auf die ich zurückgreifen kann?
Mein Ziel ist es, die alten physischen Maschinen loszuwerden und auf Virtualisierung umzusteigen.
Antworten:
Das ist der springende Punkt. Sie können Ihr altes C-Programm mit einem neueren Visual Studio neu kompilieren, alle Compiler-Warnungen und -Fehler beheben und im Allgemeinen ein altes System in ein identisches verwandeln, das unter Windows 7 (oder später, falls erforderlich) ausgeführt wird, die Treiber jedoch nicht arbeiten dann ist die Wahrscheinlichkeit gering, dass es auch virtualisiert funktioniert.
Wenn Sie die Treiber / Hardware nicht aktualisieren oder ersetzen können, würde ich nicht damit beginnen, darüber nachzudenken.
quelle
Ich denke, dies ist eher ein Problem, wenn es darum geht, dass virtualbox oder vmware den Zugriff auf den seriellen Port des Hosts ermöglichen, als wenn es um das Virtualisierungs-Betriebssystem oder sogar das Gast-Betriebssystem geht. Ich würde mit einem Host-System beginnen, auf dem ein modernes Betriebssystem (Win 7/8/10 oder Linux Distribution) mit einem USB-zu-Seriell-Port-Adapter ausgeführt wird, der auf einer echten RS-232-Implementierung basiert, wie zum Beispiel dem produktiven pl2303.
Verwenden Sie ein modernes Betriebssystem als Host, installieren Sie virtualbox, erstellen Sie eine Gast-VM und installieren Sie das jeweils kompatible Betriebssystem. Der Schlüssel ist, den RS-232-Port des Gastbetriebssystems an die Gast-VM weiterzuleiten. Verwenden Sie ein Nullmodem und ein Terminalprogramm, um sicherzustellen, dass der RS-232-Anschluss auf dem lokalen Host-Betriebssystem funktioniert.
Wenn der Host Linux ist, sind einige Berechtigungen erforderlich, um die lokale Hardware zu virtualisieren. In den meisten Fällen wird dies durch das Einfügen Ihres Anmeldekontos in die vboxusers-Gruppe erledigt.
quelle
Es ist eine Managemententscheidung. Ihr Management sollte in der Lage sein, zu bestimmen, wie viel Geld es mit der Unterstützung von Windows 3.11 verdient. Wenn sie Verstand haben, werden sie feststellen, dass Kunden, die sich beschweren, wenn Sie sie nicht kostenlos unterstützen, Sie nicht wirklich Geld verdienen. Sie können sie unterstützen, indem Sie ihnen die Kosten für die Unterstützung einer alten Version mitteilen. Nicht nur in Bezug auf die tatsächliche Arbeit, sondern auch in Bezug darauf, dass neuere Technologien nicht eingesetzt werden können.
Der allerneueste Zeitpunkt, an dem Sie eine Maschine unterstützen sollten, ist der Zeitpunkt, an dem Sie bei eBay keinen Ersatz kaufen können.
quelle