그래서 나는 프로그래머이고 완전한 바보가 아니기 때문에 포인터를 가질 수없는 메모리에 액세스 할 수없는 이유를 정확히 알고 있습니다. 그러나 나는 이것을 시도한 적이 없으며 돈 / 시간의 큰 낭비처럼 보이기 때문에 결코 그렇게 생각하지 않습니다.
내 힘에 액세스 할 수있는 도구가 있는지 궁금합니다 (지금 까지이 문제를 해결할 것이라고 생각할 것입니다).
그래서 나는 프로그래머이고 완전한 바보가 아니기 때문에 포인터를 가질 수없는 메모리에 액세스 할 수없는 이유를 정확히 알고 있습니다. 그러나 나는 이것을 시도한 적이 없으며 돈 / 시간의 큰 낭비처럼 보이기 때문에 결코 그렇게 생각하지 않습니다.
내 힘에 액세스 할 수있는 도구가 있는지 궁금합니다 (지금 까지이 문제를 해결할 것이라고 생각할 것입니다).
답변:
당신이 가진 AA 프로세서가있는 경우 실제 주소 확장 (당신은 아마 할 수있는) 올바른 OS ( 윈도우의 예를 들면 아닌 소비자 버전을, 그것은 PAE를 사용하지만 4기가바이트에서 났고 요 ) 후 메모리를 매핑 할 수 있으며, 일반적으로 사용. 그렇지 않으면 메모리에 단순히 주소가 지정되지 않고 OS는 큰 칩을 가지고 있지만 액세스 할 수있는 메모리 양에 추가되지는 않는다고 알려줍니다.
32 비트 OS의 의미에 따라 다릅니다.
물론 최신 운영 체제에서는 마더 보드가 문제없이 사용할 수있는만큼 플러그 인 할 수 있지만 (모두 사용할 수는 없지만) 적어도 Windows에서는 항상 그런 것은 아닙니다.
512MB 이상의 메모리가 설치되어 있으면 Windows 95, 98, SE 및 ME의 버그가 발생합니다.
가장 먼저 이해해야 할 것은 최신 컴퓨터 시스템이 가상 메모리를 사용한다는 것입니다. 32 비트 물리적 주소보다 큰 응용 프로그램에 대해 32 비트 가상 주소를 가질 수 있습니다.
두 번째로 알아야 할 것은 물리적 주소 공간이 다양한 것들, 가장 크게 주요 램 및 메모리 매핑 된 주변에 사용된다는 것입니다. 특히 그래픽 카드에는 종종 큰 메모리 매핑 영역이 있습니다. 결과적으로 4GB의 사용 가능한 물리적 주소 공간 만 있으면 4GB보다 훨씬 적은 사용 가능한 램으로 끝날 수 있습니다. 사용 가능한 약 3.5GB가 일반적이지만 2.5GB 정도로 낮은 시스템을 보았습니다.
4GB 이상의 물리적 주소 공간을 지원하는 PC에서는 PAE라는 메커니즘이 사용됩니다. 이것이 작동하려면 몇 가지가 필요합니다.
CPU는 오랫동안 PAE를 지원했지만 문제가되지 않습니다.
많은 구형 칩셋은 4GB의 물리적 주소 공간으로 제한되었습니다. IIRC 인텔 랩탑 칩셋은 2007 년 "Santa Rosa"세대에서 4GB 이상의 주소 공간을 지원했습니다. 데스크탑 칩셋에 대해서는 확실하지 않지만 거의 같은시기였습니다. 워크 스테이션 / 서버 칩셋은 분명히 훨씬 일찍 지원되었습니다.
Affict BIOS는 칩셋이 지원하는 경우 대부분 지원합니다. 그래도 예외가 있다면 놀라지 않을 것입니다.
OS는 가시적 인 것입니다. Linux와 Windows는 오랜 기간 동안 PAE를 모두 지원합니다. 불행히도 Windows XP 서비스 팩 2 MS는 물리적 주소 공간을 인위적으로 4GB로 제한했습니다. 그들은 버그가 많은 드라이버 때문에이 작업을 수행했다고 주장하며, cynics는 사람들이 서버 에디션을 구매하도록 강요했다고 의심합니다.
Windows XP에서는 커널에 구워지고 기본적으로 되돌릴 수 없습니다. 그러나 이후 버전에서는 커널에 대한 약간의 해킹으로 우회 할 수 있습니다. 자세한 내용은 https://wj32.org/wp/ 를 참조하십시오.