paging segmentation policy
Download
Skip this Video
Download Presentation
Paging/Segmentation Policy

Loading in 2 Seconds...

play fullscreen
1 / 17

Paging/Segmentation Policy - PowerPoint PPT Presentation


  • 161 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Paging/Segmentation Policy ' - benjamin-stewart


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
slide2
페이지 반입(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회)

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

slide5
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

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

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

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

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

slide8
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]

}

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

너무 프로그램이 적음

CPU Utilization

다중프로그래밍 정도

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

너무 프로그램이 많음

Thrashing

너무 프로그램이 적음

CPU Utilization

다중프로그래밍 정도

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

slide15

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 --

페이지 프레임 할당 양

ad