Virtual Memory Management: SW components
SoftWare Components: ๊ฐ์
โ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฑ๋ฅ ํฅ์์ ์ํ ๊ด๋ฆฌ ๊ธฐ๋ฒ๋ค
- Allocation Strategies (ํ ๋น ๊ธฐ๋ฒ)
- Fetch Strategies
- Placement Strategies(๋ฐฐ์น ๊ธฐ๋ฒ)
- Replacement Strategies (๊ต์ฒด ๊ธฐ๋ฒ)
- Cleaning Strategies (์ ๋ฆฌ ๊ธฐ๋ฒ)
- Load Control Strategies (๋ถํ ์กฐ์ ๊ธฐ๋ฒ)
Alloctaion Strategies
โ ๊ฐ ํ๋ก์ธ์ค์๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ผ๋ง๋งํผ ์ค ๊ฒ์ธ๊ฐ?
- Fixed Alloctaion(๊ณ ์ ํ ๋น)
- ํ๋ก์ธ์ค์ ์คํ ๋์ ๊ณ ์ ๋ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
- Variable allocation(๊ฐ๋ณ ํ ๋น)
- ํ๋ก์ธ์ค์ ์คํ๋์ ํ ๋นํ๋ ๋ฉ๋ชจํค๋ฆฌ์ ํฌ๊ธฐ๊ฐ ์ ๋์
โ ๊ณ ๋ ค ์ฌํญ
- ํ๋ก์ธ์ค ์คํ์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ์์ ์์ธกํด์ผ ํ๋ค
- ๋๋ฌด ํฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
- ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ญ๋น ๋๋ค
- ๋๋ฌด ์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
- Page fault rate ์์น
- ์์คํ ์ฑ๋ฅ ์ ํ
Fetch Strategies
โ ํน์ page๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ธ์ ์ ์ฌํ ๊ฒ์ธ๊ฐ
- Demain fetch(demand paging)
- ํ๋ก์ธ์ค๊ฐ ์ฐธ์กฐํ๋ ํ์ด์ง๋ค๋ง ์ ์ฌ
- page fault overhead
- Anticipatory fetch(pre-paging)
- ์ฐธ์กฐ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ page ์์ธก
- ๊ฐ๊น์ด ๋ฏธ๋์ ์ฐธ์กฐ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ page๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฌ
- ์์ธก ์ฑ๊ณต ์, page fault overhead๊ฐ ์๋ค
- Prediction overhead(Kernel ๊ฐ์ )
- Hit ratio์ ๋ฏผ๊ฐ
โ ์ค์ ๋๋ถ๋ถ์ ์์คํ ์ Demand Fetch ๊ธฐ๋ฒ ์ฌ์ฉ
- ์ผ๋ฐ์ ์ผ๋ก ์ค์ํ ์ฑ๋ฅ
- Anticipatory fetch
- Prediction overhead, ์๋ชป๋ ์์ธก ์ ์์ ๋ญ๋น๊ฐ ํผ
โ Anticipatory fetch ๊ธฐ๋ฒ์ ์ผ๋ฐ์ ์ธ ์ด์์ฒด์ ๋ณด๋ค ๊ฐ์ธ์ด ์์คํ /ํ๋ก๊ทธ๋จ ์ค๊ณ์ ์ ์ฉ ๊ฐ๋ฅ
Placement Strategies
โ Page/segment๋ฅผ ์ด๋์ ์ ์ฌํ ๊ฒ์ธ๊ฐ
โ Paging system์๋ ๋ถํ์
โ Segmentation system์์์ ๋ฐฐ์น ๊ธฐ๋ฒ
- First-fit
- Best-fit
- Worst-fit
- Next-fit
Replacement Strategies
โ ์๋ก์ด page๋ฅผ ์ด๋ค page์ ๊ต์ฒด ํ ๊ฒ์ธ๊ฐ (๋น page frame์ด ์๋ ๊ฒฝ์ฐ)
- Fixed allocation
- Variable allocation
Cleaning Strategies
โ ๋ณ๊ฒฝ๋ page๋ฅผ ์ธ์ write-back ํ ๊ฒ์ธ๊ฐ?
- ๋ณ๊ฒฝ๋ ๋ด์ฉ์ swap device์ ๋ฐ์
- Demand cleaning
- ํด๋น page์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ด๋ ค์ฌ ๋ write back
- Anticipatory cleaning(pre-cleaning)
- ๋ ์ด์ ๋ณ๊ฒฝ๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค๊ณ ํ๋จ ํ ๋, ๋ฏธ๋ฆฌ write-back
- Page ๊ต์ฒด ์ ๋ฐ์ํ๋ write-back ์๊ฐ ์ ์ฝ
- Write-back ์ดํ, page ๋ด์ฉ์ด ์์ ๋๋ฉด overhead!
โ ์ค์ ๋๋ถ๋ถ์ ์์คํ ์ Demand Fetch ๊ธฐ๋ฒ ์ฌ์ฉ
- ์ผ๋ฐ์ ์ผ๋ก ์ค์ํ ์ฑ๋ฅ
- Anticipatory fetch
- Prediction overhead, ์๋ชป๋ ์์ธก ์ ์์ ๋ญ๋น๊ฐ ํผ
Load Control Strategies
โ ์์คํ ์ multi-programming degree ์กฐ์
- Allocation strategies์ ์ฐ๊ณ
โ ์ ์ ์์ค์ multi-programming degree๋ฅผ ์ ์งํด์ผ ํ๋ค
- Plateau(๊ณ ์) ์์ญ์ผ๋ก ์ ์ง
- ์ ๋ถํ ์ํ(Under-loaded)
- ์์คํ ์์ ๋ญ๋น, ์ฑ๋ฅ ์ ํ
- ๊ณ ๋ถํ ์ํ(Over-loaded)
- ์์์ ๋ํ ๊ฒฝ์ ฑ ์ฌํ, ์ฑ๋ฅ ์ ํ
- Thrashing(์ค๋ ์ฑ)ํ์ ๋ฐ์
- ๊ณผ๋ํ page fault
๋๊ธ