CS지식/운영체제

TIL 정리_105(Virtual Memory 3)

ran4 2022. 6. 8. 10:39

http://www.kocw.net/home/m/search/kemView.do?kemId=1046323

운영체제 강의를 듣고 정리한 내용입니다.

 

Global replacement

replace시 다른 프로세스에 할당된 프레임을 빼앗아올 수 있다

프로세스별 할당량을 조절하는 또 다른 방법이다

 

Local replacement

자신에게 할당된 프레임 내에서만 replacement된다.

 

Thrashing

프로세스의 원활한 수행에 필요한 최소한의 페이지 프레임 수를 할당받지 못한 경우 발생한다


Virtual Memory

Working-Set Model

Locality of reference

  • 프로세스는 특정 시간 동안 일정 장소만을 집중적으로 참조한다
  • 집중적으로 참조되는 해당 페이지들의 집합을 locality set이라 한다

 

Working-set Model

  • Locality에 기반하여 프로세스가 일정 시간동안 원활하게 수행되기 위해 한꺼번에 메모리에 올라와 있어야 하는 페이지들의 집합을 Working Set이라 정의한다
  • Working Set 모델에서는 프로세스의 working set 전체가 메모리에 올라와 있어야 수행되고
  • 그렇지 않을 경우 모든 프레임을 반납한 후 swap out된다 (==중지된다)
  • Thrashing을 방지한다
  • Multiprogramming degree를 결정한다

 

Working-set Algorithm

- Working set window를 통해 알아낸다

- window size가 델타인 경우

시각 ti에서의 working set WS(ti)

 - Time interval[ti, -델타, ti] 사이에 참조된 서로 다른 페이지들의 집합

Working set에 속한 페이지는 메모리 유지, 속하지 않은 것은 버린다

-> 참조된 후 델타시간동안 해당 페이지를 메모리에 유지한 후 버린다

Working Set의 크기는 그때마다 바뀐다 

 

 

PFF(Page-Fault Frequency) Scheme

Page-fault rate의 상한값과 하한값을 둔다

  • page fault rate가 상한값을 넘으면 프레임을 더 할당한다
  • Page fault rate가 하한값 이하이면 할당 프레임 수를 줄인다

빈 프레임이 없으면 일부 프로세스를 swap out한다

 

Page Size의 결정

page size를 감소시키는 경우

  • 페이지 수가 증가한다
  • 페이지 테이블 크기가 증가한다
  • Internal fragmentation이 감소한다 (페이지 안에서 사용되지 않는 부분)

Disk transfer의 효율성이 감소한다

-> 페이지 크기가 클 수록 더 좋아진다 

-> 페이지 Seek하는 시간이 오래 걸리기 때문이다 

 

필요한 정보만 메모리에 올라와 메모리 이용이 효율적이다

-> Locality의 활용 측면에서는 좋지 않다

 

위의 이유로 페이지 크기를 크게 설정하여 사용하는 것이 트렌드가 되었다 

 

'CS지식 > 운영체제' 카테고리의 다른 글

TIL 정리_107(File Systems Implementation 1)  (0) 2022.06.12
TIL 정리_106(File systems)  (0) 2022.06.10
TIL 정리_104(Virtual Memory 2)  (0) 2022.06.06
TIL 정리_103(Virtual Memory 1)  (0) 2022.06.03
TIL 정리_102(Memory Management)  (0) 2022.06.01