Virtual Memory Management: Replacement Strategies for Variable Alloc.
Working Set(WS) Alogrithm
![](https://blog.kakaocdn.net/dn/br1J0H/btrWS129fBP/1PxemXyeEwkKHGuWSsRUTk/img.png)
โ 1968 Denning
โ Working Set
- Process๊ฐ ํน์ ์์ ์ ์์ฃผ ์ฐธ์กฐํ๋ page๋ค์ ์งํฉ
- ์ต๊ทผ ์ผ์ ์๊ฐ ๋์ ์ฐธ์กฐ๋ page๋ค์ ์งํฉ
- ์๊ฐ์ ๋ฐ๋ผ ๋ณํจ
- W(t, Δ)
- The working set of a process at time t
- Time interval[t - Δ, t]๋์ ์ฐธ์กฐ๋ pages๋ค์ ์งํฉ
- Δ: window size, system parameter
Working set Memory management
โ Locality์ ๊ธฐ๋ฐ
โ Working set์ ๋ฉ๋ชจ๋ฆฌ์ ํญ์ ์ ์ง
- Page fault rate(thrashing) ๊ฐ์
- ์์คํ ์ฑ๋ฅ ํฅ์
โ Window size๋ ๊ณ ์
- Memory allocation์ ๊ฐ๋ณ
- Δ ๊ฐ์ด ์ฑ๋ฅ์ ๊ฒฐ์ ์ง๋ ์ฃผ์ ์์
Working size vs WS size
![](https://blog.kakaocdn.net/dn/Xy0uP/btrWRyACpwj/ekgJersufpe6kKjNu1yKM0/img.png)
โ locality
Working set transition
![](https://blog.kakaocdn.net/dn/OVuv1/btrWRQA1YzR/ngikGstyssgk7BpHPDrQvk/img.png)
![](https://blog.kakaocdn.net/dn/lqHqz/btrWRC32i7y/cAt1yjqE62jDBvchdPJuYk/img.png)
โ ๋ฃจํ -> ๋ฃจํ ์ ํ๋ ๋๋ ์ผ์์ ์ผ๋ก working set size๊ฐ ์ฆ๊ฐํ๋ค
Example
![](https://blog.kakaocdn.net/dn/IJJ17/btrWTKNKZ3T/tuOLT4KD66nKgWSUeMJi6K/img.png)
์ฑ๋ฅํ๊ฐ
โ Variable Allocation์์๋ Page fault ์ ์ธ ๋ค๋ฅธ ์งํ๋ ํจ๊ป ๋ด์ผ ํ๋ค
- ํ๊ท ํ ๋น page frame
- page fault ์ฒ๋ฆฌ ๋น์ฉ
- page frame ์ ์ง ๋น์ฉ
โ Example
- Time interval [1, 10]
#
of page fault = 5- ํ๊ท ํ ๋น page frame ์ = 3.2
- ํ๊ฐ
- ํ๊ท 3.2๊ฐ์ page frame์ ํ ๋น ๋ฐ์ ์ํ์์ 5๋ฒ์ page fault ๋ฐ์
window size vs page fault
![](https://blog.kakaocdn.net/dn/bnbPLr/btrWRQnt8lt/osTPkmjQvMq9WhpU0lkukk/img.png)
โ life time: page ์ ์ง ๋น์ฉ ์ฆ๊ฐ
โ ์ ์ ํ window size ์ค์ ๋ฐ ์ ์ง๊ฐ ์ค์
ํน์ฑ ์ ๋ฆฌ
โ ์ ์ฌ ๋๋ page๊ฐ ์๋๋ผ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐ๋ฉํ๋ page๊ฐ ์์ ์ ์๋ค
โ ์๋ก ์ ์ฌ๋๋ page๊ฐ ์๋๋ผ๋ ๊ต์ฒด ๋๋ page๊ฐ ์์ ์ ์๋ค
โ ๋จ์
- Working set management overhead
- Residence set(์์ฃผ ์งํฉ)์ page fault๊ฐ ์๋๋ผ๋, ์ง์์ ์ผ๋ก ๊ด๋ฆฌ ํด์ผ ํ๋ค.
Page Fault Frequency (PFF) algorithm
โ Residence set size๋ฅผ page fault rate์ ๋ฐ๋ผ ๊ฒฐ์
- Low page fault rate (long inter fault time)
- process์๊ฒ ํ ๋น๋ PF ์๋ฅผ ๊ฐ์
- High page fault rate (short inter-fault time)
- process์๊ฒ ํ ๋น๋ PF ์๋ฅผ ์ฆ๊ฐ
โ Residence set ๊ฐฑ์ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
- Page fault๊ฐ ๋ฐ์ ์์๋ง ์ํ
- Low overhead
Criteria for page fault rate
โ IFT > τ: Low page fault rate
โ IFT < τ: High page fault rate
โ τ: threshold value
- system parameter
Alogrithm
![](https://blog.kakaocdn.net/dn/ncaEY/btrW1OVvmlX/qUvWG5QYPGdEr8bxRUuVKK/img.png)
Example
โ τ = 2, # of pages = 5 (0, 1, 2, 3, 4)
โ Initially pages {0, 3, 4} in the memory at time 0
โ ษท = 2 2 3 1 2 4 2 4 0 3
![](https://blog.kakaocdn.net/dn/bgaaMV/btrWVKNgv17/kLjkZzQogcrMFS1dR0xMf0/img.png)
์ฑ๋ฅ ํ๊ฐ
โ Variable Allocation์์๋ Page fault ์ ์ธ ๋ค๋ฅธ ์งํ๋ ํจ๊ป ๋ด์ผ ํ๋ค
- ํ๊ท ํ ๋น page frame
- page fault ์ฒ๋ฆฌ ๋น์ฉ
- page frame ์ ์ง ๋น์ฉ
โ Example
- Time interval [1, 10]
#
of page fault = 5- ํ๊ท ํ ๋น page frame ์ = 3.7
- ํ๊ฐ
- ํ๊ท 3.7๊ฐ์ page frame์ ํ ๋น ๋ฐ์ ์ํ์์ 5๋ฒ์ page fault ๋ฐ์
ํน์ง
โ ๋ฉ๋ชจ๋ฆฌ ์ํ ๋ณํ๊ฐ page fault ๋ฐ์ ์์๋ง ๋ณํํ
- Low overhead
Variable MIN (VMIN) algorithm
โ Variable allocation ๊ธฐ๋ฐ ๊ต์ฒด ๊ธฐ๋ฒ ์ค optimal algorithm
- ํ๊ท ๋ฉ๋ชจ๋ฆฌ ํ ๋น๋๊ณผ page fault ๋ฐ์ ํ์ ๋ชจ๋ ๊ณ ๋ ค ํ์ ๋์ Optimal
โ ์คํ ๋ถ๊ฐ๋ฅ ๊ธฐ๋ฒ
- Page reference string์ ๋ฏธ๋ฆฌ ์๊ณ ์์ด์ผ ํ๋ค
- ์๊ณ ๋ฆฌ์ฆ ํ๊ฐ์ ํ์ฉ
โ ๊ธฐ๋ฒ
- [t, t + Δ] ๊ณ ๋ คํ์ฌ ๊ต์ฒดํ page ์ ํ
Algorithrm
โ Page r์ด t ์๊ฐ์ ์ฐธ์กฐ ๋๋ฉด, page r์ด (t, t + Δ] ์ฌ์ด์ ๋ค์ ์ฐธ์กฐ ๋๋์ง ํ์ธ
โ ์ฐธ์กฐ ๋๋ค๋ฉด page r์ ์ ์ง
โ ์ฐธ์กฐ ์ ๋จ๋๋ค๋ฉด page r์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ด๋ฆผ
Example
![](https://blog.kakaocdn.net/dn/zlLBe/btrWWrNyA9l/EgulYM0Fg9x2riO5KY9mjk/img.png)
์ฑ๋ฅ ํ๊ฐ
โ Variable Allocation์์๋ Page fault ์ ์ธ ๋ค๋ฅธ ์งํ๋ ํจ๊ป ๋ด์ผ ํ๋ค
- ํ๊ท ํ ๋น page frame
- page fault ์ฒ๋ฆฌ ๋น์ฉ
- page frame ์ ์ง ๋น์ฉ
โ Example
- Time interval [1, 10]
#
of page fault = 5- ํ๊ท ํ ๋น page frame ์ = 1.6
- ํ๊ฐ
- ํ๊ท 1.76์ page frame์ ํ ๋น ๋ฐ์ ์ํ์์ 5๋ฒ์ page fault ๋ฐ์
์ต์ ์ฑ๋ฅ์ ์ํ Δ ๊ฐ์?
โ $Δ = {R \over U}$
- U = ํ ๋ฒ์ ์ฐธ์กฐ ์๊ฐ ๋์ page๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์งํ๋ ๋น์ฉ
- R = Page fault ๋ฐ์ ์ ์ฒ๋ฆฌ๋๋ ๋น์ฉ
โ R > Δ * U, (Δ๊ฐ ์์ ๊ฒฝ์ฐ)
- ์ฒ๋ฆฌ ๋น์ฉ > page ์ ์ง ๋น์ฉ
โ R < Δ * U, (Δ๊ฐ ํฐ ๊ฒฝ์ฐ)
- ์ฒ๋ฆฌ ๋น์ฉ < page ์ ์ง ๋น์ฉ
'โญ Group_Study > Operating System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[9์ฃผ์ฐจ] Disk System (0) | 2023.01.26 |
---|---|
[8์ฃผ์ฐจ] Virtual Memory Management: Other considerations (0) | 2023.01.25 |
[8์ฃผ์ฐจ] Virtual Memory Management: Replacement Strategies for Fixed Alloc. 2 (0) | 2023.01.23 |
[7์ฃผ์ฐจ] Virtual Memory Management: Replacement Strategies for Fixed Alloc.1 (0) | 2023.01.18 |
[7์ฃผ์ฐจ] Virtual Memory Management: SW components (0) | 2023.01.17 |
๋๊ธ