[OS] Lecture 10. Virtual Memory Management (1_6) - kibitzing/EnGrow GitHub Wiki

유튜브 링크


진구

  • 새로운 레슨 시작
  • 메모리 관리: 어떻게 효율적으로 쓸 것인가?
  • 효율적인 게 뭐지? 페이지폴트 덜 나서 컴퓨팅 성능이 올라가는 것
  • 하드웨어 & 소프트웨어 어프로치 있음
  1. 테이블 매핑 효율화해주는 하드웨어
  2. 최근 조회 및 업뎃된 부분 기억해주는 하드웨어

세영

Virtual memory management:

  • 가상 메모리 시스템 성능 (Cost model) 최적화

Cost model:

  • Page fault frequency, rate
  • Page fault rate를 최소화하는 전략들을 설계해야 함 → Context switch & Kernel 개입 최소화

용어들:

  • Page reference string Ω = r1 r2 … rk … rT
  • Page fault rate F(Ω) = number of page faults during Ω / |Ω|

Hardware components:

  • Address translation device (TLB, Cache memory, …)
  • Bit vectors: 페이지 사용 상황에 대한 정보를 PMT에 기록 (reference bits, dirty bits, …)
    • Reference bit vector: page가 최근에 참조되었는지 표시 (접근 시 1로 설정, 주기적으로 0으로 초기화)
    • Dirty bit vector: page가 메모리에 적재된 후 수정되었는지 표시 (주기적 초기화 없음, 메모리에서 해제될 때 swap device에 write-back 필요)