꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

운영체제 (OS)

가상 메모리

gold_dragon 2021. 4. 22. 21:16

리눅스의 경우 하나의 프로세스가 4GB를 갖습니다. 통상 보통 메모리는 8GB 혹은 16GB입니다. 코드는 메모리에 반드시 있어야 되는데, 실제 각 프로세스마다 충분한 메모리를 할당하기에는 메모리 크기가 한계가 있습니다. 이러한 문제를 해결하기 위해 가상 메모리가 나왔습니다.

 

메모리가 실제 메모리보다 많아 보이게 하는 기술입니다. 주소가 2개가 필요하게 됩니다. virtual address(가상 주소)는 프로세스가 참조하는 주소입니다. 부분적으로 메모리에 올라가는 실제 메모리 주소를 physical address라고 합니다.

MMU(Memory Management Unit)

가상 메모리 주소를 물리 주소로 빠르게 변환시켜주는 하드웨어입니다.

 

CPU는 가상 메모리를 다루고, 실제 해당 주소 접근 시 MMU 하드웨어 장치를 통해 물리 메모리에 접근하고 CPU에 그 주소가 전달됩니다.

'운영체제 (OS)' 카테고리의 다른 글

페이지 교체 정책  (0) 2021.04.23
가상 메모리 - 페이징 시스템  (0) 2021.04.22
스레드 교착 상태(Deadlock)와 기아 상태(Starvation)  (0) 2021.04.22
스레드 동기화 문제  (0) 2021.04.22
스레드  (0) 2021.04.21