엔지니어가 되고 싶은 공돌이
25. Virtual Memory - Thashing, Working Set, PFF 본문
25. Virtual Memory - Thashing, Working Set, PFF
Geca 2021. 5. 23. 14:07
13. 2 Allocation of Frames & Thrashing
<Allocation of Frames>
- 다중 프로그래밍 시스템에서 물리적 메모리를 경쟁 프로세스에 할당하는 방법이 필요.
- 2가지 방법이 존재하며, 뭐가 더 좋다고 할 수 는 없다.
1) fixed space algorithms: 각 프로세스에는 사용할 수 있는 페이지 제한이 있다.
- Local Replacement: 일부 프로세스는 잘 될 수 있고, 다른 프로세스는 어려울 수 있음.
2) variable space algorithms: 프로세스의 공간이 동적으로 확장되고 축소됨.
- Global Replacement:한 프로세스가 나머지 프로세스를 망칠 수 있다.(Linux)
<Thrashing> = overcommitted
- 과도한 page fault에 의해 page replacement가 계속 발생해 버벅거리는 현상
- 해결방법: 프로세스의 모든 page를 write out한다 / 메모리를 추가 구매.
13. 3 Working Set Model & PFF
<Working Set>
- 정의: 현재 어떤 프로세스가 요구하는 페이지들의 집합.
- 프로세스의 메모리 사용의 dynamic locality을 모델링하는데 사용됨.
- Working Set Size(WSS): woring set이 필요로 하는 페이지 수.
1) WSS는 program locality에 따라 변경된다. 지역성이 좋지 않으면 더 많은 크기
2) WS가 메모리에 있어야 심각한 오류(thrashing)를 예방할 수 있다.
3) multiprogramming 정도를 조절. WSS의 합이 총 프레임 수를 넘어서면 프로세스 중단
-> thrashing 방지
- Working Set Page Replacement
1) working set에 없는 page를 제거.
2) virtual time(CPU 시간)을 측정.
3) PTE에 Time of last use(Tlast)필드를 연결
4) 주기적인 clock interrupt는 R비트를 지운다.
5) R=1이면 현재 가상 시간을 timestamp / R=0이고, age가 일정한 term보다 작으면 제거.
<PFF: page fault frequency>
- 각 프로세스 별로 fault를 모니터링 한다.
- 오류율이 임계치보다 높으면 더 많은 메모리를 주고, 오류율이 임계치보다 낮으면 메모리를 뺏는다.
- PFF가 증가하고, 사용 가능한 여유 프레임이 없다면 일부 프로세스를 선택해서 중지시킴.
'Computer Science > Operating System' 카테고리의 다른 글
27. I/O System (1) (0) | 2021.05.25 |
---|---|
26. Virtual Memory - Advanced VM Functionality (0) | 2021.05.24 |
24. Virtual Memory - Page Replacement Algorithm (0) | 2021.05.22 |
23. Virtual Memory - TLB&Memory Reference (0) | 2021.05.21 |
22. Virtual Memory - Page Table (0) | 2021.05.20 |