물리적 주소 확장-가상 주소는 어떻게 작동합니까?

Tamilselvan

저는 Debian Linux를 실행하고 있습니다. uname -m라고 i68632 비트 아키텍처 기계를 의미하는 pae플래그 사용 가능. getconf LONG_BIT입니다 32. 설치된 RAM 용량은 6GB입니다.

/proc/cpuinfo항목이 address sizes : 40 bits physical, 48 bits virtual있습니다. 그러나 내 프로그램은 32 비트 주소 만 생성합니다. ( Address of x is 0xbfbaf5cc)

로 표시된 48 비트 가상 주소 cat /proc/cpuinfo와 C 프로그램에서 생성 한 가상 주소 의 관계를 이해하지 못합니다 . 전체 CPU 정보는 여기 에서 찾을 수 있습니다.

누군가 설명 할 수 있습니까?

Gilles 'SO- 그만 사악함'

PAE 는 가상 주소에 대해 아무것도 변경하지 않습니다. 이름에서 알 수 있듯이 실제 주소에 관한 것입니다. 애플리케이션 프로그래머로서 PAE는 당신을 위해 아무것도 변경하지 않습니다. 프로그램에는 여전히 32 비트 주소 공간이 있으며,이 중 커널은 약 1 비트를 사용합니다 (Linux는 컴파일 옵션에 따라 사용자 공간에 1GB, 2GB 또는 3GB를 부여합니다). 더 큰 주소 공간을 원하면 64 비트 시스템이 필요합니다.

PAE의 요점은 커널이 4GB 이상의 물리적 RAM을 처리 할 수 ​​있도록하는 것입니다. 이 모든 RAM을 사용하려면 각각 최대 2GB (또는 1GB 또는 3GB)까지 매핑 할 수있는 여러 프로세스가 필요합니다.

PAE 모드에서 MMU 테이블은 3 레벨 테이블을 사용하여 32 비트 가상 주소를 40 비트 물리적 주소에 매핑합니다 (MMU 테이블이 32 비트 가상 주소를 2 개를 사용하여 32 비트 물리적 주소에 매핑하는 비 PAE 모드와는 달리). 레벨 테이블).

"48 비트 가상"표시는 CPU의 기능을 나타냅니다. 이것은 CPU가 64 비트라는 것을 의미한다고 생각합니다 (즉, amd64 일명 x86-64 를 지원하는 것 ). 48 비트 가상 주소를 사용하려면 64 비트 운영 체제를 실행해야합니다. 여기서 48 비트는 응용 프로그램 프로그래머에게 약간 혼란 스럽습니다. CPU는 주소의 48 비트 만 변환하지만 주소는 64 비트로 인코딩됩니다. 포인터는 6이 아니라 8 바이트를 차지합니다. 상위 16 비트는 다음에서 사용하는 추가 태그를 포함 할 수 있습니다. 운영 체제 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

물리적 주소 확장-가상 주소는 어떻게 작동합니까?

분류에서Dev

Linux는 물리적 주소를 (여러 개의) 가상 주소로 어떻게 변환합니까?

분류에서Dev

페이지 테이블의 가상 주소는 실제 물리적 주소로 어떻게 변환됩니까?

분류에서Dev

주석 처리기가 항상 모든 주석 요소에 적용되는지 어떻게 확인합니까?

분류에서Dev

CPU는 어떤 물리적 주소가 어떤 가상 주소에 매핑되는지 어떻게 알 수 있습니까?

분류에서Dev

가상 주소 영역의 포인터로 물리적 주소 영역의 주소를 얻으려면 어떻게해야합니까?

분류에서Dev

두 개의 동일한 가상 주소가 어떻게 다른 물리적 주소를 가리킬 수 있습니까?

분류에서Dev

물리적 주소를 네트워크로 사용하는 방법과 DMA가 어떻게 연결됩니까?

분류에서Dev

가상 주소, 선형 주소, 물리적 주소 및 논리적 주소를 사용하는 구성 요소는 무엇입니까?

분류에서Dev

CS : IP에 해당하는 물리적 주소가 8086에서 20 비트 이상이면 어떻게됩니까?

분류에서Dev

nginx는 어떻게 동적 URL 주소를 반환합니까?

분류에서Dev

주석 처리에 적합한 장소는 어디입니까?

분류에서Dev

네트워크 장치가 작동 또는 작동 중지 될 때마다 자동으로 Mac 주소를 변경하려면 어떻게합니까?

분류에서Dev

IP 주소가 할당되지 않은 상태에서 AP는 어떻게 작동합니까?

분류에서Dev

링커는 최종 가상 메모리 주소를 어떻게 생성합니까?

분류에서Dev

ARP는 다른 장치로의 IP 주소 이동을 어떻게 처리합니까?

분류에서Dev

가상 주소 공간과 커널 주소 공간을 처리 하시겠습니까? 어떻게?

분류에서Dev

컨텍스트 전환 : 새 프로세스에 이전 프로세스와 동일한 물리적 주소에 매핑 된 가상 메모리가있는 경우 메모리 보호는 어떻게 구현됩니까?

분류에서Dev

가상 주소 공간이 물리적 주소 공간과 같을 때 MMU가 필요합니까?

분류에서Dev

하나의 VMM에서 실행되는 서로 다른 가상 컴퓨터가 게스트 물리적 주소 공간을 공유합니까?

분류에서Dev

탄력적 IP 주소는 고정 IP 주소와 어떻게 다릅니 까?

분류에서Dev

고정 RAM 메모리 영역을 블록 장치로 예약 (주어진 시작 물리적 주소 사용)

분류에서Dev

IP 주소의 이상한 점없는 십진수 표기법 ... 어떻게 작동합니까?

분류에서Dev

IP 주소로 장치의 위치를 정확하게 파악할 수 있습니까? 그렇다면 가장 적합한 API는 무엇입니까?

분류에서Dev

고정 또는 동적 IP 주소가 있는지 어떻게 알 수 있습니까?

분류에서Dev

단일 IP 주소 뒤에 여러 물리적 웹 서버를 호스팅하려면 어떻게합니까?

분류에서Dev

addr2line은 커널 공간 디버깅을 위해 가상 주소와 어떻게 작동합니까?

분류에서Dev

포인터 / 주소가 동적으로 할당되었는지 어떻게 알 수 있습니까?

분류에서Dev

x86 아키텍처에서 물리적 주소보다 가상 주소 공간에 대한 비트 수가 적은 이유는 무엇입니까?

Related 관련 기사

  1. 1

    물리적 주소 확장-가상 주소는 어떻게 작동합니까?

  2. 2

    Linux는 물리적 주소를 (여러 개의) 가상 주소로 어떻게 변환합니까?

  3. 3

    페이지 테이블의 가상 주소는 실제 물리적 주소로 어떻게 변환됩니까?

  4. 4

    주석 처리기가 항상 모든 주석 요소에 적용되는지 어떻게 확인합니까?

  5. 5

    CPU는 어떤 물리적 주소가 어떤 가상 주소에 매핑되는지 어떻게 알 수 있습니까?

  6. 6

    가상 주소 영역의 포인터로 물리적 주소 영역의 주소를 얻으려면 어떻게해야합니까?

  7. 7

    두 개의 동일한 가상 주소가 어떻게 다른 물리적 주소를 가리킬 수 있습니까?

  8. 8

    물리적 주소를 네트워크로 사용하는 방법과 DMA가 어떻게 연결됩니까?

  9. 9

    가상 주소, 선형 주소, 물리적 주소 및 논리적 주소를 사용하는 구성 요소는 무엇입니까?

  10. 10

    CS : IP에 해당하는 물리적 주소가 8086에서 20 비트 이상이면 어떻게됩니까?

  11. 11

    nginx는 어떻게 동적 URL 주소를 반환합니까?

  12. 12

    주석 처리에 적합한 장소는 어디입니까?

  13. 13

    네트워크 장치가 작동 또는 작동 중지 될 때마다 자동으로 Mac 주소를 변경하려면 어떻게합니까?

  14. 14

    IP 주소가 할당되지 않은 상태에서 AP는 어떻게 작동합니까?

  15. 15

    링커는 최종 가상 메모리 주소를 어떻게 생성합니까?

  16. 16

    ARP는 다른 장치로의 IP 주소 이동을 어떻게 처리합니까?

  17. 17

    가상 주소 공간과 커널 주소 공간을 처리 하시겠습니까? 어떻게?

  18. 18

    컨텍스트 전환 : 새 프로세스에 이전 프로세스와 동일한 물리적 주소에 매핑 된 가상 메모리가있는 경우 메모리 보호는 어떻게 구현됩니까?

  19. 19

    가상 주소 공간이 물리적 주소 공간과 같을 때 MMU가 필요합니까?

  20. 20

    하나의 VMM에서 실행되는 서로 다른 가상 컴퓨터가 게스트 물리적 주소 공간을 공유합니까?

  21. 21

    탄력적 IP 주소는 고정 IP 주소와 어떻게 다릅니 까?

  22. 22

    고정 RAM 메모리 영역을 블록 장치로 예약 (주어진 시작 물리적 주소 사용)

  23. 23

    IP 주소의 이상한 점없는 십진수 표기법 ... 어떻게 작동합니까?

  24. 24

    IP 주소로 장치의 위치를 정확하게 파악할 수 있습니까? 그렇다면 가장 적합한 API는 무엇입니까?

  25. 25

    고정 또는 동적 IP 주소가 있는지 어떻게 알 수 있습니까?

  26. 26

    단일 IP 주소 뒤에 여러 물리적 웹 서버를 호스팅하려면 어떻게합니까?

  27. 27

    addr2line은 커널 공간 디버깅을 위해 가상 주소와 어떻게 작동합니까?

  28. 28

    포인터 / 주소가 동적으로 할당되었는지 어떻게 알 수 있습니까?

  29. 29

    x86 아키텍처에서 물리적 주소보다 가상 주소 공간에 대한 비트 수가 적은 이유는 무엇입니까?

뜨겁다태그

보관