구형 OS 개발 지원


14

C로 작성된 레거시 코드의 많은 부분을 유지 관리하고 있습니다.이 코드는 처음에 Windows 3 for Workgroups에 대해 컴파일되도록 작성되었으며 나중에 NT 버전이 만들어졌습니다. 이 레거시 응용 프로그램은 오늘날에도 여전히 사용되고 있으며 90 년대 초반부터 3.11 및 NT 워크 스테이션에서 실행됩니다. 그것은 작동하고 그것이해야 할 일을하고 여전히 그들이 살아가는 이유는 솔루션에 속하는 일부 사용자 정의 하드웨어의 드라이버가 이후 Windows와 호환되지 않기 때문입니다.

같은 이유로 Win2k에서만 작동하는 다른 응용 프로그램도 있습니다.

그러나 일이 진행됨에 따라 이러한 레거시 환경을 실행하는 것이 점점 어려워지고 있습니다. 지금은 개발 소프트웨어가 설치된 실제 머신을 유지하므로 기본 하드웨어에서 작업 할 수 있습니다. 그러나 이것들은 언제라도 죽을 수 있습니다 (결국 25 살입니다).

그래서 제 질문은 2016 년을 보면이 고풍의 환경을보다 안정적인 방식으로 유지하기위한 옵션은 무엇입니까? 3.11을 클라우드 호스팅으로 옮길 수 있습니까?

가상화를 시도했지만 설정의 특수한 특성으로 인해 장치 드라이버와 함께 작동하도록 할 수 없으므로 OS의 전체 이미지를 그대로 만든 다음 실행해야 할 수도 있습니다. 소프트웨어를 개발하는 VM? Win3 및 NT와 같은 게스트 OS 버전에서도 가능합니까?

개발을 위해 이와 같은 오래된 플랫폼을 유지하면서 더 현대적이고 안전한 방식으로 경험을 쌓은 경험이 있습니까?

저의 목표는 오래된 물리적 머신을 제거하고 가상화로 전환하는 것입니다.


어떤 VM 소프트웨어를 사용해 보셨습니까? VMware? 그렇지 않은 경우 시도해보십시오. 드라이버가 해당 소프트웨어로만 작업하고 다른 VM 소프트웨어는 사용하지 않는 하드웨어가 하나 이상 있습니다.
Doc Brown

또한 : 내일 하드웨어가 죽어 지금까지 다른 대안이 없다면 최악의 시나리오는 무엇입니까? 회사가 파산 할 것인가?
Doc Brown

VMware와 VirtualBox를 사용해 보았습니다. 두 VirtualBox 중 Win3를로드하지 못했지만 NT4를로드했지만 CD, 해상도 변경 또는 마우스 지원은 없습니다. VMWare는 Win3을로드했지만 드라이버가 부족하여 화면이 엉망이되었습니다. 지금은 PCem을 시험 해보고 대신 에뮬레이션으로 전환하는 것이 엉망입니다. 이 작품 더 나은하지만 난 기존의 하드웨어를 통해 더 속도 증가를 얻을 그리고 난 VM 등 공유 디스크와 같은 물건 부족
리처드 Tyregrim

3
솔직히 예비 부품을 얻기가 어려워지면 오래된 솔루션을 새로운 솔루션으로 교체하는 것에 대해 생각할 때입니다. 어떤 시점에서, 오래된 것들을 살아있게 유지하는 것은 적어도 일부를 새로 만드는 것보다 경제적이지 않습니다.
Doc Brown

1
맞춤형 하드웨어 용 드라이버는 어디서 구했습니까?
JeffO

답변:


4

솔루션에 속하는 일부 사용자 지정 하드웨어의 드라이버는 이후 Windows와 호환되지 않습니다

이것이 문제의 핵심입니다. 최신 Visual Studio를 사용하여 레거시 C 프로그램을 다시 컴파일하고 모든 컴파일러 경고 및 오류를 수정하고 일반적으로 오래된 시스템을 Windows 7에서 실행되는 동일한 시스템 (또는 필요한 경우 나중에)으로 변환 할 수 있지만 드라이버가 그렇지 않은 경우 가상화 된 환경에서도 작동 할 가능성은 적습니다.

드라이버 / 하드웨어를 업데이트하거나 교체 할 수 없다면 고려하지 않을 것입니다.


답장을 보내 주셔서 감사합니다. Win3 컴퓨터에서 사용되는 실제 하드웨어와 유사한 VM 또는 에뮬레이션 옵션이있을 수 있다고 생각하여 해당 환경에서 사용자 정의 장치 드라이버를 설치하고 장치를 연결하는 데 사용할 수 있습니다. 모든 의도와 목적은 레거시 하드웨어에서 실행되는 것처럼 보입니다. 또한, 내가 말했듯이 다시 컴파일 할 때 코드는 Win API에 대한 상당히 많은 양의 저수준 호출을 사용하고 내부 구조체의 일부 불쾌한 파킹을 사용합니다. 그래서 Win7 데스크탑 모델에서 깨뜨릴 것이라고 생각합니다.
Richard Tyregrim

2
내 경험상 고대 코드는 실제로 사용되지 않는 몇 가지 항목만으로도 놀랍도록 쉽게 새로운 Windows OS로 포팅하는 경향이 있습니다.
gbjbaanb

4

가상화 OS 또는 게스트 OS보다 호스트 직렬 포트에 대한 액세스를 제공하기 위해 virtualbox 또는 vmware를 얻는 데 더 많은 문제가 있다고 생각합니다. 필자는 pl2303과 같은 실제 rs-232 구현을 기반으로하는 USB- 직렬 포트 어댑터를 사용하여 최신 OS (win 7/8/10 또는 Linux 배포판)를 실행하는 호스트 시스템으로 시작합니다.

최신 OS를 호스트로 사용하고 virtualbox를 설치하고 게스트 VM을 만들고 호환되는 OS를 설치하십시오. 핵심은 게스트 OS의 RS-232 포트를 게스트 VM으로 전달하는 것입니다. 널 모뎀 및 터미널 프로그램을 사용하여 RS-232 포트가 로컬 호스트 OS에서 작동하는지 확인하십시오.

호스트가 Linux 인 경우 로컬 하드웨어를 가상화하는 데 필요한 일부 권한이 있으며 대부분의 경우 로그인 계정을 vboxusers 그룹에 넣으면 처리됩니다.


2

관리 결정입니다. 경영진은 Windows 3.11을 지원하여 돈을 얼마나 벌 수 있는지 결정해야합니다. 그들이 두뇌를 가지고 있다면 무료로 지원하지 않으면 불평하는 고객은 실제로 돈을 벌지 못한다는 것을 알게 될 것입니다. 이전 버전을 지원하는 비용이 얼마인지 알려 주면 지원할 수 있습니다. 실제 작업뿐만 아니라 최신 기술을 사용할 수 없다는 측면에서도 마찬가지입니다.

기계를 지원해야 할 가장 최근의 시간은 eBay에서 교체품을 구입할 수없는시기입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.