Gom3rye

Operating System 13주차 초반부 정리 본문

Operating System

Operating System 13주차 초반부 정리

Gom3rye 2022. 6. 9. 23:54

13주차 - 1

 

58pg.3 - Global vs. Local Replacement

 

Global replacement

  • 메모리 전체에 각 페이지들을 제한 없이 replace했다.
  • 이제껏 우리가 배운 replacement
  • replace 시 다른 process에 할당된 frame을 빼앗아 올 수 있다.

Local replacement

  • 자신에게 할당된 frame 내에서만 replacement

59pg.1 - Thrashing Diagram

 

process 수가 많을수록 cpu를 많이 써야 할 것 같은데 어느 정도 가면 process 수가 많아져도 cpu 사용량이 떨어짐

 

58pg.4 - Thrashing

 

Thrashing

  • 맨날 page fault 나고 cpu utilization이 낮아지니까 os가 MPD를 높임 

  -> 또 다른 프로세스가 시스템에 추가됨

-> 프로세스 당 할당된 frame 수가 더 적어지고 프로세스는 page의 스왑인 스왑아웃으로 매우 바쁨 

-> 대부분의 시간에 cpu는 놀고 있으므로 low throughput

 

59pg.2 - Working-Set Model

 

Locality of reference (참조하는 것의 지역성)

  • 프로세스는 특정 시간동안 참조하는 지역만 계속 참조한다.
  • 이렇게 집중적으로 참조되는 page들의 집합을 locality set이라고 한다.

Working-set Model

  • 지금 작업하고 있는 set에 focus해보자!
  • locality에 기반해 한꺼번에 메모리에 올라와 있어야 하는 page들의 집합을 Working Set이라고 한다.
  • 따라서 Working Set 모델에서는 process의 working set 전체가 메모리에 올라와 있어야 수행된다. 한꺼번에 올라와 있지 않으면 모두(frame) 반납 후 스왑아웃
  • Thrashing을 방지하는 모델
  • MPD를 결정

59pg.3 - Working-Set Algorithm

 

Working set의 결정

  • working set은 한덩어리로 paging out, 스왑아웃, 스왑인을 시켜주는 게 좋다. (그래야 page fault가 덜 발생하고 원활히 수행되니까)

59pg.4 - Working-Set Algorithm

 

Working-Set Algorithm

  • process들의 working set size 합 >  page frame 수

-> 일부 process를 스왑아웃시켜 지금 동작할 수 있는 working set을 우선적으로 충족시켜 준다. (한 명이라도 돌려야지)

  • working set 다 할당하고도 page frame이 남는다

-> 스왑아웃된 프로세스에게 working set 할당해서 MPD를 키운다.

 

Window size delta

  • 윈도우 사이즈도 성능에 영향을 미친다.
  • 윈도우 사이즈가 너무 작으면 -> locality set을 모두 수용 x (그 안에 못들어온 애들은 계속 page fault 발생)
  •                                        크면 -> 불필요한 locality set이 수용될 수 있음.
  •                                    무한대 -> 전체가 다 working set이 됨 -> meaningless

 => 적절한 윈도우 사이즈 정하는거 매우 중요

 

60pg.1 - PFF(Page-Fault Frequency) Scheme

 

page fault의 빈도를 보고 frame 할당을 조절하자.

  • frame size 가 매우 작으면(메모리 size가 매우 작으면, frame 수가 적으면) page fault 매우 많이 발생
  •                       크면(frame 수가 많으면) page fault 적게 발생
  • page-fault rate의 상한, 하한값을 두자

- frame 개수를 조절해서 여러개의 application을 제한된 메모리 내에 최대한 수용할 수 있도록, page fault가 적정 수준에서 관리될 수 있도록 하는 scheme이 PFF scheme이다.

(range 내에 page fault rate이 들어오도록 유지 관리하자.)

 

60pg.2 - Page Size의 결정

 

Page size를 감소시키면

  • 잘게 자른 거니까 페이지 수 증가 

-> 페이지 내부의 fragmentation도 감소

-> Seek rotation 여러번 하니까 시간 늘어남 -> Disk transfer의 효율성 감소

  • cpu에서 페이지 테이블을 통해 접근하는데 페이지 수가 증가하니까 페이지 테이블 크기도 증가
  • 필요한 정보만 메모리에 올라와 메모리 이용이 효율적

But, 조금만 올라와 있으니까 Locality 활용 측면에서는 Bad

 

Page size를 증가시키면

  • 페이지 수 감소

-> transfer 타임(데이터 전송 시간)이 늘어나니까 Disk transfer의 효율성 감소

 

요즘 트렌드 : 페이지 사이즈를 크게

 

728x90
반응형