본문 바로가기

학부_대학원/운영체제

가상 메모리 to 물리 메모리[1]

SMALL

가상 메모리와 물리 메모리


우리가 컴퓨터를 구입 할 때, 4G, 8G 메모리의 컴퓨터를 구입 하게 된다.


그리고 수업시간에 배우는 내용에서 프로세스 하나 당  32bit의 경우에는 4G 메모리가 할당 된다고 한다.


여기서 궁금증이 생겼었다. 


여기서 1학년 때 고민하면서 2,3,학년에 배웠는데 무엇인가 계략적인 개론만 배운채 넘어 갔다.


하지만 이제 정리를 할 필요가 생겼기 때문에 정리를 해본다. 


가상 주소, 선형 주소, 물리 주소, 세그먼트, 페이징, 케시 등과 관련된 내용을 한번에 정리한다.



먼저 처음에 설명했던 가상메모리와 물리 메모리에 관해서 설명 해본다.


물리 메모리는 우리가 RAM이라고 말하는 그런 장소에 올려져 있는 것을 물리 메모리라고 한다.


실제로 프로그램이 동작하기 위해서는 물리 메모리에 로딩이 되어야 한다.



그리고 가상 메모리는  위와 같은 물리 메모리가 존재하는 RAM을 관리하는 방법에 의해서 만들어진 주소이다.


가상 주소에서 물리 메모리로 변형 시키는 장치는 MMU라고 Memory Management Unit이라고 불리는 장치가 해준다. 


그러면 가상 메모리들은 어디에 존재 하는가? 


우리가 컴퓨터에서 가장 많은 용량을 가지고 있는 저장장치 hdd를 생각 해보자.


이러한 곳에 가상 메모리를 할당 해놓으면 되지 않을까? 


그리고 실제 필요한 내용의 가상 메모리만 실제 물리 메모리에 MMU를 이용해서 맵핑 시키는 것이다.


이를 좀 더 자세히 설명 해보자.


프로세스가 4G라는 메모리 주소를 가지고 있지만, 실제 CPU에서 처리 하는 부분은 일부분이고 프로그램에서 동작 할 때 필요한


부분도 일부부일 것이다. 이러한 동작에 실제 필요한 일부분만 물리 메모리에 올리는 방식인 것이다.


밑에 그림은 이러한 내용을 잘 설명한 내용이다.




이러한 이론을 가지고 가상 메모리와 물리 메모리 개념이 나왔다.







LIST

'학부_대학원 > 운영체제' 카테고리의 다른 글

가상 메모리 to 물리 메모리[2]  (1) 2016.07.24
내부 단편화vs외부 단편화  (0) 2016.07.24
cache coherence[케시 일관성]  (0) 2016.07.24
CISC vs RISC  (2) 2016.07.23
운영체제 - 인터럽트  (0) 2016.07.22