프로그램이 CPU에서 실행이 되려면 실행에 당장 필요한 부분이 메모리에 올라와 있어야 함

하지만 메모리는 한정적이므로 프로그램이 나누어서 사용

따라서, 운영체제는 어느 프로그램에게 어느정도의 메모리를 할당할 것인가 하는 문제를 처리

 

  • 운영체제의 메모리 할당 방식
    메모리는 몇몇 프로그램에게 집중적으로 메모리를 할당
    -> 메모리 회수 -> 다른 프로그램에게 집중적으로 할당

이유는 프로세스의 빠른 수행을 위해 확보해야하는  메모리의 크기가 존재하기 때문

 

  • 운영체제가 물리적 메모리의 연장공간으로 사용하는 요소
    • swap area
      운영체제는 CPU에서 당장 수행해야 할 부분만을 메모리에 올리고
      나머지는 swap area에 내려놓는 방식으로 swap area를 메모리의 연장 공간으로 사용
    • 가상메모리 (virtual memory)
      운영체제가 프로그램이 자기 자신만의 메모리를 사용하는 것처럼 가정해 프로그램하는 것을 지원
      -> 프로그램은 0번지부터시작하는 자기자신만의 메모리 주소공간을 가정

가상메모리는 프로세스마다 각각 0번지부터 주소공간을 가지고,

이들 공간 중 일부는 물리적 메모리에 적재, 일부는 swap area에 존재

 

프로세스의 주소 공간을 메모리로 적재하는 단위에 따라 

가상메모리 기법은 다음과 같다.

  • 요구 페이징(demand paging) 방식
  • 요구 세그먼테이션(demand segmentation) 방식

 

 

 

+ Recent posts