OS 별 메모리 관리를 이해하려고합니다. 지금까지 이해할 수있는 것은 32 비트 시스템에서 각 프로세스는 가상 주소 공간에 4GB [2GB 사용자 + 2GB 커널]의 공간을 할당 받았다는 것입니다. 저를 혼란스럽게하는 것은 모든 프로세스에 고유 한 4GB 공간입니다. 3 개의 프로세스 p1, p2, p3을 실행하면 하드 디스크에 12GB의 공간이 필요합니까?OS 별 메모리 관리
또한 32 비트 시스템에서 2GB 램을 사용하는 경우 4GB를 필요로하는 프로세스를 어떻게 처리 할 수 있습니까? [페이징 파일을 통해]? OS에 의해 제약이다
많은 것을 고맙게 생각합니다. 세 번째 대답과 관련하여 프로세스가 4GB의 공간을 필요로하지 않는다면 여분의 공간을 다른 프로세스에서 자유롭게 사용할 수 있습니까? –
가설 시나리오에서 우리는 12GB 공간과 4GB RAM을 가진 HDD를 가지고 있으며 12 개의 프로세스가 실행 중이며 각 사용자 데이터 + 커널, 나머지 3GB는 무료입니다. 그들을 실행할 수있는 충분한 기억이 있습니까? –
@TanmayBhattacharya 예. 모든 프로세스에는 항상 4 GiB 가상 메모리가 있습니다. 그러나 4 GiB가 실제로 HDD 나 RAM과 같은 물리적 메모리에 매핑되는지 여부는 커널에 의해 결정됩니다. 예, 페이지가 매핑되지 않은 실제 메모리는 다른 프로세스에서 사용할 수 있습니다. – Downvoter