1 / 17

Paging/Segmentation Policy

제 12 강 : Paging 과 Segmentation Policy. Paging/Segmentation Policy. 페이지 반입 (fetch) 정책 : 언제 (WHEN) 블록을 메모리로 가져올 것인가를 결정 요구 페이징 , 예상 페이징 (anticipatory or prefetch paging) 등 . 페이지 배치 (placement) 정책 - 블록을 메모리 어느 장소로 (WHERE) 가져올 것인가를 결정 . - 페이징 시스템에서는 문제가 되지 않는다 .

Télécharger la présentation

Paging/Segmentation Policy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 제12강 : Paging과 Segmentation Policy Paging/SegmentationPolicy

  2. 페이지 반입(fetch) 정책 : • 언제 (WHEN)블록을 메모리로 가져올 것인가를 결정 • 요구 페이징, 예상 페이징(anticipatory or prefetch paging) 등. 페이지 배치(placement) 정책 - 블록을 메모리 어느 장소로 (WHERE)가져올 것인가를 결정. - 페이징 시스템에서는 문제가 되지 않는다. - 세그먼트 시스템의 경우는 best-fit, first-fit 등의 기법 교체(replacement) 정책 - 새 블럭을 load 해야 하는데 메모리에 빈 공간이 없으면 - 기존에 올라와 있던 블록들 중 한 (WHICH)블록을 쫓아내고 - 새 블록을 그곳으로 load해야 한다. - 이때 ‘어느 블록을 희생시킬 것인지’를 결정하는 정책

  3. Demand Paging • 프로세스가 실제로 요구해야 fetch • page fault • page fault rate • replacement algorithm R rwx page frame sector addr mapping table entry

  4. Belady 최적 알고리즘 Reference string • 2 3 4 1 2 5 1 2 3 4 5 1 1 1 1 1 1 1 1 1 3 3 3 2 2 2 2 2 2 2 2 2 4 4 34 4 4 5 5 5 5 5 5 M(t=12) M(t=1) 밑줄 –페이지 부재 (총 7회) 향후 가장 오랫동안 사용되지 않을 페이지 교체

  5. FIFO 알고리즘 Reference string • 2 3 4 1 2 5 1 2 3 4 5 1 1 1 4 4 4 5 5 5 5 5 5 2 2 2 1 1 1 1 1 3 3 3 3 3 3 2 2 2 2 2 4 4 M(t=12) M(t=1) 밑줄 –페이지 부재 (총 9회) FIFO Anomaly more memory  more fault

  6. LRU 알고리즘 Reference string • 2 3 4 1 2 5 1 2 3 4 5 1 1 1 4 4 4 5 5 5 3 3 3 2 2 2 1 1 1 1 1 1 4 4 3 3 3 2 2 2 2 2 2 5 M(t=12) M(t=1) 밑줄 –페이지 부재 (총 10회) 과거 가장 오랫동안 사용되지 않은 페이지 교체

  7. LFU 알고리즘 Reference string • 2 3 4 1 2 5 1 2 3 4 5 1 1 1 4 4 4 5 5 5 345 2 2 2 1 1 1 1 1 1 1 1 3 3 3 2 2 2 2 2 2 2 M(t=12) M(t=1) 밑줄 –페이지 부재 (총 10회) 참조된 횟수가 가장 적은 페이지 교체

  8. NUR 알고리즘 dirty - 디스크에서 온 후 변형된 페이지 dirty page를 교체? 먼저 disk에 write한 후 교체 우선순위 참조 안되고, 변형 안된 것 교체 - - - - 변형된 것은 가장 나중에 고려

  9. Thrashing • 너무 빈번히 페이지 부재가 일어나는 현상 • disk utilization ~ 98% • CPU utilization ~ 2% • 원인 • “CPU is idle?” • CPU에 일감을 – new 프로그램 추가 load • multiprogramming degree 더 높아짐 • 프로세스당 공간 더 비좁아짐 (< loop 크기보다) • 더 높아지는 fault rate, • 더 낮아지는 CPU Utilization for loop (108 회) { A[k]=B[k]+C[k] }

  10. 다중프로그래밍 정도를 낮출것 너무 프로그램이 적음 CPU Utilization 다중프로그래밍 정도

  11. 다중프로그래밍 정도를 낮출것 너무 프로그램이 많음 Thrashing 너무 프로그램이 적음 CPU Utilization 다중프로그래밍 정도

  12. Locality • 일정 시간에는 일정 부분만을 집중적으로 참조 • 시간 구역성(Temporal locality) • 2시에 참조한 페이지는 2시 1분에도 사용할 가능성 • loop, subroutine, stack 등 • 공간 구역성(Spatial locality) • 100번지를 참조 중이라면 99번지, 101 번지도 • array, 순차 코드 실행 등

  13. Working Set

  14. Working-Set Model 123123123248024802480248033666666336666666336666633666  t- • WS(ti ) = { pages referenced in [ ti, , ti -  ] } • 만일 페이지 P 가 ti 에 WS(ti )에 속하였으면 keep in memory 안 속하였으면 out of memory • 이 원칙에 따라 모든 것 결정 • fetch – window에 페이지가 들어올 떄 • replace – working set에서 페이지가 탈락할 때 • allocation size - working set size (시시로 달라짐) • WS(ti ) 가 모두 보장되어야만 run, 아니면 suspend. • “시간” 개념 • Process (virtual) time –이 프로세스가 run 할 동안만 운행 • Real time (wall-clock time) t WS(t) = {3, 6}

  15. p q p q p q p q p q p q p q a b c d a b c d a b c d a b c d a b c d for loop (108 회) { a[k]=b[k]+c[k]+d[k] } for loop (108 회) { p[k] = q[k] }

  16. fault rate에 따른 조정 프레임 수 늘리기 Page Fault Rate Working set Window ++ 페이지 프레임 할당 양

  17. fault rate에 따른 조정 Page Fault Rate 프레임 수 줄이기 Working set Window -- 페이지 프레임 할당 양

More Related