๐ญ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ | ๐ ์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น ๋ฌธ์ ํ์ด ๋ฐฉ๋ฒ ํฌํจ
์์ฝ
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ํ ํ์ ๊ฐ๋ , ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ํํค์ณ๋ด ๋๋ค. ํ์ด์ง์ ํ์ด์ง ๋ถ์ฌ์ ๊ฐ๋ ๋ถํฐ FIFO, LRU, LFU ์๊ณ ๋ฆฌ์ฆ์ ๋์ ๋ฐฉ์๊ณผ ์ฐจ์ด์ ์ ๋ช ํํ ์ดํดํ๊ณ , ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ๋๋น ๋ฌธ์ ๋ก ์ค๋ ฅ์ ์ ๊ฒํ์ธ์.
๐ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ
์๊ณ ๋ฆฌ์ฆ | ๊ต์ฒด ๋์ | ๊ธฐ๋ฐ ์๋ฆฌ |
---|---|---|
FIFO | ๊ฐ์ฅ ๋จผ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ค์ด์จ ํ์ด์ง | ์ ์ ์ ์ถ |
LRU | ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง | ์๊ฐ ์ง์ญ์ฑ |
LFU | ์ฐธ์กฐ ํ์๊ฐ ๊ฐ์ฅ ์ ์ ํ์ด์ง | ์ฐธ์กฐ ๋น๋ |
๐ก ์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น๋ฅผ ์ํ ์ฃผ๊ด์ ๋ฌธ์ ๋ ํฌ์คํ ๋ง์ง๋ง์ ์์ต๋๋ค. ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ํ์ด์ง ๋ถ์ฌ ํ์๋ฅผ ์ง์ ๊ณ์ฐํด ๋ณด์ธ์.
โ๏ธํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์คํ ์์ ์ฌ์ฉ๋ฉ๋๋ค. ํ์ ๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ(RAM)๋ฅผ ์ค์ ํ๋ก์ธ์ค๊ฐ ์๊ตฌํ๋ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํจ์ฌ ํฐ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ํ๋ ๊ธฐ์ ์ด์ฃ .
๐ง ํ์ด์ง์ ํ์ด์ง ๋ถ์ฌ, ์ ์์์ผ ํ ๊น?
์ปดํจํฐ๊ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ค๋ฉด ํด๋น ํ๋ก๊ทธ๋จ์ ์ฝ๋์ ๋ฐ์ดํฐ๊ฐ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ(RAM) ์ ์ฌ๋ผ์ ์์ด์ผ ํฉ๋๋ค. ํ์ง๋ง RAM์ ํฌ๊ธฐ๋ ํ์ ๋์ด ์๊ณ , ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ๋์์ ์คํํ๋ค ๋ณด๋ฉด ๊ณต๊ฐ์ด ๋ถ์กฑํด์ง๋๋ค. ์ด๋ ์ด์์ฒด์ ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ผ๋ ๊ธฐ์ ์ ์ฌ์ฉํฉ๋๋ค.
1. ํ์ด์ง(Page)๋?
ํ์ด์ง๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์์คํ ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ๊ณ ์ ๋ ํฌ๊ธฐ์ ๋ธ๋ก์ ๋๋ค. ํ๋ ๋์คํฌ์ ๊ฐ์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์๋ ํ๋ก๊ทธ๋จ์ ์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ์ผ์ ํ ํฌ๊ธฐ๋ก ๋๋์ด ๋์ ๊ฒ์ด์ฃ . RAM ์ญ์ ํ์ด์ง์ ๋์ผํ ํฌ๊ธฐ์ ํ๋ ์(Frame) ์ผ๋ก ๋๋์ด ๊ด๋ฆฌํฉ๋๋ค.
- ํต์ฌ: ํ๋ก์ธ์ค๋ ํ์ด์ง ๋จ์๋ก ๋๋๊ณ , ์ด ํ์ด์ง๋ค์ด RAM์ ํ๋ ์์ ์ ์ฌ(loading)๋์ด์ผ ์คํ๋ ์ ์์ต๋๋ค.
2. ํ์ด์ง ๋ถ์ฌ(Page Fault)๋?
ํ๋ก์ธ์ค๊ฐ ํน์ ํ์ด์ง๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ ๋, ํด๋น ํ์ด์ง๊ฐ RAM(๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ)์ ์๋ ๊ฒฝ์ฐ๋ฅผ ํ์ด์ง ๋ถ์ฌ(Page Fault) ๋ผ๊ณ ํฉ๋๋ค.
ํ์ด์ง ๋ถ์ฌ๊ฐ ๋ฐ์ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ด ์ผ์ด๋ฉ๋๋ค.
- CPU๋ ์ด์์ฒด์ (OS)์ ์ ์ด๊ถ์ ๋๊น๋๋ค.
- ์ด์์ฒด์ ๋ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์์ ํ์ํ ํ์ด์ง๋ฅผ ์ฐพ์ต๋๋ค.
- RAM์ ๋น์ด์๋ ํ๋ ์์ด ์๋ค๋ฉด ํด๋น ํ์ด์ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
- ๋ง์ฝ ๋น์ด์๋ ํ๋ ์์ด ์๋ค๋ฉด? ๊ธฐ์กด์ ์๋ ํ์ด์ง ์ค ํ๋๋ฅผ ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ก ๋ด๋ณด๋ด๊ณ (swap-out), ๊ทธ ๊ณต๊ฐ์ ์๋ก์ด ํ์ด์ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค(swap-in).
์ด๋ "์ด๋ค ํ์ด์ง๋ฅผ ๋ด๋ณด๋ผ ๊ฒ์ธ๊ฐ?"๋ฅผ ๊ฒฐ์ ํ๋ ๊ท์น์ด ๋ฐ๋ก ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
๐ ์ฃผ์ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ
ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ๋ชฉํ๋ ํ์ด์ง ๋ถ์ฌ ํ์๋ฅผ ์ต์ํํ์ฌ ์์คํ ์ฑ๋ฅ์ ๋์ด๋ ๊ฒ์ ๋๋ค. FIFO, LRU, LFU๊ฐ ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
1. FIFO (First-In, First-Out)
๊ฐ์ฅ ๊ฐ๋จํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, RAM์ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ํ์ด์ง๋ฅผ ๊ฐ์ฅ ๋จผ์ ๋ด๋ณด๋ด๋ ๋ฐฉ์์ ๋๋ค. ๋ง์น ์ค์ ์์ ๋จผ์ ์จ ์ฌ๋์ด ๋จผ์ ๋๊ฐ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
- ์ฅ์ : ๊ตฌํ์ด ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค.
- ๋จ์ : ์์ฃผ ์ฌ์ฉ๋๋ ํ์ด์ง์์๋ ๋ถ๊ตฌํ๊ณ ๋จผ์ ๋ค์ด์๋ค๋ ์ด์ ๋ง์ผ๋ก ๊ต์ฒด๋ ์ ์์ด ๋นํจ์จ์ ์ผ ์ ์์ต๋๋ค. (์ด๋ฅผ Belady์ ๋ชจ์(Belady's Anomaly) ์ด๋ผ๊ณ ๋ ํฉ๋๋ค. ํ๋ ์ ์๋ฅผ ๋๋ ธ๋๋ฐ๋ ํ์ด์ง ๋ถ์ฌ๊ฐ ๋ ๋ง์ด ๋ฐ์ํ๋ ํ์)
2. LRU (Least Recently Used)
๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. "์ต๊ทผ์ ์ฌ์ฉ๋ ํ์ด์ง๋ ๊ฐ๊น์ด ๋ฏธ๋์๋ ๋ค์ ์ฌ์ฉ๋ ๊ฒ์ด๋ค"๋ผ๋ ์๊ฐ ์ง์ญ์ฑ(Temporal Locality) ์์ด๋์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
- ์ฅ์ : FIFO์ ๋นํด ํ์ด์ง ๋ถ์ฌ์จ์ด ๋ฎ๊ณ , ์ผ๋ฐ์ ์ผ๋ก ์ข์ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค.
- ๋จ์ : ๊ฐ ํ์ด์ง์ ์ต๊ทผ ์ฌ์ฉ ์๊ฐ์ ๊ธฐ๋กํ๊ณ ์ ์งํด์ผ ํ๋ฏ๋ก, ์ด์์ฒด์ ์ ๋ถ๋ด์ด ํฌ๊ณ ๊ตฌํ์ด ๋ณต์กํฉ๋๋ค.
3. LFU (Least Frequently Used)
์ฐธ์กฐ ํ์๊ฐ ๊ฐ์ฅ ์ ์ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. "๊ณผ๊ฑฐ์ ๋ง์ด ์ฌ์ฉ๋ ํ์ด์ง๋ ์์ผ๋ก๋ ๋ง์ด ์ฌ์ฉ๋ ๊ฒ์ด๋ค"๋ผ๋ ๊ฐ์ ์ ๊ธฐ๋ฐํฉ๋๋ค.
- ์ฅ์ : LRU๊ฐ ์ก์๋ด์ง ๋ชปํ๋ ์ฅ๊ธฐ์ ์ธ ์ฐธ์กฐ ํจํด์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
- ๋จ์ :
- ์ฐธ์กฐ ํ์๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํ ์ค๋ฒํค๋๊ฐ ํฝ๋๋ค.
- ์ด๊ธฐ์ ๋ง์ด ์ฌ์ฉ๋์์ง๋ง ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ํ์ด์ง๊ฐ ๊ณ์ ๋ฉ๋ชจ๋ฆฌ์ ๋จ์์์ ์ ์์ต๋๋ค.
- ์ฐธ์กฐ ํ์๊ฐ ๋์ผํ ํ์ด์ง๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ, ์ด๋ค ๊ฒ์ ๊ต์ฒดํ ์ง ๊ฒฐ์ ํ๊ธฐ ์ํ ์ถ๊ฐ์ ์ธ ๊ท์น(e.g., FIFO)์ด ํ์ํฉ๋๋ค.
๐ ์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น ๋ฌธ์
๋ฌธ์ 1 - FIFO
๋ฌธ์ | ํ์ด์ง ํ๋ ์์ด 3๊ฐ์ผ ๋, ๋ค์๊ณผ ๊ฐ์ ์์๋ก ํ์ด์ง๊ฐ ์ฐธ์กฐ๋์์ต๋๋ค. ํ์ด์ง ์ฐธ์กฐ ์์: 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2 FIFO ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ ๋ ํ์ด์ง ๋ถ์ฌ(Page Fault)๋ ๋ช ๋ฒ ๋ฐ์ํ๋์ง ๊ณ์ฐํ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ ํ์ด
๋ฐ์ด๋ด๊ธฐ ์์ผ๋ก ํธ์ธ์. ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉด ์ข์ต๋๋ค. ์๋ก์ด๊ฒ ๋ค์ด์ค๋ฉด ์๋ก์ด ๊ฒ ์์ ๋ค์ด๊ฐ๊ณ , ๊ฐ์ฅ ์๋์ ์๋ ๊ฑธ ๋ฐ์ด๋ด๋ฏ์ด ํ๋ฉด ํท๊ฐ๋ฆฌ์ง ์์ต๋๋ค.
์ฐธ์กฐ | 2 | 3 | 2 | 1 | 5 | 2 | 4 | 5 | 3 | 2 | 5 | 2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 3 | 1 | 5 | 2 | 4 | 4 | 3 | 3 | 5 | 2 |
2 | 2 | 2 | 3 | 1 | 5 | 2 | 2 | 4 | 4 | 3 | 5 | |
3 | 2 | 3 | 1 | 5 | 5 | 2 | 2 | 4 | 3 | |||
๋ถ์ฌ | O | O | X | O | O | O | O | X | O | X | O | O |
- ํ์ด์ง ๋ถ์ฌ ํ์: 9๋ฒ
๋ฌธ์ 2 - LRU
๋ฌธ์ | ํ์ด์ง ํ๋ ์์ด 3๊ฐ์ผ ๋, ๋ค์๊ณผ ๊ฐ์ ์์๋ก ํ์ด์ง๊ฐ ์ฐธ์กฐ๋์์ต๋๋ค. ํ์ด์ง ์ฐธ์กฐ ์์: 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2 LRU ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ ๋ ํ์ด์ง ๋ถ์ฌ(Page Fault)๋ ๋ช ๋ฒ ๋ฐ์ํ๋์ง ๊ณ์ฐํ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ ํ์ด
๊ฐ์ฅ ์ค๋์ ์ฌ์ฉํ ๊ฒ์ ๋งจ ์๋๋ก ๋ณด๋ด๋ ์์ผ๋ก ํธ์ธ์. ์๋ก์ด ๊ฒ ๋ค์ด์ค๋ฉด ์๋ก์ด ๊ฒ ์์ ๋ค์ด๊ฐ๊ณ , ๊ฐ์ฅ ์๋์ ์๋ ๊ฑธ ๋ฐ์ด๋ด๋ฏ์ด ํ๋ฉด ํท๊ฐ๋ฆฌ์ง ์์ต๋๋ค. ๋ง์ฝ, ๊ธฐ์กด์ ์กด์ฌํ๋ ํ์ด์ง๋ผ๋ฉด ์์น๋ฅผ ๋งจ ์๋ก ์ฌ๋ฆฌ๋ฉด ๋ฉ๋๋ค.
์ฐธ์กฐ | 2 | 3 | 2 | 1 | 5 | 2 | 4 | 5 | 3 | 2 | 5 | 2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 2 | 1 | 5 | 2 | 4 | 5 | 3 | 2 | 5 | 2 |
2 | 2 | 3 | 2 | 1 | 5 | 2 | 4 | 5 | 3 | 2 | 5 | |
3 | 3 | 2 | 1 | 5 | 2 | 4 | 5 | 3 | 3 | |||
๋ถ์ฌ | O | O | X | O | O | X | O | X | O | O | X | X |
- ํ์ด์ง ๋ถ์ฌ ํ์: 7๋ฒ
๋ฌธ์ 3 - LFU
๋ฌธ์ | ํ์ด์ง ํ๋ ์์ด 3๊ฐ์ผ ๋, ๋ค์๊ณผ ๊ฐ์ ์์๋ก ํ์ด์ง๊ฐ ์ฐธ์กฐ๋์์ต๋๋ค. ํ์ด์ง ์ฐธ์กฐ ์์: 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2 LFU ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ ๋ ํ์ด์ง ๋ถ์ฌ(Page Fault)๋ ๋ช ๋ฒ ๋ฐ์ํ๋์ง ๊ณ์ฐํ์์ค. (๋จ, LFU์์ ์ฐธ์กฐ ํ์๊ฐ ๋์ผํ ๊ฒฝ์ฐ FIFO ๊ท์น์ ๋ฐ๋ฅธ๋ค) |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ ํ์ด
ํด๋น ํ์ด์ง๊ฐ ๋ช๋ฒ ์ฐธ์กฐ๋์๋์ง ๊ธฐ๋กํ๋ฉด์ ํธ๋๊ฒ ์ข์ต๋๋ค. (์ : 2-1 ์ 2๋ฒ ํ์ด์ง๊ฐ 1๋ฒ ์ฐธ์กฐ๋์์์ ์๋ฏธํฉ๋๋ค.)
์ฐธ์กฐ ํ์๊ฐ ๋์ผํ ๊ฒฝ์ฐ FIFO ๊ท์น์ ๋ฐ๋ฅด๋ฏ๋ก, FIFO๋ฅผ ํ๋ฏ์ด ์๋ก ๋ค์ด์จ ํ์ด์ง๋ฅผ ์์ ๋ฃ์ผ์ธ์.
์ฐธ์กฐ | 2 | 3 | 2 | 1 | 5 | 2 | 4 | 5 | 3 | 2 | 5 | 2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2-1 | 3-1 | 3-1 | 1-1 | 5-1 | 5-1 | 4-1 | 4-1 | 3-1 | 3-1 | 3-1 | 3-1 |
2 | 2-1 | 2-2 | 3-1 | 1-1 | 1-1 | 5-1 | 5-2 | 5-2 | 5-2 | 5-3 | 5-3 | |
3 | 2-2 | 2-2 | 2-3 | 2-3 | 2-3 | 2-3 | 2-4 | 2-4 | 2-5 | |||
๋ถ์ฌ | O | O | X | O | O | X | O | X | O | X | X | X |
- ํ์ด์ง ๋ถ์ฌ ํ์: 6๋ฒ