Virtual Memory
·
Low Level/OS
Linux 기준 하나의 Process가 메모리에서 차지하는 공간이 4GB이다. 그럼 유저의 RAM 사양이 8GB면 프로세스 2개 로드된 상태에서 끗..? 말도 안되지 근데 어떻게 이런 일이 가능한 것일까? [가상메모리? 물리메모리?] 일단 프로그램을 실행하면, 프로세스 스케쥴러가 가상메모리안에 모든 스택영역을 예약한다. 하지만 물리메모리에는 그렇지 않다. 추가적인 물리메모리가 요구될 때에만 할당한다. 그렇다. 하나의 프로세스가 4GB 만큼 예약되었다고 해서 실제로 CPU가 반드시 4GB만큼 명령어를 읽어나갈 필요는 없다. 실제로 동작할 때 (이 부분은 약간 의문이 남는다) 물리 메모리에 추가 할당된다. [가상메모리 활용 방식] IDT(Interrupt Descriptor Table), System cal..