- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋
์๊ตฌ ํ์ด์ง ๊ธฐ๋ฒ
์ ํตํด ํ์ํ ํ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ณ ์ฌ์ฉํ์ง ์๋ ๋ถ๋ถ์ ๊ทธ๋๋ก ๋๋ค. - ํ์ง๋ง, ํ์ํ ํ์ด์ง๋ง ์ฌ๋ฆฌ๋๋ผ๋ ๋ฉ๋ชจ๋ฆฌ๋ ๊ฒฐ๊ตญ ๊ฐ๋ ์ฐจ๊ฒ ๋๊ณ , ์ฌ๋ผ์์๋ ํ์ด์ง๊ฐ ์ฌ์ฉ์ด ๋ค ๋ ํ์๋ ์๋ฆฌ๋ง ์ฐจ์งํ๊ณ ์์ ์ ์๋ค.
- ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฐ๋์ฐจ๋ฉด, ์ถ๊ฐ๋ก ํ์ด์ง๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด์ ์์ฐ๋ ํ์ด์ง๋ outํ๊ณ ํด๋น ๊ณต๊ฐ์ ํ์ฌ ํ์ํ ํ์ด์ง๋ฅผ in ์์ผ์ผ ํ๋ค. ์ด๋, ์ด๋ค ํ์ด์ง๋ฅผ out ์ํฌ์ง ์ ํด์ผ ํ๋ค.
- ์์ ์ด ๋์ง ์๋ ํ์ด์ง๋ฅผ ์ ํํด์ผ ์ข๋ค. ๋ง์ฝ, ์์ ๋๋ฉด ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์์ ๋ด๋ณด๋ผ ๋, ํ๋๋์คํฌ์์ ๋ ์์ ํด์ผ ํ๋ฏ๋ก ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฐ๋ค.
- ์ด๋ฌํ ์ํฉ์์ ์ ์ ํ ํ์ด์ง ๊ต์ฒด๋ฅผ ์ํด ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๋ค.
- ์ด์์ฒด์ ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์๊ฒ ๊ฐ์ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ง ์๊ณ ๋ช๋ช ํ๋ก๊ทธ๋จ์๊ฒ ์ง์ค์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ ํ, ์๊ฐ์ด ํ๋ฅด๋ฉด ์ด๋ค์๊ฒ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ํ์ฌ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ๋ค์๊ฒ ๋ค์ ์ง์ค์ ์ผ๋ก ํ ๋นํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
- CPU๋ฅผ ํ ๋น๋ฐ์ ๋น์ฅ ์ํํด์ผ ํ ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋๊ณ ๊ทธ๋ ์ง ์์ ๋ถ๋ถ์ ๋์คํฌ์ ์ค์ ์์ญ์ ๋ด๋ ค๋์๋ค๊ฐ ๋ค์ ํ์ํด์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ์๋ ๋ถ๋ถ๊ณผ ๊ต์ฒดํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ์ด๋ฅผ ํตํด ํ๋ก๊ทธ๋จ์ด ์๊ธฐ ์์ ๋ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ธ๋ค.
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก์ธ์ค๋ง๋ค ๊ฐ๊ฐ 0๋ฒ์ง๋ถํฐ ์์ํ๋ ์๊ธฐ ์์ ๋ง์ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ฉฐ, ์ด๋ค ๊ณต๊ฐ ์ค ์ผ๋ถ๋ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋๊ณ ์ผ๋ถ๋ ๋์คํฌ์ ์ค์ ์์ญ์ ์ ์ฌ๋๋ค. -> ์๊ตฌ ํ์ด์ง ๊ธฐ๋ฒ
[์๊ตฌ ํ์ด์ง]
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ์๊ตฌ ํ์ด์ง ๊ธฐ๋ฒ์ ํตํด ํ์ํ ํ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ณ ์ฌ์ฉํ์ง ์๋ ๋ถ๋ถ์ ๊ทธ๋๋ก ๋๋ค.
- ํน์ ํ์ด์ง์ ๋ํด CPU์ ์์ฒญ์ด ๋ค์ด์จ ํ์์ผ ํด๋น ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ฉฐ, ํ๋ฒ๋ ์ ๊ทผ๋์ง ์์ ํ์ด์ง๋ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ง ์๋๋ค.
- ์ด๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ฐ์ํ๊ณ ํ๋ก์ธ์ค ์ ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋๋ฐ ๋ค์๋ ์ ์ถ๋ ฅ ์ค๋ฒํค๋๊ฐ ๊ฐ์ํ๋ฉฐ ์๋ต์๊ฐ์ด ๋จ์ถ๋๋ค.
- ์ ํจ, ๋ฌดํจ ๋นํธ๋ฅผ ๋์ด ๊ฐ ํ์ด์ง๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๋์ง ํ์ํ๋ค.
- ์ ํจ : ํ์ด์ง๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋จ.
- ๋ฌดํจ : ํ์ด์ง๊ฐ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฒฝ์ฐ์ด๊ฑฐ๋ ๊ทธ ํ์ด์ง๊ฐ ์ํ ์ฃผ์ ์์ญ์ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ
- CPU๊ฐ ์ฐธ์กฐํ๋ ค๋ ํ์ด์ง๊ฐ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์์ง ์์ ๋ฌดํจ๋ก ์ธํ
๋์ด ์๋ ๊ฒฝ์ฐ๋ฅผ
'ํ์ด์ง ๋ถ์ฌ'
๊ฐ ์ผ์ด๋ฌ๋ค๊ณ ํ๋ค.
[ํ์ด์ง ๊ต์ฒด]
- ํ์ด์ง ๋ถ์ฌ๊ฐ ๋ฐ์ํ๋ฉด ์์ฒญ๋ ํ์ด์ง๋ฅผ ๋์คํฌ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฝ์ด์์ผ ํ๋ค. ์ด๋ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ๋น ํ๋ ์์ด ์กด์ฌํ์ง ์์ ์ ์๋ค.
- ์ด ๊ฒฝ์ฐ, ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์๋ ํ์ด์ง ์ค ํ๋๋ฅผ ๋์คํฌ๋ก ์ซ์๋ด๊ณ ๋ฉ๋ชจ๋ฆฌ์ ๋น ๊ณต๊ฐ์ ํ๋ณดํ๋ ์์ ์ด ํ์ํ๋ค. ์ด๋ฅผ ํ์ด์ง ๊ต์ฒด๋ผ๊ณ ํ๋ค.
- ํ์ด์ง ๊ต์ฒด๋ฅผ ํ ๋, ์ด๋ค ํ๋ ์์ ์๋ ํ์ด์ง๋ฅผ ์ซ์๋ผ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ด๋ผ ํ๋ฉฐ, ๋ชฉํ๋ ํ์ด์ง ๋ถ์ฌ์จ์ ์ต์ํํ๋ ๊ฒ์ด๋ค.
ํ์ด์ง ๋ถ์ฌ ๋ฐ์ -> ์๋ก์ด ํ์ด์ง๋ฅผ ํ ๋นํด์ผ ํ๋ค. -> ํ์ฌ ํ ๋น๋ ํ์ด์ง(๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์๋ ํ์ด์ง) ์ค ์ด๋ค ๊ฒ์ ๊ต์ฒดํ ์ง ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ
- FIFO(First in First out) ์๊ณ ๋ฆฌ์ฆ
- ํ์ด์ง ๊ต์ฒด์ ๋ฉ๋ชจ๋ฆฌ์ ๋จผ์ ์ฌ๋ผ์จ ํ์ด์ง๋ฅผ ๋จผ์ ๋ด๋ณด๋ด๋ ์๊ณ ๋ฆฌ์ฆ
- ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก, ํนํ ์ด๊ธฐํ ์ฝ๋์์ ์ ์ ํ ๋ฐฉ๋ฒ์ด๋ค.
- ๋จ์
- ํ์ด์ง์ ํฅํ ์ฐธ์กฐ ๊ฐ๋ฅ์ฑ์ ๊ณ ๋ คํ์ง ์๊ณ , ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ค์ด์จ ์์๋๋ก ๋ด์ซ์ ๋์์ ์ ์ ํ๊ธฐ ๋๋ฌธ์ ๋นํจ์จ์ ์ธ ์ํฉ์ด ๋ฐ์ํ ์ ์๋ค.
- ๋น๋ ์ด๋์ ๋ชจ์ ํ์์ด ๋ฐ์ํ ์ ์๋ค. (ํ์ด์ง ํ๋ ์ ์๊ฐ ๋ง์ผ๋ฉด(๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ) ํ์ด์ง ๋ถ์ฌ์๊ฐ ์ค์ด๋๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด์ง๋ง, ํ์ด์ง ํ๋ ์ ์๋ฅผ ์ฆ๊ฐ์์ผฐ์์๋ ํ์ด์ง ๋ถ์ฌ๊ฐ ๋ ๋ง์ด ์ผ์ด๋๋ ํ์์ ์๋ฏธํ๋ค.)
- ์ต์ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ(Optimal Page Replacement)
- ์์ผ๋ก ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ๋ฐฉ๋ฒ
- ๋ฏธ๋์ ์ด๋ค ํ์ด์ง๊ฐ ์ด๋ ํ ์์๋ก ์ฐธ์กฐ๋ ์ง ๋ฏธ๋ฆฌ ์๊ณ ์๋ค๋ ์ ์ ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ํ๋ฏ๋ก ํ์ค์ ์ผ๋ก ๊ตฌํ์ด ์ด๋ ต๋ค.
- ํ์ด์ง ๋ถ์ฌ์จ์ด ๊ฐ์ฅ ๋ฎ์ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
- LRU ์๊ณ ๋ฆฌ์ฆ(Least Recently Used)
- ์ต๊ทผ์ ์ฌ์ฉํ์ง ์์ ํ์ด์ง๋ฅผ ๊ฐ์ฅ ๋จผ์ ๋ด๋ณด๋ด๋ ๋ฐฉ๋ฒ
- ์ต๊ทผ์ ์ฌ์ฉํ์ง ์์์ผ๋ฉด, ๋์ค์๋ ์ฌ์ฉ๋์ง ์์ ๊ฒ์ด๋ผ๋ ์์ด๋์ด์์ ๋์๋ค.
- OPT์ ๊ฒฝ์ฐ ๋ฏธ๋ ์์ธก์ด์ง๋ง, LRU์ ๊ฒฝ์ฐ๋ ๊ณผ๊ฑฐ๋ฅผ ๋ณด๊ณ ํ๋จํ๋ฏ๋ก ์ค์ง์ ์ผ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅํ ์๊ณ ๋ฆฌ์ฆ (์ค์ ๋ก๋ ์ต๊ทผ์ ์ฌ์ฉํ์ง ์์ ํ์ด์ง๋ ์์ผ๋ก๋ ์ฌ์ฉํ์ง ์์ ํ๋ฅ ์ด ๋๋ค.)
- OPT๋ณด๋ค๋ ํ์ด์ง ๊ฒฐํจ์ด ๋ ์ผ์ด๋ ์ ์์ง๋ง, ์ค์ ๋ก ์ฌ์ฉํ ์ ์๋ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์์๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค.
- LFU ์๊ณ ๋ฆฌ์ฆ(Least Frequently Used)
-
ํ์ด์ง์ ์ฐธ์กฐ ํ์๋ก ๊ต์ฒดํ ํ์ด์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ
-
์ฆ, ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์กด์ฌํ๋ ํ์ด์ง ์ค์์ ๊ณผ๊ฑฐ์ ์ฐธ์กฐ ํ์๊ฐ ๊ฐ์ฅ ์ ์๋ ํ์ด์ง๋ฅผ ๋ด์ซ๊ณ ๊ทธ ์๋ฆฌ์ ์๋ก ์ฐธ์กฐ๋ ํ์ด์ง๋ฅผ ์ ์ฌํ๋ค.
-
๋จ์
- ์๊ฐ์ ๋ฐ๋ฅธ ํ์ด์ง ์ฐธ์กฐ์ ๋ณํ๋ฅผ ๋ฐ์ํ์ง ๋ชปํ๊ณ LRU๋ณด๋ค ๊ตฌํ์ด ๋ณต์กํ๋ค.
-
LRU, LFU ์๊ณ ๋ฆฌ์ฆ์ ํ์ด์ง์ ์ต๊ทผ ์ฐธ์กฐ ์๊ฐ ๋ฐ ์ฐธ์กฐ ํ์๋ฅผ ์ํํธ์จ์ด์ ์ผ๋ก ์ ์งํด์ผ ํ๋ฏ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์ด์์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋ค.
- ํด๋ญ ์๊ณ ๋ฆฌ์ฆ(NRU : Not Recently Used, NUR : Not Used Recently)
-
ํ๋์จ์ด์ ์ธ ์ง์์ ๋ฐ์ LRU์ LFU ์๊ณ ๋ฆฌ์ฆ์์ ๋ฐ์ํ ์๊ฐ์ ์ธ ์ค๋ฒํค๋๋ฅผ ์ค์ธ ๋ฐฉ์์ด๋ค.
-
LRU๋ฅผ ๊ทผ์ฌ์ํจ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํ๋ฉฐ, ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ ํ์ด์ง ์ค ํ๋๋ฅผ ๊ต์ฒดํ๋ค.
-
์ต๊ทผ์ ์ฐธ์กฐ๋์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒด ๋์์ผ๋ก ์ ์ ํ๋ ์ธก๋ฉด์์ LRU์ ๋น์ทํ์ง๋ง ๊ต์ฒด๋๋ ํ์ด์ง์ ์ฐธ์กฐ ์์ ์ด ๊ฐ์ฅ ์ค๋๋๋ค๋ ๊ฒ์ ๋ณด์ฅํ์ง ๋ชปํ๋ค.
-
์ฐธ์กฐ ๋นํธ(Reference Bit)์ ๋ณํ ๋นํธ(Modified Bit, Dirty Bit)๋ฅผ ์ฌ์ฉํ๋ค.
- ์ฐธ์กฐ ๋นํธ
- ํ์ด์ง๊ฐ ์ฐธ์กฐ๋ ๋, 1๋ก ์๋ ์ธํ ๋๋ค.
- ํ์ด์ง๊ฐ ์ฐธ์กฐ๋์ง ์์์ ๋๋ 0์ด ๋๋ฉฐ ํ์ด์ง๋ ๊ต์ฒดํ๋ค.
- ๋ณํ ๋นํธ
- ํ์ด์ง ๋ด์ฉ์ด ๋ณ๊ฒฝ๋์์ ๋, 1๋ก ์ง์ ํ๋ค.
- ํ์ด์ง ๋ด์ฉ์ด ๋ณ๊ฒฝ๋์ง ์์์ ๋๋ 0์ผ๋ก ์ง์ ํ๋ค.
- ์ฐธ์กฐ ๋นํธ
-
์ด ์๊ณ ๋ฆฌ์ฆ์ ํ๋์จ์ด์ ์์์ผ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ LRU์ ๋นํด ๊ต์ฒด ํ์ด์ง์ ์ ์ ์ด ํจ์ฌ ๋น ๋ฅด๊ฒ ๊ฒฐ์ ๋๋ค.
-
๋ฐ๋ผ์ ๋๋ถ๋ถ์ ์์คํ ์์ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํด๋ญ ์๊ณ ๋ฆฌ์ฆ์ ์ฑํํ๋ค.