Linux 실행 파일은 vmware 플레이어에서 어떻게 작동합니까?

Linux 실행 파일은 vmware 플레이어에서 어떻게 작동합니까?

.exe 파일은 Linux에서 직접 실행되지 않으며 Linux 실행 파일은 Windows에서 직접 실행되지 않습니다. 하지만 Windows에 VMware를 설치하면 동일한 하드웨어와 아키텍처에서 두 파일을 모두 실행할 수 있습니다. 실행 파일은 어떻게 작동합니까 ??

답변1

더 자세한 내용을 보려면 VMware Workstation에 대한 Wikipedia를 참조하세요 .1] 및 가상 머신 모니터 정보 [6] .

VMware Workstation은 언제든지 가상 머신의 상태("스냅샷")를 저장할 수 있습니다. 이러한 스냅샷은 나중에 복원하여 가상 머신을 저장된 상태로 효과적으로 되돌릴 수 있습니다.

따라서 각각 자체 실행 파일이 있는 두 개 이상의 운영 체제를 동시에 실행할 수 있습니다.
그것은 마치"슈퍼 오퍼레이터 시스템"각 단일 가상 머신 간에 지속적으로 전환됩니다.
다른 실행 파일은 컴파일된 시스템 상단에서 작동할 수 있습니다., 모든 작업이 올바르게 수행되면 아무런 차이도 느끼지 못할 것입니다.

몇 마디 더

일반적으로 다양한 운영 체제 또는 다양한 아키텍처용으로 컴파일된 실행 파일로 작업할 수 있도록 머신을 설정하는 다양한 방법이 있습니다.

  • Windows, Linux 등 두 개 이상의 운영 체제를 동시에 설치할 수 있습니다.
    부팅 시 다음을 선택합니다.어떤 운영 체제로 작동할지.
    (+)완전한 기능과 속도를 가지게 되지만 시간이 부족합니다.
    (-)이는 드라이브의 각 설치에 필요한 공간을 사용한다는 의미입니다.

  • 당신은 가질 수 있습니다에뮬레이터, 번역하는 프로그램 ("에뮬레이트") 모든 단일 기계 명령을 통해 32비트 기계에서 64비트 코드를 실행할 수 있습니다. 예를 들어 bochs [2] 또는 유명한 mame[] 최신 컴퓨터에서 수천 개의 고전 아케이드 비디오 게임과 하드웨어를 에뮬레이션할 수 있습니다.
    (+)아마도 드라이브 공간이 절약될 것입니다.
    (-)각 지시사항을 번역해야 하기 때문에 천천히 실행됩니다.

  • 당신은호환성 레이어처럼 wine [4] (원래는 "Wine Is Not an Emulator"의 약어),Linux, Mac OSX, BSD와 같은 여러 POSIX 호환 운영 체제에서 Windows 애플리케이션을 실행할 수 있습니다.Windows API 호출을 즉시 POSIX 호출로 변환합니다.
    (+)이전보다 빠르게 (-)항상 호환되는 것은 아닙니다

  • 당신은 설치할 수 있습니다유형 II의 가상 머신 모니터(VMM) [6] . 이것가상화 소프트웨어, 오픈 소스 VirtualBox [5] 를 사용하면 관련 실행 파일이 실행될 수정되지 않은 전체 운영 체제를 설치할 수 있습니다. 소위가상 머신이 호스팅되어 실행됩니다원래 운영 체제에 따라(아래 그림 참조)

    ... 모든 소프트웨어가 설치된 수정되지 않은 운영 체제를 특수한 환경에서 실행할 수 있도록 하는 일종의 가상화입니다.기존 운영 체제 위에."가상 머신"이라고 불리는 이 환경은 특정 하드웨어 구성 요소 및 특정 기능에 대한 액세스를 가로채는 가상화 소프트웨어에 의해 생성됩니다 .5] .

    유형 I,II의 VMM [6] : 유형 I 및 II의 하이퍼바이저

  • 마지막으로 중요한 것은유형 I의 하이퍼바이저 [6] , 또는가상 머신 모니터(VMM),가상 머신을 생성하고 실행하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어의 일부. 이번에는 하드웨어에서 직접 실행되며 운영 체제는 다음과 같습니다.그 프로그램 중 하나. 위 그림을 참조하세요.

    호스트 하드웨어에서 직접 실행되어 하드웨어를 제어하고 게스트 운영 체제를 관리합니다.이러한 이유로 베어 메탈 하이퍼바이저라고도 합니다. 게스트 운영 체제는 호스트에서 프로세스로 실행됩니다.

결론
각 실행 파일은 하드웨어와 통신하는 데 사용되는 하나의 운영 체제용으로 컴파일됩니다. 다른 지침, 라이브러리, 정책... 이러한 이유로 Windows 실행 파일은 일반적으로 Linux 및 Linux에서 실행되지 않습니다.그 반대로하지만 보시다시피 이 문제를 해결하는 방법은 여러 가지가 있습니다.언어 번역, 프로그램이 인식할 수 없도록 다른 종류의 레이어를 추가합니다.

메모:일부 어셈블러 프로그램은 메모리 및 인터럽트에 대한 직접 액세스가 필요했습니다 .7] 특별한 관리가 필요할 수도 있습니다.

관련 정보