Computer >> 컴퓨터 >  >> 체계 >> Windows 10

64비트 운영 체제에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

컴퓨터가 최신 64비트 아키텍처를 사용하기 시작하자 사용자는 곧 이러한 오래된 16비트 응용 프로그램을 실행하는 것이 작동하지 않는다는 것을 깨달았습니다. 64비트 컴퓨터에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

그 질문에 대한 대답은 누구에게 묻는가에 따라 혼란스러울 수 있습니다. 우선 16비트 앱을 실행하는 것이 실제로 불가능한 것은 아닙니다. 그냥 어렵다. 둘째, 이러한 어려움의 원인은 CPU 아키텍처 에 있습니다. 운영 체제.

아직 혼란스러우신가요? 걱정하지 마세요, 당신은 혼자가 아닙니다. 하지만 이 기사의 끝 부분에 이르면 더 이상 혼란스러워하지 않을 것입니다.

CPU 아키텍처의 역사

마지막으로 읽고 싶은 것은 역사 수업이라는 거 알아요? 걱정하지 마세요. 이것은 짧은 것입니다. 64비트 시스템이 16비트 앱을 기본적으로 실행할 수 없는 이유를 이해하는 것도 중요합니다.

80년대와 90년대를 살았다면 당시 모든 사람들이 최첨단 기술이라고 믿었던 오래된 16비트 공룡을 기억할 것입니다.

64비트 운영 체제에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

당시에는 그랬다. 그 오래된 기계는 Intel 8086을 실행했습니다. 프로세서는 16비트 주소 지정을 사용하여 1Mb의 주소 공간에 액세스할 수 있었습니다. 64Kb의 메모리를 사용하는 초기 컴퓨터에서 이는 엄청난 발전이었고 개인용 컴퓨팅의 새로운 시대가 열렸습니다.

이 모드(리얼 모드라고 함 ), 일부는 RAM용으로 예약되었고 나머지는 BIOS 및 그래픽 카드와 같은 컴퓨터 하드웨어에서 활용되었습니다.

조금 후에 16비트 주소 지정을 사용하여 16Mb 주소를 지정할 수 있는 80286 프로세서로 CPU 아키텍처가 더욱 발전했습니다. 286 아키텍처와 함께 "보호 모드"가 추가되어 더 많은 메모리를 지정할 수 있을 뿐만 아니라 멀티태스킹이 가능합니다. "리얼 모드"에서 구형 16비트 애플리케이션을 실행하는 것이 항상 쉬운 것은 아니지만 가능했습니다.

16비트의 끝, 일종의...

1985년에 Intel은 차세대 프로세서인 Intel 386을 출시했습니다. 이것은 한 번에 32비트를 사용하여 메모리 주소를 지정할 수 있고 4Gb의 주소 지정 가능 메모리에 액세스할 수 있는 Intel 최초의 CPU였습니다. 그 당시 이것은 컴퓨터 사용자들에게 중요한 돌파구처럼 보였습니다. PC 게임은 곧 전성기를 맞이했습니다.

64비트 운영 체제에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

32비트 아키텍처의 출현과 함께 보호 모드의 확장 버전이 등장했습니다. 이는 더 많은 메모리에 액세스할 수 있는 기능을 허용할 뿐만 아니라 소프트웨어가 16비트 또는 32비트 코드인지 여부에 관계없이 시스템에 플래그를 지정할 수 있는 기능 집합을 포함했습니다. 이것은 가상 86 모드로 알려진 기능 덕분에 가능했습니다. , 기본적으로 내장된 가상화된 8086 시스템이었습니다.

보시다시피, CPU 아키텍처의 한 진화에서 다음 진화로 하드웨어(CPU 프로그래밍)와 소프트웨어(운영 체제 및 응용 프로그램) 모두 원하는 매우 오래된 소프트웨어를 갖고 있던 모든 사용자에 대해 하위 호환성을 유지했습니다. 운영. 개인 컴퓨터 사용자에게는 유용했지만 많은 기업과 소규모 기업에서는 레거시 시스템에 매우 중요했습니다.

64비트 아키텍처가 모든 것을 망쳐 놓았습니다.

주소 지정 가능 메모리의 4GB 제한은 수년 동안 32비트 시스템의 버팀목으로 남아 있었습니다. 그러나 64비트 프로세서의 발명으로 또 다른 돌파구가 생겼습니다. 이러한 시스템에는 새로운 모드(긴 모드라고 함)가 포함되었습니다. ) 최대 1600만 테라바이트의 메모리 주소를 지정할 수 있습니다. 이것이 컴퓨터 응용 프로그램의 제한 요소가 되기까지는 아마도 오랜 시간이 걸릴 것입니다.

그러나 이 엄청난 발전과 함께 중요한 절충안이 발생했습니다. 사용자가 오랫동안 지원되는 "리얼 모드" 또는 "가상 8086 모드"가 필요한 16비트 응용 프로그램을 실행하려고 하면 "Program.exe는 유효한 Win32 응용 프로그램이 아닙니다."라는 오류 메시지를 발견했습니다.

64비트 운영 체제에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

답답했지만 세상의 끝은 아니었습니다. 사용자는 에뮬레이터를 사용하거나 레거시 16비트 애플리케이션을 지원할 수 있는 32비트 아키텍처 및 운영 체제를 실행하는 가상 머신을 설치할 수 있습니다.

따라서 64비트 시스템에서 16비트 MS-DOS 응용 프로그램을 실행하는 것이 "불가능"하지만 사용자가 해결 방법을 사용하여 수행하는 것이 불가능한 것은 아닙니다. 그런데 왜 이런 일이 일어났습니까?

NTVDM을 제거한 64비트 아키텍처

수년 동안 32비트 프로세서의 모든 세대에서 시스템이 구형 16비트 DOS 응용 프로그램을 처리하기 위해 운영 체제에 많은 노력을 기울였습니다. 이는 NTVDM 또는 NT 가상 DOS 머신으로 알려진 것을 사용하여 수행되었습니다.

이 32비트 응용 프로그램은 Windows 운영 체제에서 실행되었으며 가상 8086을 사용하여 16비트 주소 지정을 처리할 수 있는 486 아키텍처를 시뮬레이션했습니다. 불행히도 "장기 모드" 주소 지정은 이를 안전하게 수용할 수 없습니다. 대신 DOS 응용 프로그램 실행을 지원하기 위해 전체 8086 프로세서를 에뮬레이트해야 했습니다.

64비트 운영 체제에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

Microsoft는 첫 번째 64비트 운영 체제의 즉각적인 릴리스를 지원하기 위해 이러한 노력을 포기하기로 분명히 결정했습니다. Microsoft는 지원 페이지에서 "16비트 MS-DOS 및 Microsoft Windows 3.x 유틸리티가 시작되지 않습니다."라고 명시하고 있습니다.

죄송합니다. 단순히 지원되지 않습니다.

어쨌든 이를 달성할 수 있는 가상화 제품이 시중에 넘쳐나기 때문에 Microsoft는 완전히 새로운 방식으로 혁신하는 것이 최선이라고 생각하지 않았습니다.

64비트 시스템에서 16비트 애플리케이션을 실행하는 방법

16비트 DOS 응용 프로그램을 실행하는 것이 64비트 Windows 시스템에서 기본적으로 지원되지 않는다고 해서 이것이 불가능한 것은 아닙니다. 설정하려면 몇 가지 추가 도구를 설치하기만 하면 됩니다.

고전적인 DOS 게임을 즐기거나 컴퓨팅의 좋은 옛날의 다른 복고풍 응용 프로그램을 사용하는 경우 옵션이 있습니다. 다음은 새 Windows 컴퓨터에서 실행할 수 있는 네 가지 방법입니다.

1. DOSBox로 레트로 게임 플레이

PC에서 오래된 DOS 앱을 실행하는 가장 쉬운 방법 중 하나는 에뮬레이터를 사용하는 것입니다. 그 중 가장 인기 있는 것 중 하나가 DOSBox입니다.

Christian은 Windows 컴퓨터에서 오래된 레트로 게임을 실행하기 위해 DOSBox를 설치하고 구성하는 방법을 자세히 설명했습니다.

64비트 운영 체제에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

이것에 대한 좋은 점은 대부분의 게임이 너무 오래되어서 포기한 것으로 간주되므로 합법적으로 다운로드하여 무료로 플레이할 수 있다는 것입니다.

2. VirtualBox 내에서 앱 실행

Windows XP 및 Windows 7과 같은 운영 체제는 기본적으로 16비트 응용 프로그램을 실행할 수 있으므로 해당 운영 체제 중 하나가 설치된 가상 머신을 구축하여 64비트 시스템에서 동일한 응용 프로그램을 실행할 수 있습니다.

이를 위한 가장 잘 알려져 있고 설정하기 쉬운 응용 프로그램 중 하나는 VirtualBox입니다. VirtualBox를 설정하고 사용하는 방법에 대한 완전한 가이드가 있으므로 지금 바로 이 접근 방식을 사용할 수 있습니다.

64비트 운영 체제에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

설치할 올바른 운영 체제를 선택하기만 하면 됩니다. Windows 7 또는 이전 버전을 사용하면 가상 시스템에 이전 DOS 앱을 즉시 다운로드하여 설치할 수 있습니다.

3. Linux 사용

대부분의 Linux 배포판이 16비트 응용 프로그램을 지원한다는 점에서 Linux에 대해 어떻게 생각하는지 말씀해 주십시오. PAE 커널이 있는 배포판은 4GB의 32비트 시스템으로 제한되지 않으므로 적절한 Linux 배포판을 시스템에서 이중 부팅으로 실행하는 것도 또 다른 옵션입니다.

64비트 운영 체제에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

이를 위한 두 가지 옵션:이중 부팅 솔루션 또는 가상 머신. 또는 Windows를 완전히 버리고 Linux를 사용할 수 있습니다. 당신을 위해 무엇이든 작동합니다.

4. 에뮬레이터 사용

DOSBox는 오래된 DOS 앱을 실행하기 위해 사용할 수 있는 유일한 에뮬레이터가 아닙니다. 잘 작동하는 훌륭한 에뮬레이터가 많이 있습니다. 특히 게이머라면 더욱 그렇습니다.

Christian은 모든 PC에서 Commodore Amiga, Raspberry Pi, Android 및 클래식 SNES를 에뮬레이트하는 방법을 다뤘습니다.

64비트 운영 체제에서 16비트 앱을 실행할 수 없는 이유는 무엇입니까?

이것은 빙산의 일각에 불과합니다. 온라인에서 검색하면 상상할 수 있는 거의 모든 복고풍 앱을 실행할 수 있는 다양한 에뮬레이터의 전체 라이브러리를 찾을 수 있습니다. Microsoft는 예전부터 오래된 16비트 응용 프로그램을 포기했을 수도 있지만 여전히 옵션이 있습니다.

16비트를 포기하지 마세요

불가능하다고 생각할 이유가 없습니다. 64비트 시스템에서 16비트 응용 프로그램을 실행합니다. 기본적으로 불가능할 수도 있지만 보시다시피 작업을 수행할 수 있는 솔루션이 많이 있습니다.