728x90

가상 주소와 물리 주소

- 물리 주소 : RAM 공간의 메모리 주소 값

- 가상 주소 : HDD 까지 영역을 확장했을 때 추가로 얻게 되는 메모리 주소 값

- 가상 주소가 해결하고 있는 두가지 : 선 할당으로 인한 부담과 느린 속도의 개선

    -> 선 할당으로 인한 부담

        * 프로세스를 생성할 때마다 메모리 전체를 할당하는 것은 메모리 낭비도 심하고 시간도 오래걸림

        * 16비트 시스템이라는 것을 가정하고 프로세스 별로 64KB 메모리를 할당하며 램 용량은 16KB인 상황

 

        * MMU(Memory Management Unit)는 CPU가 요구하는 값을 그 메모리 공간에 데이터가 있는 것처럼 가져다 줌

        * CPU가 MMU에게 1K 번지부터 20 Byte를 할당을 요청하면 RAM에서 사용하지 않는 블록을 하나 할당해줌

        * 필요한 할당 용량이 4KB가 아니더라도 MMU는 블럭 하나를 할당해 줌 => Spatial Locality 특성

        * 할당 후 다시 CPU가 MMU에게 36K 번지부터 20 Byte를 할당을 요청하면 다른 블럭 하나를 할당해줌

        * 메모리 번지를 순차적으로 사용하는 것이 아니라 CPU에 요청이 들어오면 그 번지에 맞게 할당해 줌

        * CPU는 가상 주소로 접근을 하고 MMU는 가상 주소를 물리 주소로 바꿔서 RAM에서 데이터를 가져와서 CPU로 가져다 줌 

 

 

728x90

+ Recent posts