메모리

숭이·2021년 5월 19일
0

OS

목록 보기
11/11

MMU

  • CPU 코어 안에 탑재되어 가상주소를 실제 메모리주소로 변환해주는 장치
  • CPU는 레지스터가 지시하는대로 메모리에 접근하여 다음에 수행할 명령어를 가져오는데 필요 데이터가 없으면 해당데이터를 미리 가져온다.
    이때 필요한 것이 MMU!
  • 메모리 보호나 캐시 관리 등 CPU가 메모리에 접근하는 것을 총 관리해주는 하드웨어
  • 가상주소 : 프로세스마다 독립적으로 가지는 주소공간으로 CPU가 보는 주소
    물리주소 : 메모리가 실제로 올라가는 주소
    => MMU는 CPU가 필요로하는 가상주소를 받아 물리주소로 매칭시켜주는 역할을 한다

Swapping

  • 필요한 페이지를 메모리에 올리기 위해 페이지를 교체하는 것

  • Swapping 과정

    1. 프로세스 실행 도중 페이지 폴트 발생
    2. 페이지 폴트를 발생시킨 페이지 위치를 디스크에서 찾음
    3. 메모리에 적재하기 위해 빈 프레임을 찾음
    4. 없는 경우 프로세스 하나를 swap out하고 이 공간을 빈 프레임으로 활용
    5. 빈 프레임에 필요 페이지를 올림

  • 중요한점!!

    1. 메모리에 올라와있는 한 프로세스를 종료시켜 빈 프레임을 얻는 방법은 사용자에게 페이징 시스템을 들킬 가능성이 높아 사용금지!!
      => swap out을 할 때 디스크(backing store)에 잠시 가져다 놓는다.

    2. Swapping 과정에서 상당한 오버헤드가 발생하기 때문에 최소로 Page Fault가 발생하도록 다양한 알고리즘을 사용해야 한다.

0개의 댓글