HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
쉽게 배우는 운영체제
쉽게 배우는 운영체제
/
7️⃣
챕터 07. 물리 메모리 관리
7️⃣

챕터 07. 물리 메모리 관리

 

Memory Management System, MMS

  • 메모리 관리를 담당함
  • MMU 라는 하드웨어에 의해 수행됨
 

Memory Management Unit, MMU의 작업

  • fetch
    • 프로세스와 데이터를 메모리로 가져오는 작업
    • 요청을 예상하여 데이터를 미리 가져오기도 함 (pre-fetch)
  • placement
    • fetch 한 프로세스와 데이터를 메모리에 어떤 부분에 올려 놓을지 결정하는 작업
    • placement 이전 메모리를 어떤 크기로 자를 것인지가 매우 중요
      • variable-size partioning (segementation)
      • fixed-size partitioning (paging)
  • replacement
    • 새로운 프로세스를 가져와야 하는데 메모리가 꽉 찾다면 메모리에 있는 프로세스를 하드디스크로 옮겨 놓아야 새로운 프로세스를 메모리에 가져올 수 있다. (swap out, suspend)
    • Replacement algorithm 에 따라 재배치 수행
      • FIFO, LFU, LRU, …
 

경계 레지스터

notion image
프로그램 실행 중 커널 영역을 침범하지 못하도록 boundary register 사용
 

절대주소와 상대주소

notion image
 

메모리 오버레이

  • 프로그램을 모듈로 나누어 필요할 때마다 모듈을 메모리에 가져와 사용한다.
  • 한정된 메모리에서 메모리보다 큰 프로그램의 실행 가능
 

스왑

notion image
 
 

MMU 배치(placement) 정책

  • variable-size partitioning
    • segmentation
    • contiguous memory allocation
    • external fragementation
      • → 메모리 배치 first fit, best fit, worst fit 등
        → defragmentation 필요
  • fixed-size partitioning
    • paging
    • noncontiguous memory allocation
    • internal fragmentation
    • 페이지의 크기를 잘 결정해야함
    •