프로그램이 일부 언어에서 ASM -> 기계 코드 (직접 실행 가능)로 컴파일됩니다. 사람들이 이것이 플랫폼에 의존한다고 말하면, 형성되는 바이너리가 x86, x86-64와 같은 명령어 세트 아키텍처를 사용하는 CPU에서만 (정확하게) 실행된다는 것을 의미합니다. 그것은 ISA의 차이로 인해 (잘못)/다른 프로세스에서 (전혀) 실행되지 않을 수도 있습니다. 권리?프로그램은 어떻게 실행됩니까? 운영 체제는 어디에서 작동합니까?
이제는 바이너리 개념이 혼란 스럽습니다. 모든 것은 "기계 언어 코드"& "CPU"에 관한 것입니다. OS는 어디에서 작동합니까? 메모리에로드 될 때 컴파일 된 바이너리가 CPU에 대한 직접 명령어를 가지고 있음을 의미합니다. & CPU는 한 번에 하나의 명령을 실행합니다. 프로세스 관리를 제외하고 어디에서나 운영 체제 역할을 볼 수 없었습니다 link text. 운영 체제와 상관없이 동일한 ISA의 CPU에서 실행되어야합니다. 권리?
아직까지는 그렇지 않습니다. Windows 컴퓨터에서 x86에 코드를 빌드하면 어떻게됩니까? Mac x86 시스템이나 Linux x86 시스템에서는 실행되지 않습니다.
여기에 뭔가가 빠졌습니다. 제 혼란을 치우십시오.
Re "* 그러므로 Linux는 *를로드하지 않습니다."그러나 Linux 소프트웨어가 그 기능을 실행할 수 없도록 막는 것은 무엇입니까? – Pacerier
실제로 Mac에서 PE 러너 구현을 중단하면 모든 Windows 애플리케이션을 Mac에서 즉시 실행할 수 있습니다. – Pacerier
@ 수락어 : 대부분 돈. 즉, Microsoft는 ELF 하위 시스템 (Linux 용 Windows 서브 시스템)을 구현했습니다. – MSalters