CS Interview

Virtual Memory, 가상메모리란?

게임이 더 좋아 2021. 6. 28. 17:49
반응형
728x170

 

가상메모리란

메모리를 관리하는 방법으로 실제 메모리 주소가 아닌 논리적 주소를 이용해서 관리한다.

이로써 실제 주기억장치보다 큰 프로그램도 적재할 수 있다고 사용자에게 Illusion을 준다.

다시 말하면

프로그램의 일부만 실제로 적재함으로써 즉, 실제로 프로그램 수행에 필요한 부분만 메모리에 올려놓음으로써

주기억장치의 용량보다 큰 프로그램파일이라도 사용자가 메모리에 올려놓을 수 있게 하는 기법이다.

 

 


 

왜쓰냐??

 

실제 주기억장치의 크기보다 더 큰 공간을 사용할 수 있다.

가상 주소 공간을 통해 논리적으로는 연속성을 가지게 되고(물리적 x)

Translation을 통해 실제 물리적 메모리에 매핑되기 때문에 물리적주소에 대해 알 필요가 없어진다.

-> 메모리에 직접 올리게 되면 주기억장치의 한계로 파편화가 발생할 수 밖에 없다.

하지만 가상메모리를 쓴다면 파편화가 발생되더라도 상관이 연속성을 가지고 있는 것처럼 느껴진다.

 

 

 


 

무슨 원리냐??

 

이 또한 지역성, 캐시의 원리와 같다.

항상 모든 프로그램에 대한 데이터가 필요한 것이 아니기 때문에

Secondary Stroage를 캐시(backing storage)로 사용하여 관리하는 것이다.

프로그램의 일부분을 필요한만큼 계속 RAM에만 올려 놓려놓도록 하고

나머지는 backing storage에 넣어놓는다.

-> 필요할 때 가져다 쓴다.

 

대표적으로 Paging, 페이징 그리고 Segmentation, 세그멘테이션이 있다.

 

[컴퓨터(Computer Science)/운영체제(Operation System)] - Virtual Memory, 가상메모리 [운영체제]

[컴퓨터(Computer Science)/컴퓨터구조(Computer Arichitecture)] - 컴퓨터 구조에서 본 가상메모리, Virtual memory - 기본 개념 [컴퓨터구조]

 

 

728x90
반응형
그리드형