-
[OS] ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆSTUDY/OS 2022. 5. 1. 21:57
๐๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ํด ์๊ตฌ๋๋ ์ ์ฑ ๊ณผ ๊ธฐ๋ฒ
- ์ ์ฌ ์ ์ฑ
(Fetch Strategy)
์คํ์ ํ์ํ ํ์ด์ง๋ฅผ ์ธ์ ์ ์ฌํ ๊ฒ์ธ๊ฐ
- ์๊ตฌ ์ ์ฌ(Demand Fetch)
ํ์ด์ง๊ฐ ์ฐธ์กฐ๋ ๋ ์ ์ฌ
ํ์ํ ํ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํด ์ค๋ฒํค๋๊ฐ ์์ผ๋,
ํ์ด์ง๊ฐ ๋ถ์ฌ์ผ ๊ฒฝ์ฐ ์ ์ฌ๋ ๋๊น์ง ํด๋น ํ๋ก์ธ์ค๋ฅผ ๋๊ธฐ ์ํ๋ก ๋ง๋๋ ๋ฌธ๋งฅ๊ตํ, ๋์คํฌ ์ ์ถ๋ ฅ ๋ถ๋ด
- ์์ธก ์ ์ฌ(Anticpactory Fetch)
์์ธก์ ํตํด ํ๋ฅ ์ ์ผ๋ก ์ฐธ์กฐ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๊ณ ํ๋จ๋๋ ํ์ด์ง ์ ์ฌ
์์ธก์ด ์ ๋์ง ์์ ๊ฒฝ์ฐ ์์ธก์ ์ํ ์ค๋ฒํค๋์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น ๋ฐ์ - ๋ฐฐ์น ์ ์ฑ
(Placement Strategy)
๋์คํฌ๋ก๋ถํฐ ๊ฐ์ ธ์จ ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋์ ์ ์ฌํ ๊ฒ์ธ๊ฐ ๊ฒฐ์ ํ๋ ์ ์ฑ
๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ด์ง์ ํฌ๊ธฐ์ ๊ฐ์ ํ๋ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฏ๋ก,
๋น ํ๋ ์ ์ด๋์ ์ ์ฌํ๋ ๋ฌธ์ ๊ฐ ์์ -> ์ ๊ฒฝ ์์จ๋ ๋จ
์ธ๊ทธ๋ฉํ ์ด์ -> ๋ค์ํ ํฌ๊ธฐ์ ์ธ๊ทธ๋จผํธ ์์ฉ -> ๋ฐฐ์น ์ ์ฑ ์๊ตฌ - ํ ๋น ์ ์ฑ
(Allocation Strategy)
ํ๋ก์ธ์ค๋ค์๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ผ๋งํผ์ฉ ์ค ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ์ ์ฑ
๊ฐ ํ๋ก์ธ์ค์๊ฒ ๋ฉ๋ชจ๋ฆฌ ํ๋ ์์ ๋ช ๊ฐ ์ฌ์ฉํ ์ ์๋๋ก ํด์ค ๊ฒ์ธ์ง ๊ฒฐ์
- ๊ณ ์ ํ ๋น (Fixed Allocation)
ํ๋ก์ธ์ค์๊ฒ ์์คํ ์์ ์ ํด๋์ ๊ฐ์์ ํ๋ ์๋ง ์ฌ์ฉํ๋๋ก ํ๊ณ ๊ฐ์์ ๋ณ๋์ด ์๋๋ก
- ๊ฐ๋ณ ํ ๋น (Variable Allocation)
์คํ ๋์ค ๋ถ์ฌ๋ ํ๋ ์์ ์์ ๋ณ๋์ด ์๋๋ก ํจ - ๊ต์ฒด ์ ์ฑ
(Replacement Strategy)
๋ฉ๋ชจ๋ฆฌ์ ๋น ํ๋ ์์ด ์์ ๋ ์ ์ฌ๋ ํ์ด์ง๋ฅผ ์ํด
์ด๋ฏธ ์ ์ฌ๋ ํ์ด์ง ์ค ๊ต์ฒด๋์์ ๊ฒฐ์ ํ๋ ์ ์ฑ
- ์ง์ญ ๊ต์ฒด (Local Replacement)
ํด๋น ํ๋ก์ธ์ค์ ํ ๋น๋ ํ๋ ์ ์ค์์ ๊ต์ฒด๋ ํ์ด์ง๋ฅผ ์ ํํ๋๋ก
- ์ ์ญ ๊ต์ฒด (Global Replacement)
๋ฉ๋ชจ๋ฆฌ์ ๋ชจ๋ ํ๋ ์๋ค์ด ๋์์ด ๋จ
์ ์ญ๊ต์ฒด์์ ํ๋ ์์ด ํ๋ ์ค์ด์ผ ํ๋ ํ๋ก์ธ์ค๊ฐ ์๊ธฐ๋ฉด
๋ค๋ฅธ ์ด๋ค ํ๋ก์ธ์ค์๊ฒ๋ ํ๋ ์์ด ํ๋ ์ฆ๊ฐํ๋ ๊ฒ์ ์๋ฏธํจ => ๊ณ ์ ํ ๋น ๋ถ๊ฐ๋ฅ
ํ ๋น๋ ํ๋ ์์ ์๋ ๋ณ๊ฒฝํ ์ ์์ด๋ ๊ต์ฒด์ ๋์์ ์์ ์ ํ๋ ์ ๋ด์์ ๊ต์ฒด => Working Set ์ด๋ก , PFF - ํด๋ฆฌ๋ ์ ์ฑ
์ ์ฌ ์ค ๋ด์ฉ์ด ๋ณ๊ฒฝ๋ ํ์ด์ง๋ฅผ ์ธ์ ๋์คํฌ์ ๊ธฐ๋ก์ํฌ ๊ฒ์ธ๊ฐ - ๋ถํ์กฐ์
๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์ ๋ ๊ฒฐ์
๋ฉ๋ชจ๋ฆฌ์ ํจ์จ์ ๊ด๋ฆฌ์ ๋ฐ์ ํ ๊ด๊ณ
๐ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ
๊ณ ์ ํ ๋น ๊ธฐ๋ฐ
- OPT(์ต์ , Optimal, Min) ์๊ณ ๋ฆฌ์ฆ
ํ ์์ ์์ ์์ผ๋ก ๊ฐ์ฅ ์ค๋ซ๋์ ์ฐธ์กฐ๋์ง ์์ ํ์ด์ง ์ ํ, ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ
ํ๋ก์ธ์ค๋ค์ด ์์ผ๋ก ์ด๋ค ํ์ด์ง๋ฅผ ์ฐธ์กฐํ ์ง ์ ์ ์์ด ํ์ค์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ์ง๋ง,
๊ตฌํ์ด ๊ฐ๋ฅํ ๋ค๋ฅธ ์ฑ๋ฅ๋ค๊ณผ์ ๋น๊ต์ ์ฌ์ฉ๋จ
ํ์ด์ง ๋ถ์ฌ์ผ ๊ฒฝ์ฐ ๋น ํ๋ ์์ ๋ฃ๊ฑฐ๋ ๊ฐ์ฅ ์ฐธ์กฐ๊ฐ ๋จผ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ค.
8๋ฒ - FIFO(First In First Out) ๊ธฐ๋ฒ
์ ์ฌ๋ ์ง ๊ฐ์ฅ ์ค๋๋ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ๋ฐฉ๋ฒ
- ์๊ฐ ๊ธฐ๋ก์ ์ฌ์ฉํ๊ธฐ
๊ฐ์ฅ ์ค๋๋ ํ์ด์ง๋ฅผ ์ฐพ๋๋ฐ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํจ
- ํ๋ฅผ ์ฌ์ฉํ๊ธฐ
ํ์ด์ง ๋ถ์ฌ๊ฐ ๋ง์ด ๋ฐ์ํ๋ฏ๋ก ์ข์ ๊ต์ฒด ์ ์ฑ ์ด๋ผ๊ณ ๋ ํ ์ ์์
12๋ฒ - LRU(Least Recently Used) ๊ธฐ๋ฒ
์ฐธ์กฐ๋์ง ๊ฐ์ฅ ์ค๋๋ ํ์ด์ง๊ฐ ๊ต์ฒด ๋์
- ์๊ฐ ๊ธฐ๋ก ์ฌ์ฉํ๊ธฐ
์ญ์ ์ค๋ฒํค๋ ๋ฐ์
- LRU ์คํ ์ฌ์ฉํ๊ธฐ
์ด๋ฏธ ์ ์ฌ๋์ด์๋ ํ์ด์ง์ ์์น๋ฅผ ๋ฐ๊ฟ ๋ ์ค๋ฒํค๋ ๋ฐ์
์คํ์ ๊ฐ์ฅ ๋ฐ์ ์๋ ํ์ด์ง๊ฐ ๊ต์ฒด ๋์์ด ๋๋๋ก ์คํ์ ์์น๊ฐ ์๋์ ์ธ ์ฐธ์กฐ ์์๋ฅผ ๋ํ๋ด๋๋ก ํจ
์ต์ ๋ณด๋ค๋ ๋ชปํด๋ FIFO๋ณด๋ค ๋์ ์ฑ๋ฅ, ํ์ฌ์ ๋๋ถ๋ถ์ ์์คํ ์ด LRU๋ LRU๋ฅผ ๋ณํ์ํจ ๊ธฐ๋ฒ ์ฌ์ฉ
10๋ฒ - Second-chance(Clock) ๊ธฐ๋ฒ
FIFO์ ๋ณํ์ด๋ฉด์ LRU์ ๊ทผ์ ํ๋ ๊ธฐ๋ฒ
ํ๋ฒ์ด๋ผ๋ ๋ ์ฐธ์กฐ๋ ํ์ด์ง๋ฅผ ๋ฐ๋ก ๊ต์ฒด์ํค์ง ์๊ณ ํ๋ฒ ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋จธ๋ฌด๋ฅผ ์ ์๋ ๊ธฐํ๋ฅผ ์ค
์ํ ํ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค -> Clock - LFU (Least Frequently Used)์ MFU(Most Frequently Used)
์ ์ฌ๋์ด์๋๋์ ์ฐธ์กฐ๋ ํ์๋ฅผ ๋์ ํ์ฌ ๊ธฐ๋กํจ
LFU - ๋ง์ด ์ฐธ์กฐ๋ ํ์ด์ง๋ ์์ผ๋ก๋ ์ฐธ์กฐ๋ ํ๋ฅ ๋์ ๊ฒ ๊ฐ์ ์ ํ
MFU - ๋ง์ด ์ฐธ์กฐ๋ ํ์ด์ง๋ ์์ผ๋ก ๋ ์ด์ ์ฐธ์กฐ๋ ํ๋ฅ ์ด ๋ฎ์ ๊ฒ ๊ฐ์ ์ฐธ์กฐ๋์ง ์์ ํ์ด์ง ์ ํ
๋ชจ๋ ๋๋ฌด ํธํฅ๋์ด์ ์ฌ์ฉํ์ง ์์
์ถ์ฒ : ๊น์ฃผ๊ท , ใOS? Oh Yes!ใ, ํด๋จผ์ธ์ด์ธ์ค
'STUDY > OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] ๋์คํฌ ์ค์ผ์ค๋ง2 : LOOK, N-step SCAN, C-SCAN, Eschenbach (0) 2022.05.08 [OS] ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น (0) 2022.04.10 [OS] ํ๋ก์ธ์ค ๋๊ธฐํ - ์๊ณ๊ตฌ์ญ ๋ฌธ์ (0) 2022.04.07 [OS] CPU ์ค์ผ์ค๋ง : ์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง, ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง (0) 2022.03.27 - ์ ์ฌ ์ ์ฑ
(Fetch Strategy)