본문 바로가기
CS(Computer Science)/운영체제

가상 메모리 : 캐쉬, Thrashing

by whdgus928 2023. 5. 4.

캐쉬 기법

한정된 빠른 공간(캐시)에 요청된 데이터를 저장해 두었다가 후속 요청시 캐쉬로부터 직접 서비스하는 방식

 

캐쉬 운영의 시간 제약

Paging system인 경우 

- 교체 알고리즘에서 삭제할 항목을 결정하는 일에 지나치게 많은 시간이 걸리는 경우 실제 시스템에 사용할 수 없다

- page fault인 경우에만 os가 관여함

- O(1)인LRU의 list 조작조차 불가능

 

 

Clock 알고리즘

- LRU 근사 알고리즘

- NRU, NUR

- reference bit을 사용해서 교체 대상 페이지 선정

-  reference bit이 0인 것을 찾을 때까지 포인터를 하나씩 앞으로 이동

- 포인터 이동 도중 1은 모두 0으로 바꿈

- 0 찾으면 페이지 교체

- 한바퀴 되돌아와서도 0이면 그때에는 교체당함

- 자주 사용되는 페이지라면 second chance가 올 때 1

- reference: 최근에 참조됐다

 

Page frame의 할당

- equal: 모든 프로세스에 똑같은 개수 할당

- proportional: 프로세스 크기에 비례하여 할당

- priority: 프로세스의 우선순위에 따라 다르게 할당

 

Thrashing

- 프로세스의 원할한 수행에 필요한 최소한의 page frame 수를 할ㄷ당 받지 못한 경우 발생

- page fault rate이 매우 높아짐

- CPU 이용률이 낮아짐

- OS는 MPD를 높여야 한다고 판단

- 어떤 프로세스가 cpu를 잡더라도 page fault 발생함

 

 

메모리에 프로그램이 많아지면 cpu이용률이 많아진다 그러다가 메모리에 너무 많은 프로그램이 올라가 쓰레싱이 발생하면 급격하게 줄어든다. 쓰레싱을 방지하기 위해서는 멀티프로그래밍을 조절해야한다

 

Thrashing을 방지하는 알고리즘

 

1. working-set

프로세스가 일정 시간동안 원활하게   수행되기 위해 한꺼번에 메모리에 올라와 있어야 하는 page들의 집합

프로세스의 working set 전체가 메모리에 올라와 있어야 수행되고 그렇지 않을 경우 모든 frame을 반납한 후 swap out

Thrashing 방지

 

working set의 결정

working set window를 통해 알아냄

 

2. PFF

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

- 상한값을 넘으면 frame을 더 할당한다

- 하한값 이하이면 할당 frame 수를 줄인다

 

Page size를 감소시키면

- 페이지 수 증가

- 페이지 테이블 크기 증가

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

 

 

자료출처

반효경, 운영체제와 정보기술의 원리, 이화여자대학교 출판부, 2008

반응형

댓글