32 비트 운영 체제의 2GB 제한은 각 프로세스가 2GB의 메모리에만 액세스 할 수 있거나 모든 프로세스 가 총 2GB의 실제 메모리 만 사용할 수 있다는 것을 의미 합니까?
따라서 커널에 예약 된 2GB는 모든 프로세스가 함께 사용할 수있는 총량을 제한합니까?
32 비트 운영 체제의 2GB 제한은 각 프로세스가 2GB의 메모리에만 액세스 할 수 있거나 모든 프로세스 가 총 2GB의 실제 메모리 만 사용할 수 있다는 것을 의미 합니까?
따라서 커널에 예약 된 2GB는 모든 프로세스가 함께 사용할 수있는 총량을 제한합니까?
답변:
32 비트 Windows OS의 메모리 제한에 대한 많은 오해가 있습니다.
우선, RAM이라고 할 때 여기에는 모든 종류의 RAM이 포함됩니다. 따라서 일반뿐만 아니라 비디오 RAM도 있습니다.
32 비트 OS의 프로세스 당 최대 사용 가능한 RAM 양은 2GB입니다. 64 비트 OS가있는 경우 32 비트 프로세스는 최대 4GB를 할당 할 수 있습니다.
또한 전체 OS는 결합 된 모든 프로세스에 대해 4GB 만 지정할 수있는 반면 64 비트 OS는 8TB를 할당 할 수 있습니다.
또한이 제한이 페이징 풀에 추가된다는 점이 흥미 롭습니다. 이는 32 비트 OS가 총 2GB를 초과 할 수 없음을 의미하며 이는 가상 메모리를 포함한 모든 응용 프로그램에 6GB를 의미합니다. 물론 다른 2GB는 페이징 파일에 저장되므로 하드 드라이브 속도로 제한되므로 RAM과는 아무런 관련이 없습니다.
자세한 내용 은 Windows 릴리스의 메모리 제한을 참조하십시오 .
참고 : 이것은 응용 프로그램 전용입니다. 32 비트 Windows OS는 총 4GB까지 할당 할 수 있지만이 중 2GB는 시스템 전용으로 할당되며 응용 프로그램은 2GB 만 남겨 둡니다. 경우에 따라 (특히 최신 OS) 응용 프로그램의 경우 3GB와 커널의 경우 1GB로 나뉩니다.
나는 단지 질문에 대한 맥락이기 때문에 Windows에 대해서만 논의했습니다. 다른 OS의 한계에 익숙하지 않습니다.