Paging segmentation policy
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

Paging/Segmentation Policy PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Paging segmentation policy

제12강 : Paging과 Segmentation Policy

Paging/SegmentationPolicy


Paging segmentation policy

페이지 반입(fetch) 정책 :

  • 언제 (WHEN)블록을 메모리로 가져올 것인가를 결정

  • 요구 페이징, 예상 페이징(anticipatory or prefetch paging) 등.

    페이지 배치(placement) 정책

    - 블록을 메모리 어느 장소로 (WHERE)가져올 것인가를 결정.

    - 페이징 시스템에서는 문제가 되지 않는다.

    - 세그먼트 시스템의 경우는 best-fit, first-fit 등의 기법

    교체(replacement) 정책

    - 새 블럭을 load 해야 하는데 메모리에 빈 공간이 없으면

    - 기존에 올라와 있던 블록들 중 한 (WHICH)블록을 쫓아내고

    - 새 블록을 그곳으로 load해야 한다.

    - 이때 ‘어느 블록을 희생시킬 것인지’를 결정하는 정책


Demand paging

Demand Paging

  • 프로세스가 실제로 요구해야 fetch

  • page fault

  • page fault rate

  • replacement algorithm

R

rwx

page frame

sector addr

mapping table entry


Belady

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회)

향후 가장 오랫동안 사용되지 않을 페이지 교체


Paging segmentation policy

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


Paging segmentation policy

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회)

과거 가장 오랫동안 사용되지 않은 페이지 교체


Paging segmentation policy

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회)

참조된 횟수가 가장 적은 페이지 교체


Paging segmentation policy

NUR 알고리즘

dirty - 디스크에서 온 후 변형된 페이지

dirty page를 교체? 먼저 disk에 write한 후

교체 우선순위

참조 안되고, 변형 안된 것 교체

- - - -

변형된 것은 가장 나중에 고려


Thrashing

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]

}


Paging segmentation policy

다중프로그래밍 정도를 낮출것

너무 프로그램이 적음

CPU Utilization

다중프로그래밍 정도


Paging segmentation policy

다중프로그래밍 정도를 낮출것

너무 프로그램이 많음

Thrashing

너무 프로그램이 적음

CPU Utilization

다중프로그래밍 정도


Locality

Locality

  • 일정 시간에는 일정 부분만을 집중적으로 참조

  • 시간 구역성(Temporal locality)

    • 2시에 참조한 페이지는 2시 1분에도 사용할 가능성

    • loop, subroutine, stack 등

  • 공간 구역성(Spatial locality)

    • 100번지를 참조 중이라면 99번지, 101 번지도

    • array, 순차 코드 실행 등


Working set

Working Set


Working set model

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}


Paging segmentation policy

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]

}


Fault rate

fault rate에 따른 조정

프레임 수 늘리기

Page Fault Rate

Working set Window ++

페이지 프레임 할당 양


Fault rate1

fault rate에 따른 조정

Page Fault Rate

프레임 수 줄이기

Working set Window --

페이지 프레임 할당 양


  • Login