더 나은 세상

virtual address(가상주소)와 physical address(실제주소) 본문

컴퓨터 프로그래밍

virtual address(가상주소)와 physical address(실제주소)

leemark 2018. 9. 29. 21:59

오늘 포스팅할 내용은 virtual address와 physical address입니다. 번역하면 가상주소와 실제주소가 됩니다.


우리가 현재 쓰고 있는 컴퓨터는 64비트 컴퓨터가 대부분입니다. 64비트라는 것은 0과1이 들어갈 자리가 64개라는데 이 숫자가 늘어날 수록 저장 공간도 넓어지고 다양한 명령어를 쓸 수 있다는 장점이 있습니다.

그러면 64비트가 가질 수 있는 용량은 얼마나 될까요? 2의 64승이고 2의 10승은 1000이라고 하면 16*1000^6이 되겠죠.

16GB가 16*1000^3*2*3이인것을 감안하면 엄청나게 큰 숫자인것을 알 수 있습니다.

하지만 우리가 쓰는 주기억장치인 RAM은 커봐야 16GB이고 제 컴퓨터는 8GB밖에 되지 않습니다.

그렇다면 저 많은 용량은 어디에 저장되고 어떻게 저장되어야 할까요? 이 해결책을 제시해주는게 바로 가상주소와 실제주소입니다.


우리가 프로그래밍할 때 보는 주소는 가상주소라고 보시면 됩니다. 이는 CPU가 부여한 주소인데 실제 우리의 메모리에 저장되는 주소와는 차이가 있습니다. RAM의 크기가 가상주소의 크기에 비해 작음에도 동작을 잘 하는 이유는 RAM이 HDD의 cache역할을 하기 때문입니다. 당장 필요하지 않은 정보들은 하드디스크에 저장이 되어있고 현재 필요한 정보만을 RAM에 저장하여 쓰는 것이죠.