Підтримка розробки для старих ОС


14

Я зберігаю значну частину застарілого коду, написаного на C. Цей код спочатку був написаний для того, щоб його було скопійовано проти Windows 3 для Workgroups, а пізніше була створена версія для NT. Ця застаріла програма використовується і сьогодні, і вона працює на робочих станціях 3.11 та NT з початку 90-х. Він працює, і він робить те, що повинен робити, і причина, по якій вони все ще живуть, полягає в тому, що драйвери для певного користувальницького обладнання, що належить до рішення, не сумісні з пізнішими Windows.

Існує також інша програма, я стверджував, що з тих же причин працює тільки на Win2k.

Однак у міру того, як справи рухаються, запускати ці застарілі середовища стає все важче. Зараз я тримаю фізичні машини із встановленим програмним забезпеченням для розробки, тому я можу працювати над власним обладнанням. Але вони можуть загинути в будь-який час (їм все-таки 25 років).

Отож, моє запитання, якщо я вважаю, що це 2016 рік, які мої варіанти підтримувати це архаїчне оточення більш стабільним способом? Чи можете ви перемістити 3.11 на хмарний хостинг?

Я спробував віртуалізацію, але через спеціалізований характер установок я не міг змусити його працювати з драйверами пристроїв, тому я думаю, що, можливо, потрібно буде зробити повне зображення ОС такою, яка є, а потім запустити це в VM для розробки програмного забезпечення? Чи можлива така версія для гостьових версій ОС, старих як Win3 та NT?

Чи є досвід збереження старих платформ на кшталт цих для розвитку, але більш сучасним, надійним способом, з якого я можу отримати?

Моя мета - позбутися від старих фізичних машин і перейти до віртуалізації.


Яке програмне забезпечення VM ви спробували? VMware? Якщо ні, спробуйте, у мене є принаймні одна апаратура, для якої я отримав thedrivers тільки з цим програмним забезпеченням, але жодного іншого програмного забезпечення VM.
Док Браун

Більше того: який буде найгірший сценарій, якщо апаратне забезпечення загине завтра і у вас поки немає альтернативи? Чи піде ваша компанія в банкрутство?
Док Браун

Я спробував VMware та VirtualBox. З двох VirtualBox не вдалося завантажити Win3, але вдалося завантажити NT4, але без CD, зміни роздільної здатності або підтримки миші. VMWare завантажував Win3, але також бракувало драйверів, тому екран був зіпсований. Зараз я заплутаюся з переходом на емуляцію замість цього, пробуючи PCem. Це працює краще, але тоді я не отримую збільшення швидкості в порівнянні зі старим обладнанням і мені не вистачає VM-матеріалів, таких як спільні диски тощо
Richard Tyregrim

3
Чесно кажучи, коли важко дістати запчастини, саме час подумати про заміну старих матеріалів на новіші рішення. У якийсь момент збереження в живих цих старих речей стає менш економічним, ніж створення принаймні деяких частин заново.
Док Браун

1
Звідки ви взяли драйвери для спеціального обладнання?
JeffO

Відповіді:


4

драйвери для деяких спеціальних апаратних засобів, що належать до рішення, не сумісні з пізнішими Windows

У цьому суть справи. Ви можете перекомпілювати застарілу програму C за допомогою нової програми Visual Studio, виправити всі попередження та помилки компілятора і, як правило, перетворити стару систему на ідентичну, яка працює в Windows 7 (або пізніше, якщо потрібно), але якщо драйвери не працюйте, тоді шанси на роботу навіть віртуалізовані невеликі.

Якщо ви не зможете оновити або замінити драйвери / обладнання, я б не почав це розглядати.


Дякую за відповідь. Я думав, що може бути доступний параметр VM або емуляції, який буде нагадувати фактичний HW, який використовується на Win3-машинах, так що я можу використовувати це для встановлення користувальницьких драйверів пристроїв у цьому середовищі та підключення пристроїв, так що за всіма намірами та цілями, схоже, він працює на застарілому обладнання. Крім того, у перекомпіляції, як я вже сказав, код використовує досить великі кількості низьких рівнів викликів до Win API, а також деякі неприємні тики у внутрішніх структурах. Тож я здогадуюсь, що це може зламатися у настільній моделі Win7, хоча я не намагався передати її прямо.
Річард Тирегрім

2
Вам слід спробувати швидку спробу порту, просто побачити, з якою частиною важко впоратися - на мій досвід, старовинний код, як правило, переносить нові ОС Windows на диво легко, лише з кількома речами, які справді застаріли.
gbjbaanb

4

Я думаю, це більше питання щодо отримання virtualbox або vmware для забезпечення доступу до послідовного порту хостів, ніж про віртуалізацію ОС або навіть гостьову ОС. Я б почав із хост-системи, яка працює з сучасною ОС (виграти 7/8/10 або дистрибутив Linux) з адаптером USB до послідовного порту, який базується на реальній реалізації rs-232, наприклад, плодовій pl2303.

Використовуйте сучасну ОС в якості хоста, встановлюйте віртуальну скриньку та створюйте гостьовий VM та встановлюйте будь-яку ОС сумісну. Ключ - отримання порта RS-232 на гостьовій ОС, переданого гостьовій машині. Використовуйте нульовий модем і термінальну програму, щоб переконатися, що порт RS-232 працює на локальній хостній ОС.

Якщо хостом Linux є певні дозволи, необхідні для віртуалізації місцевого обладнання, і в більшості випадків включення вашого облікового запису для входу в групу vboxusers подбає про це.


2

Це рішення управління. Ваше керівництво повинне бути в змозі визначити, скільки грошей вони заробляють, підтримуючи Windows 3.11. Якщо у них є мізки, вони зрозуміють, що клієнти, які скаржаться, якщо ти їх не підтримуєш безкоштовно, насправді не заробляють тебе. Ви можете підтримати їх, розповівши, яка вартість підтримки старої версії. Не тільки з точки зору реальної роботи, але й з точки зору неможливості використання новіших технологій.

Найновіший час, коли вам слід підтримувати машину, це коли ви не можете придбати замінники на eBay.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.