Eski işletim sistemi için geliştirmeyi destekleme


14

C ile yazılmış eski kodun büyük bir bölümünü koruyorum. Bu kod, başlangıçta Windows 3 for Workgroups karşı derlenmek üzere yazılmıştır ve daha sonra NT için bir sürüm oluşturuldu. Bu eski uygulama bugün hala kullanılmakta olup, 90'ların başından itibaren 3.11 ve NT iş istasyonlarında nadiren çalışmaktadır. Çalışıyor ve yapması gerekeni yapıyor ve hala yaşamalarının nedeni, çözüme ait bazı özel donanımların sürücülerinin sonraki Windows ile uyumlu olmamasıdır.

Aynı nedenlerden dolayı sadece Win2k üzerinde çalıştığımı farklı bir uygulama da var.

Ancak, işler ilerledikçe, bu eski ortamları çalıştırmak gittikçe zorlaşıyor. Şu anda yüklü geliştirme yazılımı ile fiziksel makineleri tutmak, böylece yerel donanım üzerinde çalışabilirim. Ancak bunlar herhangi bir zamanda ölebilir (sonuçta 25 yaşındadır).

Benim sorum şu ki, 2016 olduğu gibi, bu arkaik ortamı daha istikrarlı bir şekilde sürdürmek için seçeneklerim nelerdir? 3.11'i bulut barındırma hizmetine taşıyabilir misiniz?

Sanallaştırmayı denedim, ancak kurulumların özel doğası nedeniyle, aygıt sürücüleri ile çalışmak için alamadım, bu yüzden birinin olduğu gibi işletim sisteminin tam bir görüntüsünü yapması ve daha sonra bir VM yazılımı geliştirmek için? Win3 ve NT kadar eski konuk işletim sistemi sürümleri için böyle bir şey mümkün mü?

Bunlar gibi eski platformları geliştirme için hayatta tutma konusunda deneyimim var mı, ancak daha modern, güvenli bir şekilde, çizebileceğim bir şey var mı?

Amacım eski fiziksel makinelerden kurtulmak ve sanallaştırmaya geçmek.


Hangi VM yazılımını denediniz? VMware? Değilse, bir deneyin, sadece bu yazılımla çalışan sürücüleri aldım, ancak başka bir VM yazılımı olmayan en az bir donanımım var.
Doc Brown

Dahası: donanım yarın ölürse ve şu ana kadar başka seçeneğiniz yoksa en kötü senaryo ne olacak? Şirketiniz yasaklanacak mı?
Doc Brown

VMware ve VirtualBox'u denedim. İki VirtualBox'tan Win3 yüklenemedi ancak NT4 yüklenebildi, ancak CD, çözünürlük değişikliği veya fare desteği yoktu. VMWare Win3'ü yükledi, ancak ekranlar bozuldu, böylece sürücüler yoktu. Şu anda PCem denemek yerine, öykünme geçiş ile uğraşıyorum. Bu daha iyi çalışır ama sonra eski donanım üzerinde hiçbir hız artışı elde ve vb disk paylaşımı gibi VM şeyler eksik
Richard Tyregrim

3
Dürüst olmak gerekirse, yedek parça almak zorlaştığında, eski şeyleri daha yeni bir çözümle değiştirmeyi düşünmenin zamanı geldi. Bir noktada, bu eski şeyleri canlı tutmak, en azından yeni parçalar oluşturmaktan daha az ekonomik hale gelir.
Doc Brown

1
Özel donanım için sürücüleri nereden aldınız?
JeffO

Yanıtlar:


4

ait bazı özel donanımların sürücüleri daha sonra Windows ile uyumlu değildir

bu meselenin düğüm noktası. Eski C programınızı daha yeni bir Visual Studio ile yeniden derleyebilir, tüm derleyici uyarılarını ve hatalarını düzeltebilir ve genellikle eski bir sistemi Windows 7'de (veya gerekirse daha sonra) çalışan aynı sisteme dönüştürebilirsiniz, ancak sürücüler iş sonra sanallaştırılmış bile çalışma şansı zayıftır.

Sürücüleri / donanımı güncelleyemez veya değiştiremezseniz, düşünmeye başlamam.


Yanıtladığınız için teşekkürler. Win3 makinelerinde kullanılan gerçek HW'ye benzeyecek bir VM veya öykünme seçeneği olabileceğini düşünüyordum, böylece bu ortamdaki özel aygıt sürücülerini yüklemek ve aygıtları bağlamak için kullanabilirsiniz. eski donanım üzerinde çalışıyor gibi görünen tüm amaç ve amaçlar. Ayrıca, yeniden derleme, dediğim gibi, kod Win API için düşük düzey çağrıları oldukça geniş miktarlarda yanı sıra iç yapılarda bazı kötü alay kullanır. Bu yüzden Win7 masaüstü modelinde kırılacağını tahmin ediyorum, ancak bunu doğrudan taşımayı denemedim.
Richard Tyregrim

2
Hızlı bir bağlantı noktası girişimi denemelisiniz, sadece ne kadarıyla başa çıkmanın zor olduğunu görmek için - tecrübelerime göre, eski kod yeni Windows işletim sistemlerine şaşırtıcı bir şekilde kolayca eski olan birkaç şeyle bağlantı kurma eğilimindedir.
gbjbaanb

4

Bu sanallaştırma işletim sistemi ve hatta konuk işletim sistemi ile ilgili olmaktan çok ana seri bağlantı noktasına erişim sağlamak için virtualbox veya vmware alma hakkında bir sorun olduğunu düşünüyorum. Üretken pl2303 gibi gerçek bir rs-232 uygulamasına dayanan bir USB'den seri port adaptörüne sahip modern bir işletim sistemi (win 7/8/10 veya Linux dağıtımı) çalıştıran bir ana bilgisayar sistemi ile başlardım.

Ana bilgisayar olarak modern bir işletim sistemi kullanın, sanal kutu kurun ve bir konuk VM oluşturun ve işletim sisteminin uyumlu olduğu her şeyi kurun. Önemli olan, konuk işletim sistemindeki RS-232 portunu konuk VM'ye geçirmektir. RS-232 bağlantı noktasının yerel ana bilgisayar işletim sisteminde çalıştığından emin olmak için boş bir modem ve terminal programı kullanın.

Ana bilgisayar Linux ise, yerel donanımı sanallaştırmak için bazı izinler vardır ve çoğu durumda giriş hesabınızı vboxusers grubuna koymak bununla ilgilenir.


2

Bu bir yönetim kararı. Yönetiminiz, Windows 3.11'i destekleyerek ne kadar para kazandıklarını belirleyecek bir konumda olmalıdır. Beyinleri varsa, ücretsiz olarak desteklemediğinizden şikayet eden müşterilerin aslında size para kazandırmadıklarını anlayacaklardır. Eski bir sürümü desteklemenin maliyetinin ne olduğunu söyleyerek onlara destek olabilirsiniz. Sadece fiili çalışma açısından değil, aynı zamanda daha yeni teknolojileri kullanamama açısından.

Bir makineyi desteklemeniz gereken en son zaman, eBay'den yedek satın alamayacağınız zamandır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.