Page 관리

Groot·2022년 11월 21일
0

TIL

목록 보기
103/148
post-thumbnail

TIL

🌱 난 오늘 무엇을 공부했을까?

📌 Page 관리

📍 Demand page

  • 실제로 필요할 때 page를 메모리에 올린다.
  • valid, invalid 비트사용
    • invalid의 의미
      • 사용되지 않는 주소 영역인 경우
      • 페이지가 물리적 메모리에 없는 경우
    • 처음에는 모든 page entry가 invalid로 초기화 된다.
    • address translation 시에 invalid 비트로 set되어 있으면 "page fault" (요청한 페이지가 메모리에 없는 경우)

📍 Page Frame의 Allocation

  • Process에 얼마만큼의 page frame을 할당할 것인가
  • Allocation의 필요성
    • 메모리 참조 명령어 수행시 명령어, 데이터 등 여러 페이지 동시 참조
    • Loop를 구성하는 page들은 한번에 할당 되는 것이 유리함
  • Allocation Scheme
    • Equal Allocation : 모든 프로세스에 동일한 갯수
    • Proportional Allocation : 프로세스 크기에 비례하여 할당
    • Priority Allocation : 프로세스의 Priority에 따라 다르게 할당

🔗 Thrashing


-> 프로세스의 원할한 수행에 필요한 최소한의 page frame 수를 할당 받지 못한 경우 발생
-> Pafe fault rate가 높아짐
-> CPU utilization이 낮아짐
-> OS는 MPD를 높여야 한다고 판단
-> 프로세스 당 할당된 frame의 수가 더욱 감소
-> 프로세스는 page의 swap in / swap out으로 매우 바쁨

📍 Working-Set Model

  • Locality of reference(집약성)
    • 프로세스는 특정 시간 동안 일정 메모리 주소를 집중적으로 참조하는 성질이 있음.
    • 집중적으로 참조되는 해당 page들의 집합을 locality set(working set)이라고 한다.
  • Working-Set Model
    • Locality에 기반하여 일정 시간 동안 원활하게 수행되기 위해 한꺼번에 메모리에 올라와 있어야 하는 page들의 집합
    • 프로세스의 working set 전체가 메모리에 올라와 있어야 수행되고 그렇지 않을 경우 모든 frame을 반납한 후 swap out -> 프로세스는 suspend 상태로 변경
    • Thrashing 방지
    • Multiprogramming degree를 결정한다.

🔗 Working-Set Algorithm

  • Working-Set window를 통해 알아냄
    - 과거에 참조된 서로 다른 페이지들의 집합
    - Woking set에 속한 page는 메모리에 유지, 속하지 않은 것은 버림(즉 참조된 후 일정 시간 동안 해당 page를 메모리에 유지한 후 버림)

📍 PFF (Page-Fault Frequency) Scheme

  • page-fault rate의 상한값과 하한값을 둔다
    • page-fault rate이 상한값을 넘으면 frame을 더 할당한다
    • page-fault rate이 하한값 이하면 할당 frame 수 를 줄인다
  • 빈 frame이 없으면 일부 프로세스를 swap out

📍 Page Size의 결정

  • Page Size를 감소시키면
    • 페이지 수 증가
    • 페이지 테이블 크기 증가
    • internal fragmentation 감소
    • Disk transfer의 효율성 감소
      • Seek/rotation vs transfer
    • 필요한 정보만 메모리에 올라와 메모리 이용이 효율적
      • Locality의 활용 측면에서는 좋지 않음

https://core.ewha.ac.kr/publicview/C0101020140513133424380501?vmode=f

profile
I Am Groot

0개의 댓글