๊ฐ์๋ฉ๋ชจ๋ฆฌ์ ๋ํด ์์๋ณด๊ธฐ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋
๋ฉ๋ชจ๋ฆฌ
- ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก๊ทธ๋จ๊ณผ ํ๋ก๊ทธ๋จ ์ํ์ ํ์ํ ๋ฐ์ดํฐ ๋ฐ ์ฝ๋๋ฅผ ์ ์ฅํ๋ ๊ธฐ์ต ์ฅ์น
- ๋ฉ๋ชจ๋ฆฌ๋ ํฌ๊ฒ ๋ด๋ถ ๊ธฐ์ต์ฅ์น์ธ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ธ๋ถ ๊ธฐ์ต์ฅ์น์ธ ๋ณด์กฐ ๊ธฐ์ต์ฅ์น๋ก ๋ถ๋ฅ๋จ.
- ํ๋์จ์ด ๊ด์ ์์ ๋ฉ๋ชจ๋ฆฌ์ ์ข ๋ฅ๋ ๋ค์ ์ฌ์ง๊ณผ ๊ฐ์ด 4๊ฐ์ง๊ฐ ์กด์ฌํ๋ฉฐ DRAM(RAM, DDR4) ๋ฑ์ ๋ฉ๋ชจ๋ฆฌ์ CPU ์์ ์๋ ๋ ์ง์คํฐ์ ์บ์๋ฑ์ ์ฃผ๊ธฐ์ต์ฅ์น๋ผ๊ณ ํ๋ฉฐ SSD, HDD๋ ๋ณด์กฐ ๊ธฐ์ต์ฅ์น๋ก ๋ถ๋ฅ๋๋ค.

- CPU๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ๋ง ์ฐธ์กฐํ ์ ์๋ค(RAM).
- ์ฆ ์ฐ์ฐ์ ์ํด์๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ํด๋น ํ๋ก๊ทธ๋จ์ ์ ๋ณด๊ฐ ์ฌ๋ผ์์ผํ๋ค.
์ดํ์ ๋ฌธ์ ๋ก ๊ฐ์๋ฉ๋ชจ๋ฆฌ์ ๋ฑ์ฅโฆ
- ์ด์ฐฝ๊ธฐ ์ปดํจํฐ์์๋ ์ฌ์ฉ ๊ฐ๋ฅํ RAM์ ์ฉ๋์ด, ๊ฐ์ฅ ํฐ ์คํ ํ๋ก๊ทธ๋จ์ ์ฃผ์ ๊ณต๊ฐ๋ณด๋ค ์ปค์ผ ํ๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ค๋ฅ์ ์ํด ํด๋น ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์์์.
- ์ดํ ์ค๋ฒ๋ ์ด ๊ธฐ๋ฒ์ด ๋ฑ์ฅํ์ฌ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์์์ง๋ง ์ฌ์ ํ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค.
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ
- ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น์ ์ผ๋ถ๋ฅผ ์ฃผ ๊ธฐ์ต ์ฅ์น๋ก ํ์ฉํ์ฌ ์ค์ ์ฃผ๊ธฐ์ต์ฅ์น๋ณด๋ค ํฐ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ
- ์ด๋ค ํ๋ก์ธ์ค๊ฐ ์คํ๋ ๋ ๋ฉ๋ชจ๋ฆฌ์ ํด๋น ํ๋ก์ธ์ค ์ ์ฒด๊ฐ ์ฌ๋ผ๊ฐ์ง ์๊ณ ์คํ์ ํ์ํ ์ผ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ ์ฌ๋ผ๊ฐ
- ํ๋ก์ธ์ค๋ค์ ๋ด์ฉ(ํ์ด์ง) ์ค ํ์ฌ ์คํ์์ ๋ ์ค์ํ ๊ฒ๋ค์ ํ๋ ๋์คํฌ์ ๊ณต๊ฐ์ ์ฎ๊ฒจ ๋์์ผ๋ก์จ ์ ์ ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ํฐ ํจ์จ์ ๋
Q. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ๊ทธ๋ผ ๊ฐ๋์๋ ์ธ ์ ์๋์?
A. ์๋์ ํน์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ํ๋์จ์ด์ธ MMU(Memory Management Unit)์ ๊ฐ์ถ๊ณ ์์ด์ผ ํฉ๋๋ค.
ํ๋๋์คํฌ์ ๋ด์ฉ(ํ์ด์ง)๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ ๋ ํ์ด์ง ํ
์ด๋ธ์ ์ฌ์ฉํ์ฌ ์ฐธ์กฐํ๋ค.
ํ์ด์ง
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ ํ๋ก์ธ์ค๋ฅผ ์ผ์ ํฌ๊ธฐ๋ก ๋๋ ๋จ์
์๊ตฌ ํ์ด์ง (Demand Paging)
๋ฌผ๋ฆฌ ์ฃผ์์ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ๋ฆฌ์ง ์๊ณ CPU๊ฐ ์์ฒญํ ๋ ํ๋ก์ธ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์์ ์ฌ๋ฆผ

์ด๋ก ์ธํ ๊ธ์ ์ ํจ๊ณผ
- ํ์ฌ ํ์ํ ํ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ฐ์ํ๋ค.
- ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ์ ์ฝ์์ ๋ฒ์ด๋ ์ ์๊ฒ ํด์ค๋ค.
- ํ๋ก์ธ์ค ์ ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ์ง ์๊ธฐ ๋๋ฌธ์ ์ ์ถ๋ ฅ์ ์ค๋ฒํค๋๊ฐ ์ค์ด๋ ๋ค.
ํ์ด์ง ํดํธ (Page Fault)
์์ ๊ฐ์ ์๊ตฌ ํ์ด์ง ๋ฐฉ์์ผ๋ก CPU๊ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ํ์ํ ํ์ด์ง๊ฐ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๊ฒ ๋๋๋ฐ ์ด๋ฅผ ํ์ด์ง ํดํธ๋ผ๊ณ ํฉ๋๋ค.
ํ์ด์ง ํดํธ๊ฐ ๋ฐ์ํ๋ฉด ์๋์ ๊ฐ์ ๊ณผ์ ์ด ์ผ์ด๋๋ค.

- invalid ํ์ด์ง์ ์ ๊ทผํ๋ฉด MMU๊ฐ trap์ ๋ฐ์ํ์ฌ ์ด์์ฒด์ ์ ์๋ฆฐ๋ค.
- ์ด์์ฒด์ ๋ CPU์ ๋์์ ์ ์ ๋ฉ์ถ๋ค.
- ์ด์์ฒด์ ๋ ์๊ตฌ๋ ํ์ด์ง๋ฅผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฐพ๋๋ค.
- ํด๋น ํ์ด์ง๋ฅผ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ๋น ํ๋ ์์ ๋ก๋ํ๋ค.
- ํ์ด์ง ํ ์ด๋ธ์ ์ต์ ํํ๋ค.
- ์ค๋จ๋์๋ CPU๋ฅผ ๋ค์ ์์ํ๋ค.
3๋ฒ ๊ณผ์ ์ ๊ฑฐ์ณค์ง๋ง โํ์ด์ง ํ
์ด๋ธ์ ์ฌ๋ฆด ๋น ํ๋ ์์ด ์์ ๊ฒฝ์ฐโ ? Page Replacement ์๊ณ ๋ฆฌ์ฆ
- FIFO: FIFO ๋ฐฉ์์ ๊ฐ์ฅ ๋จผ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ์ด์ง๋ฅผ ๋จผ์ ๋ด๋ณด๋ธ๋ค.
- OPT(Optimal replacement, ์ต์ ๊ต์ฒด): ๋ฏธ๋๋ฅผ ๋ณด๊ณ ์์ผ๋ก ๊ฐ์ฅ ์ฌ์ฉ ์๋ ํ์ด์ง๋ฅผ ๊ต์ฒดํด์ค๋ค.
- LRU (Least Recently Used): ์ต๊ทผ์ ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒดํด์ค๋ค.
- LFU (Least Frequently Used): ์ฌ์ฉ ๋น๋๊ฐ ๊ฐ์ฅ ์ ์ ํ์ด์ง๋ฅผ ๊ต์ฒดํด์ค๋ค.
์ฐธ๊ณ