[운영체제] 가상 메모리란 무엇인가요?

orca·2023년 12월 4일

CS

목록 보기
12/46

가상 메모리 시스템은 프로세스 각각에 가상 주소 공간을 부여하여, 프로세스가 물리 메모리의 크기와 상관 없이 메모리를 이용할 수 있도록 합니다.

가상 메모리

  • 프로세스 각각에 가상 주소 공간을 부여하는 것
  • 프로세스는 물리 메모리의 크기와 상관없이 메모리를 이용할 수 있음
  • 핵심 기술
    • 메모리 오버레이 : 필요한 모듈만 메모리에 올라옴
    • 스왑
  • MMU가 사용하는 메모리 = 물리 메모리 + 스왑 영역

CPU와 가상 주소 공간

  • n비트 아키텍쳐에서 CPU가 표현할 수 있는 주소의 범위 : [0, 2^n-1]
    ➡️ 하나의 프로세스가 갖는 주소의 개수 : 2^n개
  • 하나의 프로세스의 가상 주소 공간의 크기 : 2^nB

16비트 아키텍쳐이고 한 페이지의 크기가 2^10B라고 가정하면?

  • CPU가 표현할 수 있는 주소의 범위 : [0, 2^16-1]
    ➡️ 하나의 프로세스가 갖는 주소의 개수 : 2^16개
  • 하나의 프로세스의 가상 주소 공간의 크기 : 2^16B
  • 한 페이지로 묶이는 주소의 개수 : 2^10개
    ➡️ 주소를 표현하는 비트 수 : 10개
  • 하나의 프로세스 당 페이지의 개수 : 2^6개
    ➡️ 페이지를 표현하는 비트 수 : 6개

0개의 댓글