๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์์คํ ์์ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ฅผ ์์ฉํ๊ธฐ ์ํด ์ฃผ๊ธฐ์ต์ฅ์น๋ฅผ ๋์ ์ผ๋ก ๋ถํ ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์ ์ด ํ์ํฉ๋๋ค. ์ด ๊ธ์์๋ ํ์ด์ง๊ณผ ์ธ๊ทธ๋จผํ ์ด์ ์ ๊ฐ๋ ๋ฐ ๊ทธ์ ๋ฐ๋ฅธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ํ๋ก๊ทธ๋จ ์ ์ฒด๊ฐ ํ๋์ ํฐ ๊ณต๊ฐ์ ์ฐ์์ ์ผ๋ก ํ ๋น๋์ด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ ๊ฐ์ง ์ฃผ์ ๊ธฐ๋ฒ์ด ์์ต๋๋ค.
์ฃผ๊ธฐ์ต์ฅ์น๋ฅผ ๊ณ ์ ๋ ํํฐ์ ์ผ๋ก ๋ถํ ํ์ฌ ๊ฐ ํํฐ์ ์ ํ๋์ ํ๋ก์ธ์ค๋ฅผ ํ ๋นํฉ๋๋ค. ์ด ๋ฐฉ์์ ๋ด๋ถ ๋จํธํ(Internal Fragmentation)๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. ์ฆ, ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ํํฐ์ ์ด ํ๋ก์ธ์ค ํฌ๊ธฐ๋ณด๋ค ํด ๊ฒฝ์ฐ, ์ฌ์ฉ๋์ง ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค.
๋์ ๋ถํ ๊ธฐ๋ฒ์ ํํฐ์ ๋ค์ด ๋์ ์ผ๋ก ์์ฑ๋์ด ํ๋ก์ธ์ค์ ํฌ๊ธฐ์ ๋ง๋ ํํฐ์ ์ ์ ์ฌ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ๊ฒฝ์ฐ ์ธ๋ถ ๋จํธํ(External Fragmentation)๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐ๋ฉํ ๋, ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก๋ค์ด ์๋ก ๋จ์ด์ ธ ๋น์ฐ์์ ์ผ๋ก ๋จ๊ฒ ๋์ด ์๋ก์ด ํ๋ก์ธ์ค๊ฐ ํ์ํ ๋งํผ์ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐพ๊ธฐ ์ด๋ ค์ด ์ํฉ์ ์ด๋ํฉ๋๋ค.
๋ถ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ํ๋ก๊ทธ๋จ์ ์ผ๋ถ๊ฐ ์๋ก ๋ค๋ฅธ ์ฃผ์ ๊ณต๊ฐ์ ํ ๋น๋ ์ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋จํธํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์ฌ๋ฌ ์กฐ๊ฐ์ผ๋ก ๋๋์ด์ ธ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์๊ฒ ๋๋ ํ์์ ๋๋ค.
์ธ๊ทธ๋จผํธ๋ ํ๋ก๊ทธ๋จ์ ๋ ผ๋ฆฌ์ ์ฃผ์ ๊ณต๊ฐ์ ์๋ฏธ์ ์ผ๋ก ๋๋์ด ๊ด๋ฆฌํ๋ ๋จ์์ ๋๋ค. ๊ฐ ์ธ๊ทธ๋จผํธ๋ ๋ ๋ฆฝ์ ์ธ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ์ง๋ฉฐ, ํ๋ก์ธ์ค์ ์ฌ๋ฌ ๋ถ๋ถ์ ๊ฐ๊ฐ์ ์ธ๊ทธ๋จผํธ๋ก ๊ตฌ๋ถํ ์ ์์ต๋๋ค. ์ธ๊ทธ๋จผํธ๋ ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋์ง ์๊ณ , ํ๋ก๊ทธ๋จ์ ๊ฐ ๋ถ๋ถ์ ๋ฐ๋ผ ํฌ๊ธฐ๊ฐ ๋ฌ๋ผ์ง๋๋ค. ๋ํ, ๊ฐ ์ธ๊ทธ๋จผํธ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ํ๋์ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฐฐ์น๋์ง๋ง, ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์์๋ ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋์ง ์์๋ ๋ฉ๋๋ค.
ํ์ด์ง ํ ์ด๋ธ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ํ์ด์ง์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ํ์ด์ง ํ๋ ์ ๊ฐ์ ๋งคํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋๋ค.
ํ์ด์ง ํดํธ(Page Fault)๋ ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ๋ ค๋ ๊ฐ์ ์ฃผ์์ ํด๋นํ๋ ํ์ด์ง๊ฐ ํ์ฌ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ์ง ์์ ๋ ๋ฐ์ํฉ๋๋ค.
์ด ๊ธ์ ํตํด ํ์ด์ง๊ณผ ์ธ๊ทธ๋จผํ ์ด์ ์ ๊ฐ๋ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ๋ํ ์ดํด๋ฅผ ๋์ผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ํจ์จ์ฑ์ ๋์ด๋ ๋ค์ํ ๊ธฐ๋ฒ๋ค์ด ์์์ ๊ธฐ์ตํด ์ฃผ์ธ์! ๐
์ด๋ฐ ์๋ฃ๋ฅผ ์ฐธ๊ณ ํ์ด์.
[1] ํฐ์คํ ๋ฆฌ - (12) ํ์ด์ง & ์ธ๊ทธ๋จผํ
์ด์
- ์ฝ๋ฅด์์นด's Blog (https://korshika.tistory.com/154)
[2] Gyoogle - ํ์ด์ง๊ณผ ์ธ๊ทธ๋จผํ
์ด์
| ๐จ๐ปโ๐ป Tech Interview (https://gyoogle.dev/blog/computer-science/operating-system/Paging%20and%20Segmentation.html)
[3] ๋๋ฆฌ๋๋ผ๋ ๊พธ์คํ๊ฒ - [์ด์์ฒด์ ] ํ์ด์ง๊ณผ ์ธ๊ทธ๋ฉํ
์ด์
- ๋๋ฆฌ๋๋ผ๋ ๊พธ์คํ๊ฒ (https://steady-coding.tistory.com/524)
[4] velog - [OS] ํ์ด์ง๊ณผ ์ธ๊ทธ๋ฉํ
์ด์
, ๋จํธํ (https://velog.io/@kku64r/paging)