포도가게의 개발일지

가상메모리 관리 참조 : 컴퓨터 시스템 && [OS] Lec 10. Virtual Memory Management (2/6) - SW components 본문

CS

가상메모리 관리 참조 : 컴퓨터 시스템 && [OS] Lec 10. Virtual Memory Management (2/6) - SW components

grape.store 2021. 9. 10. 15:57
반응형

https://www.youtube.com/watch?v=1gHHBa8UTjM 

한국기술대학교 김덕수 교수님의 강의를 참조하였습니다.

 

개요

Allocation Strategies

각 프로세스에게 메모리를 얼마 만큼 줄것인가?에 대한 전략

  • Fixec allocation(고정 할당)
    - 프로세스의 실행 동안 고정된 크기의 메모리 할당
  • Variable allocation (가변 할당)
    - 프로세스의 실행 동안 할당하는 메모리의 크기가 유동적

고려사항

  • 프로세스 실행에 필요한 메모리 양을 예측해야함
  • 너무 큰 메모리 할당(too much allocation)
  • 너무 적은 메모리 할당(too small allocation)

Fetch Strategies

특정 page를 메모리에 언제 적재할 것인가?

  • Demand Fetch : 필요할 때 가져온다
    - 프로세스가 참조하는 페이지들만 적재
  • Anticipatory fetch(pre-paging)
    - 참조될 가능이 높은 page 예측
    - 가까운 미래에 참조될 가능성이 높은 page를 미리 적재
    - 예측 성공시 page fault overhead가 없음
    - 예측 실패시, 더 큰 overhead가 발생

Placement Strategies

  • Page/segment를 어디에 적재할 것인가?
  • Paging system
  • Segmentation system에서의 배치기법

Replacement Strategies

  • 새로운 page를 어떤 page와 교체 할 것인가?

Cleaning Strategies

  • 변경 된 page를 언제 write-back 할 것인가?(swap device에 반영)
  • update bit == (duty bit)
  • Demand cleaning
    - 해당 페이지에 메모리에서 내려올 때
  • Anticipatory cleaning(pre-cleaning)
    - 더 이상 변경될 가능성이 없다고 판달 할때, 미리 write-back
    - 실제 os는 대부분 Demand cleaning기법 사용 (예측실패 리스크가 너무 큼)

Load(부하, 떠맡은 일) Control Strategies

  • 시스템의 multi-programming degree(시스템에 들어온 프로세스의 수 많이들어오면 로드가 큼) 조절
    - Allocation strategies와 연계 됨
  • 적정 수준의 multi-programming degree를 유지해야함
    - 저부하 상태 100개할수있는데 10개 일 줄때
    - 고부하 상태 100개 할 수 있는데 1000개 일 줄때
         = 스레싱 현상발생 : 과도한 over fault발생

 

Comments