โ . ์๋ก
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ค์์ฑ
์ปดํจํฐ ์์คํ ์ ์ฑ๋ฅ์
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก๊ทธ๋จ ์คํ, ๋ฐ์ดํฐ ์ ์ฅ,
๊ทธ๋ฆฌ๊ณ ์์คํ ์์ ์ฑ์ ์ ์งํ๋ ๋ฐ
ํ์์ ์ธ ์ญํ ์ ํฉ๋๋ค.
ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์ด๋
์์คํ ์ด ๋๋ ค์ง๊ฑฐ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
ํฌ์คํ ์ ๋ชฉ์
์ด ๊ธ์์๋ ์ด์ ์ฒด์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ๊ด๋ฆฌํ๋์ง,
์ฃผ์ ๊ฐ๋ ๊ณผ ๋ฉ์ปค๋์ฆ์ ์ค์ฌ์ผ๋ก ์ค๋ช ํฉ๋๋ค.
์ด๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ค์์ฑ์ ์ดํดํ๊ณ ,
์์คํ ์ฑ๋ฅ์ ์ต์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ค๋ง๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
โ ก. ๋ณธ๋ก
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ๋ฌด์์ธ๊ฐ?
์ด์ ์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ์ปดํจํฐ์ ๋ฌผ๋ฆฌ์ ๋ฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ํ ๋น, ์ถ์ , ํด์ ํ๋ ํ๋ก์ธ์ค์ ๋๋ค.
์ญํ :
- ํ๋ก๊ทธ๋จ ์คํ์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์ ๊ณต.
- ์ฌ๋ฌ ์์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ ์์ ๋ถ๋ฐฐ.
- ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ๋ณด์์ ๋ณด์ฅ.
์ด์ ์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฃผ์ ๊ฐ๋
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ (Virtual Memory)
- ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๋ ํ๋ ๋์คํฌ๋ฅผ ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ํ์ฉ.
- ํ๋ก๊ทธ๋จ์ด ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋ ์ด์์ผ๋ก ์คํ๋๋๋ก ์ง์.
- ํ์ด์ง ๊ต์ฒด(Page Replacement) ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํจ์จ์ ๊ด๋ฆฌ.
ํ์ด์ง (Paging)
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณ ์ ํฌ๊ธฐ์ ๋ธ๋ก(ํ์ด์ง)์ผ๋ก ๋๋์ด ๊ด๋ฆฌ.
- ๊ฐ ํ์ด์ง๋ ๋
๋ฆฝ์ ์ผ๋ก ์ ์ฅ๋์ด ๋ฉ๋ชจ๋ฆฌ ๋จํธํ๋ฅผ ๋ฐฉ์ง.
์ธ๊ทธ๋ฉํ ์ด์ (Segmentation)
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋
ผ๋ฆฌ์ ๋จ์(์ธ๊ทธ๋จผํธ)๋ก ๋๋.
- ์ฝ๋, ๋ฐ์ดํฐ, ์คํ ๋ฑ ๋ค์ํ ์ธ๊ทธ๋จผํธ๋ก ๊ตฌ๋ถํด ์ ์ฐ์ฑ ์ ๊ณต.
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ ๋ต
1) ๋จํธํ(Fragmentation) ํด๊ฒฐ ๋ฐฉ๋ฒ
- ๋ด๋ถ ๋จํธํ: ๊ณ ์ ํฌ๊ธฐ ๋ธ๋ก์ด ์ฌ์ฉ๋์ง ์์ ๊ณต๊ฐ ๋ญ๋น.
- ์ธ๋ถ ๋จํธํ: ๊ฐ์ฉ ๊ณต๊ฐ์ด ๋ถ์ฐ๋์ด ํฐ ๋ฉ๋ชจ๋ฆฌ ์์ฒญ์ ์ฒ๋ฆฌํ์ง ๋ชปํจ.
- ํด๊ฒฐ๋ฒ: ์์ถ(Compaction), ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฑ.
2) ์ค์ํ (Swapping)
- ์ฌ์ฉํ์ง ์๋ ํ๋ก์ธ์ค๋ฅผ ๋์คํฌ๋ก ๋ด๋ฆฌ๊ณ , ํ์ํ ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๊ธฐ์ .
- ์์คํ
์ฑ๋ฅ ์ ํ ๊ฐ๋ฅ์ฑ ์กด์ฌ.
3) ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ
- FIFO (First In First Out): ๊ฐ์ฅ ์ค๋๋ ํ์ด์ง๋ฅผ ๊ต์ฒด.
- LRU (Least Recently Used): ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒด.
- Optimal: ์์ผ๋ก ๊ฐ์ฅ ์ค๋ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒด(์ด๋ก ์ ๋ชจ๋ธ).
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ต์ ๊ธฐ์
NUMA (Non-Uniform Memory Access)
- ๋ฉํฐ์ฝ์ด ํ๋ก์ธ์ ํ๊ฒฝ์์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๋๋ฅผ ์ต์ ํํ๋ ๊ธฐ์ .
- ์ฝ์ด์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ๋ฌผ๋ฆฌ์ ๊ฑฐ๋ฆฌ ์ต์ํ.
์บ์ฑ (Caching)
- ๊ณ ์ ๋ฉ๋ชจ๋ฆฌ(Cache)๋ฅผ ์ฌ์ฉํด ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ.
- ์์คํ
์ฑ๋ฅ ํฅ์.
์ปจํ ์ด๋์ ๊ฐ์ํ ๊ธฐ์
- ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ๋ฉ๋ชจ๋ฆฌ ์์์ ํจ์จ์ ์ผ๋ก ๋ถ๋ฐฐ.
- Docker์ Kubernetes ๋ฑ์์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ค์ ์ ๋ .
โ ข. ๊ฒฐ๋ก
์ด์ ์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ์์
์์คํ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ ์ข์ฐํ๋ ์ค์ํ ์์์ ๋๋ค.
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ, ํ์ด์ง, ์ธ๊ทธ๋ฉํ ์ด์ ๊ฐ์ ๊ธฐ์ ๋ค์
๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ๊ธฐ ์ํ ํต์ฌ ๋ฉ์ปค๋์ฆ์ ๋๋ค.
์ค๋๋ ์ IT ํ๊ฒฝ์์๋ ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ์ดํดํ๋ ๊ฒ์ด
์ปดํจํฐ ์ฑ๋ฅ ์ต์ ํ์ ๋ฌธ์ ํด๊ฒฐ์ ์ค์ํ ๋ฐ๊ฑฐ๋ฆ์ด ๋ฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ๋์ฑ ์ฌํ์ ์ผ๋ก ๋ค๋ฃจ๋ ์ถ๊ฐ ํฌ์คํ ๋ ์์ ๋์ด ์์ผ๋ ๊ธฐ๋ํด์ฃผ์ธ์!
#์ด์์ฒด์ #๋ฉ๋ชจ๋ฆฌ๊ด๋ฆฌ #์ปดํจํฐ๊ธฐ์ด #IT๊ธฐ์ด #๋ฉ๋ชจ๋ฆฌ์ต์ ํ #์ด์์ฒด์ ์ดํด #๊ธฐ์ ๋ธ๋ก๊ทธ #์์คํ ๊ด๋ฆฌ #ํ๋ก์ธ์ค๊ด๋ฆฌ
์ด ๊ธ์ด ์ ์ฉํ๋ค๋ฉด ์ข์์์ ๊ณต์ ๋ถํ๋๋ฆฝ๋๋ค! ๐ ๋ค๋ฃจ๊ณ ์ถ์ ์ฃผ์ ๊ฐ ์๋ค๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์. ๐
```