14.04 현재 Ubuntu에서 x32 ABI 구현의 현재 상태는 무엇입니까?


11

14.04 릴리스 노트는 다음과 같은 문장을 포함 :

X32 ABI 지원 (32 비트 포인터가있는 64 비트 모드)도 도입되었습니다.

나는 이것이 조금 더 설명 할 가치가 있다고 생각한다. 검색 엔진을 사용하여 "x32 ABI"에 대한 자세한 정보를 찾으면 Wikipedia 기사 를 찾을 수 있지만 대부분 Phoronix와 Slashdot는 유용하지 않은 것으로 보입니다.

다음에 대한 통찰력있는 답변을보고 싶습니다.

  • 14.04에서 현재 x32 ABI의 구현 방식은 무엇입니까?
    • 14.04 64 비트에서 기본적으로 활성화되어 있습니까? 아니면 x32 ABI를 설정하는 데 필요한 추가 단계가 있습니까?
    • x32 ABI를 사용할 수있는 구성 요소 또는 소프트웨어는 무엇입니까?
  • x32 ABI를 실행하는 시스템 / 설치에 실제 이점이 있습니까?
    • 기본 32 비트 및 64 비트 설치와 비교하여 메모리 소비는 어떻습니까?

이상적으로 x32 ABI는 두 가지 이점을 모두 갖추었을 것입니다 . RAM이 많지 않은 64 비트 지원 하드웨어를 사용하는 사용자의 경우 x86-64의 속도 향상과 메모리 소비 감소 가 대부분입니다 .


나는 이것에 대해 궁금하다. x32 메모리 사용에 대해 말할 수있는 한 가지는 32 비트 주소 지정 (x86과 동일한 4GB 제한)을 사용한다는 것입니다. 64 비트 프로세서는 64 비트 메모리 주소 지정을 사용하므로 메모리 참조는 32 비트 모드로 메모리 참조를 저장하는 데 필요한 32 비트의 두 배인 64 비트 메모리에 저장해야합니다. 따라서 많은 메모리 참조 (포인터)가 사용되는 경우 메모리에서 64 비트가 암시 적으로 더 나빠집니다.
척 R

답변:


5

64 비트 설치에서는 메모리 사용에 큰 차이가 있습니다 (특히 크롬, 파이어 폭스, mysql 및 java 앱과 같은 앱의 경우).

이것은 64 비트 OS의 부작용으로 잘 알려져 있으며 64 비트는 다른 이점도 있습니다.

여기 x32 ABI에이 문제가 있습니다.이 문제를 정확히 제한하기위한 커널 기능입니다.

x32 ABI 란 : 이 PDF
에 따르면 64 비트 일반 OS (40 % 향상)와 비교할 때 뛰어난 메모리 이점을 제공합니다.

이제 x32-ABI에 필요한 사항을 이해 한 경우 :

  • CONFIG_X86_X32 = y로 컴파일 된 Linux 커널 3.4
  • GCC 4.7
  • Binutils 2.22
  • 글리벡 2.16
  • gcc -mx32를 사용하여 응용 프로그램에 필요한 모든 시스템 라이브러리 재 컴파일

그것을 시도하는 방법
새로운 기본적으로 필요한 플래그가 커널 그래서 필요 에만 하여 올바른 방법으로 컴파일 된 패키지 (확인 규칙 여기 젠투)
우분투 I 아니에요 확인이 모든 저장소 / PPA 이것에 대한, 어쨌든 데비안과 아치에 해결책이 있습니다.

데비안

아치


데비안 위키에서 말한 것처럼 grub에 커널 옵션을 추가해야한다고 가정합니다.
jarno

1
우분투 최종 사용자 관점에서 x32-ABI 우분투 시스템을 설치하는 것은 너무 어려운 것 같습니다 :(
jarno
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.