Linux는 어떻게 32 비트 및 64 비트입니까? 아니면 Glibc에서 처리 된 것입니까?

StackOverflow https://stackoverflow.com/questions/1504256

문제

Linux는 어떻게 32 비트 및 64 비트입니까? 아니면 Glibc에서 처리 된 것입니까?

Centos 5.3을 실행하고 "64 비트"버전입니다. 64 비트와 32 비트에 물건을 만들지 만. 내가 생각한 바에 따르면 Windows에는 32 비트 에뮬레이터가 있습니다. Linux가 같은 일을합니까? 사용자 공간 또는 커널 공간에 있습니까?

LIBC가 처리한다면, 32 비트 앱과 연결되지만 커널에 64 비트를 말하는 에뮬레이터와 비슷합니까?

도움이 되었습니까?

해결책

CPU는 64 및 32 비트 명령어를 모두 실행할 수 있으며 커널은 모드간에 전환 할 수 있습니다. 유일한 제한 사항은 32 비트 프로그램을 64 비트 라이브러리와 연결할 수 없으므로 32 및 64 비트 버전의 LIBC 등이 설치되어 있어야한다는 것입니다.

다른 팁

CPU가 64 비트로 32 비트로 전환되는 것을 막는 것은 없습니다. 그것은 단지 스위치입니다.

64 비트 커널을 가질 수 있고 32 비트 앱을 실행할 수 있습니다. 32 비트 커널을 가질 수도 있고 64 비트 앱 (Mac OS X)을 실행할 수도 있습니다.

그러나 32 비트 또는 또는 64 비트에도 사용하는 리바리가 필요하므로 64 비트 또는 32 비트 리바리의 Linux에서 Lib64 또는 Lib32라는 파일이 표시 될 수 있습니다.

X86_64 프로세서는 X86 기술을 통해 설계되었으므로 PowerPC 또는 SPARC 환경에서 X86 프로그램을 실행하는 데 필요한 것과 같은 하드웨어 에뮬레이션없이 32 비트 프로그램을 지원할 수 있습니다. Linux에서는 32 비트 소프트웨어를 실행하기 위해 필요한 소프트웨어 라이브러리를 설치하기 만하면됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top