Je conserve une grande partie du code hérité, écrit en C. Ce code a été initialement écrit pour être compilé avec Windows 3 pour Workgroups, et plus tard une version pour NT a été créée. Cette application héritée est toujours utilisée aujourd'hui, fonctionnant joyeusement sur les stations de travail 3.11 et NT du début des années 90. Cela fonctionne et il fait ce qu'il est censé faire, et la raison pour laquelle ils vivent toujours est que les pilotes pour certains des matériels personnalisés appartenant à la solution ne sont pas compatibles avec Windows plus tard.
Il existe également une application différente que j'ai maintenue pour les mêmes raisons, ne fonctionne que sur Win2k.
Cependant, à mesure que les choses évoluent, il devient de plus en plus difficile de gérer ces environnements hérités. En ce moment, je garde des machines physiques avec le logiciel de développement installé, donc je peux travailler sur du matériel natif. Mais ceux-ci peuvent mourir à tout moment (ils ont 25 ans après tout).
Donc ma question est, vu que c'est en 2016, quelles sont mes options pour maintenir cet environnement archaïque de manière plus stable? Pouvez-vous déplacer un 3.11 vers un hébergement cloud?
J'ai essayé la virtualisation, mais en raison de la nature spécialisée des configurations, je ne pouvais pas le faire fonctionner avec les pilotes de périphérique, donc je pense que l'on peut avoir besoin de faire une image complète du système d'exploitation tel quel, puis de l'exécuter dans un VM pour développer le logiciel? Une telle chose est-elle possible pour les versions de système d'exploitation invité aussi anciennes que Win3 et NT?
Y a-t-il une expérience dans le maintien en vie de plates-formes plus anciennes comme celles-ci pour le développement, mais de manière plus moderne et sécurisée, sur laquelle je peux puiser?
Mon objectif est de me débarrasser des anciennes machines physiques et de passer à la virtualisation.
Réponses:
C'est le nœud du problème. Vous pouvez recompiler votre programme C hérité avec un Visual Studio plus récent, corriger tous les avertissements et erreurs du compilateur et généralement transformer un ancien système en un système identique qui s'exécute sur Windows 7 (ou plus tard si vous le devez) mais si les pilotes ne le font pas travailler alors les chances de le faire fonctionner même virtualisé est mince.
À moins que vous ne puissiez mettre à jour ou remplacer les pilotes / le matériel, je ne commencerais pas à y penser.
la source
Je pense que c'est plus un problème pour obtenir virtualbox ou vmware pour fournir l'accès au port série des hôtes que pour le système d'exploitation de virtualisation ou même le système d'exploitation invité. Je commencerais par un système hôte exécutant un système d'exploitation moderne (distribution 7/8/10 ou distribution Linux) avec un adaptateur USB vers port série basé sur une véritable implémentation rs-232, comme le prolifique pl2303.
Utilisez un système d'exploitation moderne en tant qu'hôte, installez virtualbox et créez une machine virtuelle invitée et installez tout système d'exploitation compatible. La clé consiste à faire passer le port RS-232 sur le système d'exploitation invité à la machine virtuelle invitée. Utilisez un programme null modem et terminal pour vous assurer que le port RS-232 fonctionne sur le système d'exploitation hôte local.
Si l'hôte est Linux, certaines autorisations sont nécessaires pour virtualiser le matériel local, et dans la plupart des cas, placer votre compte de connexion dans le groupe vboxusers s'en chargera.
la source
C'est une décision de gestion. Votre direction doit être en mesure de déterminer combien d'argent elle gagne en prenant en charge Windows 3.11. S'ils ont des cerveaux, ils se rendront compte que les clients qui se plaignent si vous ne les soutenez pas gratuitement ne vous rapportent pas réellement de l'argent. Vous pouvez les soutenir en leur indiquant le coût de la prise en charge d'une ancienne version. Non seulement en termes de travail réel, mais également en termes de non-utilisation de technologies plus récentes.
La toute dernière fois où vous devez prendre en charge une machine est lorsque vous ne pouvez pas acheter de pièces de rechange sur eBay.
la source