프로그램 및 운영 체제 측면에서 32비트 vs 64비트 vs ARM

프로그램 및 운영 체제 측면에서 32비트 vs 64비트 vs ARM

따라서 Raspbian(기본적으로 LXDE가 포함된 ARM Debian 파생 제품)을 실행할 때 aptitude를 사용하여 일반 패키지를 설치할 수 있습니다. 하지만 예를 들어 .deb 파일을 다운로드하려면 32비트 또는 64비트를 선택하고 파일을 다운로드한 다음 Raspbian에서 실행해야 합니다(작동하지 않음).

공식 저장소에서 패키지를 설치하면 ARM 시스템에서 작동하는 이유는 무엇입니까? 왜 호환되지 않나요?

나는 또한 하드웨어와 소프트웨어 비트의 차이점에 대해 약간 혼란스러워합니다. ARM은 하드웨어죠?

답변1

TL,DR: "32비트" 및 "64비트" 옵션만 사용할 수 있는 경우 두 옵션 모두 Raspberry Pi(또는 기타 ARM 기반 컴퓨터)에 적합하지 않습니다. ARM용 패키지와 적절한 시작 패키지(예: armhf.

"32비트"와 "64비트"는 프로세서 아키텍처의 특성 중 하나일 뿐입니다. 많은 프로세서 제품군에는 32비트 및 64비트 변형(x86, ARM, Sparc, PPC, MIPS 등)이 있습니다.더반다양한 프로세서 기능과 다양한 소프트웨어 기능만을 위한 23개의 공식 바이너리 릴리스가 있습니다.

당신은ABI귀하의 시스템을 위해. ABI(Application Binary Interface)에는 프로세서 유형(보다 정확하게는 명령어 세트)뿐만 아니라 프로그램이 프로세서와 상호 작용하는 방식과 관련된 기타 특성도 포함됩니다. 특히, 프로그램이 라이브러리의 코드를 호출할 때 ABI는 라이브러리 함수에 대한 인수가 전달되는 방식(레지스터 또는 스택에서)을 결정합니다.

PC 세계에는 두 가지 명령 세트가 있습니다(약간의 차이는 중요하지 않습니다).

  • IA-32, 변형x86, 종종 i386(데비안에서 사용되는 이름) 또는 i686(예: IA-32, x86 아키텍처 제품군의 여러 세대)이라고 합니다.
  • x86-64, x64 또는 amd64(Debian에서 사용하는 이름)라고도 합니다(완전히 다른 IA-64와 혼동하지 마십시오).

Intel과 AMD는 모두 x86 및 x86-64 명령어 세트를 구현하는 프로세서를 생산합니다. 최신 PC 프로세서는 x86-64 및 x86 명령어 세트를 모두 지원하지만 이전 PC 프로세서는 x86만 지원합니다. x86 명령어 세트는 32비트 레지스터를 사용하고, x86-64 명령어 세트는 64비트 레지스터를 사용하고, 모든 Linux 설치는 각 명령어 세트에 대해 ABI를 사용하기 때문에 종종 "32비트" 또는 "64-비트"로 설명됩니다. 비트" ". PC 환경에서 "32비트"는 "x86"을 의미하고 "64비트"는 "x86-64"를 의미합니다.

ARM 프로세서는 완전히 다른 명령어 세트를 가지고 있습니다. ARM 시스템에는 x86 또는 x86-64 패키지를 설치할 수 없습니다. 올바른 명령어 세트, 더 일반적으로는 올바른 ABI를 얻으려면 ARM용 패키지가 필요합니다. 현재 64비트 ARM 프로세서에 대한 주요 64비트 배포판은 없습니다.ARMv864비트 명령어 세트를 도입한 아키텍처 개정은 여전히 ​​매우 새롭고 흔하지 않습니다. 그러나 다양한 프로세서 기능을 가정하고 다양한 버전의 매개변수 전달 규칙을 사용하는 여러 32비트 ABI가 있습니다. Linux에서 사용되는 주요 ARM ABI는 다음과 같습니다.

armhf를 지원하는 모든 장치는 armel도 지원하지만 지정된 시스템 설치는 일관되어야 합니다. Raspbian은 armhf를 사용합니다(사실 armhf가 아직 새로운 것이었을 때 armhf에 대한 Debian armel의 포트로 시작되었습니다).

1 적어도 주류 배포판의 경우. 일부 임베디드 배포판에는 다양한 버전의 표준 C 라이브러리(glibc, Dietlibc, uclibc 등)에 대해 컴파일된 패키지가 포함된 여러 x86 바이너리 버전이 있습니다.

답변2

따라서 Raspbian(기본적으로 LXDE가 포함된 ARM Debian 파생 제품)을 실행할 때 aptitude를 사용하여 일반 패키지를 설치할 수 있습니다.

Raspbian을 실행 중인 경우 aptitude는 Raspbian 저장소에서 패키지를 가져옵니다. 설명된 대로라즈베리 파이 FAQ, 이 패키지는 Raspberry Pi에서 사용되는 ARMv6용으로 컴파일되었습니다. 공식 데비안 패키지를 사용하고 있지 않습니다. FAQ에서 다시, 데비안팔 수소 남편ARMv7-A CPU 이상 및 Debian 지원아메르덜 강력한 ARM CPU를 지원합니다.

32비트 또는 64비트를 선택하고 다운로드해야 합니다.

"x86과 x86_64 중에서 선택"을 의미한다면 다음과 같습니다.x86아키텍처(또는 지금은 i686) 또는x86_64. 그 사람들은 거기 없을 거야 건축학. Raspbian용으로 컴파일된 .deb를 찾아 다운로드해야 합니다(또는동일한 옵션) 또는 직접 컴파일하세요.

나는 또한 하드웨어와 소프트웨어 비트의 차이점에 대해 약간 혼란스러워합니다.

질문을 잘 이해했는지는 모르겠지만 x86_64를 지원하는 프로세서는 32비트 x86도 실행할 수 있으므로 최신 CPU에 32비트 버전의 배포판을 설치하고 32비트 소프트웨어만 사용할 수 있습니다.

관련 정보