ecsimsw

Virtual Memory / Memory Address / Swap / Page 본문

Virtual Memory / Memory Address / Swap / Page

JinHwan Kim 2019. 2. 19. 22:35
  • Memory Address
    - 메모리 공간은 메모리 주소를 식별자로 하여 의미를 갖는다. 이 주소로 메모리 공간이 식별되어 프로그램이나 하드웨어 장치가 os를 통해 데이터를 일정 공간에 저장하고, 읽어 올 수 있는 것이다.
  • Physical Address
    - Physical Address는 RAM에 실제로 존재하는 메모리 공간 (Main memory)를 식별하기 위한 주소이다.
  • Virtual Address
    - Virtual Adrress는 이와 반대로 실존하지 않는 메모리 공간 (Virtual memory)를 식별하기 위한 주소이다.
      가상 메모리는 없는 공간을 마치 있는 것처럼 사용하기 위한 공간이다. 주기억 장치와 동시에 보조 기억 장치에 페이징 파일을 작성함으로써 이 둘을 동시에 하나의 메모리로 생각할 수 있도록 한다.
      가상 메모리는 호환과 속도, 두가지 측면을 위해 사용된다. 하드디스크의 공간을 부족한 메모리 공간으로 사용함으로써 프로그래머가 사용자의 RAM 환경을 신경쓰지 않아도 프로그래밍을 할 수 있다는 호환성의 측면과 동시에, 실제로의 처리는 RAM에서 하는 것으로 처리가 느린 하드디스크를 사용하는 것보다 더 빠르다는 속도의 측면에서 유리하다.
      아래 그림과 같이 실제 프로그램은 가상 메모리에 적재되어있다. 한 페이지씩 나눠진 데이터의 일부만 RAM에 Mapping되어 있다가 CPU가 데이터를 요구할 땐, 물리 주소에 맵핑된 가상 주소의 데이터를 넘겨주면 되는 것이다.
    - 32비트 윈도우에서는 기본적으로 응용 프로그램에 4GB의 가상 주소 공간이 주어지고, 이 중 2GB(0x00000000 ~ 0x7FFFFFFF)는 응용 프로그램을 위한 공간으로, 나머지 2GB(0x80000000 ~ 0xFFFFFFFF)는 운영 체제에서 사용하기 위한 공간으로 사용된다.

  • MMU
    - Memory Management Unit의 약자로 CPU가 메모리에 접근하는 것을 관리하는 하드웨어 장치이다. 가상 메모리 주소와 물리 메모리 주소의 변환을 담당한다.
      가상 메모리 주소와 물리 메모리 주소의 변환을 위해 변환 참조 버퍼(Translation Lookaside Buffer, TLB)라는 고속의 보조기억장치를 참조한다.
  • Swap
    - OS가 물리 메모리와 가상 메모리의 프로세스를 교환하는 것을 Swap이라고 하고, 이를 위해 하드디스크에 저장되어 있던 파일을 '페이지 파일' 또는 '스왑 파일'이라고 한다.
  • Page
    - 가상 메모리를 사용하는 메모리 공간 단위 블록이다.


'Computer Science > Operating system' 카테고리의 다른 글

Operating System Concepts - Abraham Silberschatz  (0) 2019.09.23
Segmentation  (0) 2019.02.20
Memory - RAM / ROM  (0) 2019.02.18
Inter Process Communication  (0) 2019.02.17
Exclusive control / Semaphore / Mutex / Dead Lock  (0) 2019.02.16
Comments