๊ฐ์
- ์ด๊ธฐ ์ปดํจํฐ ์์คํ ์์ ์ฃผ๊ธฐ์ต์ฅ์น(main memory) ๋ ๋น์ผ ์ฅ๋น์๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ธ ์ฌ์ฉ, ๊ด๋ฆฌ๋ฅผ ์ํ ๋ ธ๋ ฅ์ด ๊ณ์ ๋์๋ค.
- ์ฃผ๊ธฐ์ต ์ฅ์น์๋ ํ๋ก๊ทธ๋จ๊ณผ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ด์ผ ํ๋ค. ์ง์ ์คํ๋๊ณ ์ฒ๋ฆฌ๋์ด์ผ ํ๋ ๋์์ด๊ธฐ ๋๋ฌธ.
- ๊ทธ๋ฌ๋ ์ฃผ๊ธฐ์ต์ฅ์น ์ฉ๋์ ์ ํ๋์ด ์๊ณ , ๋น์ธ๋ค. ์ด์ ์๋์ ์ผ๋ก ์ ๋ ดํ๊ณ ์ฉ๋์ด ํฐ ์๊ธฐํ ์ด๋ธ, ํ๋ ๋์คํฌ, ํ๋์ ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น๊ฐ ์ฌ์ฉ๋์๋ค.
- ์ฃผ๊ธฐ์ต์ฅ์น๋ฅผ ์ต์ ์ผ๋ก ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ, ๊ด๋ฆฌํ๋ ์ด๊ธฐ ์ปดํจํฐ ์์คํ ์์๋ถํฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ฅด๊ธฐ ๊น์ง ๋ค์ํ ๊ธฐ๋ฒ์ด ๋ฐ์ ๋์ด์๋ค.
์ด์ฐฝ๊ธฐ: ๋จ์ผ ์ฌ์ฉ์ ์ ์ฉ ์์คํ
์ค๊ธฐ: ์ค๊ธฐ์ต์ฅ์น ๋ค์ค ํ๋ก๊ทธ๋๋ฐ
์ดํ: ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ค์ค ํ๋ก๊ทธ๋๋ฐ
์ ์ด๋ฅด๊ธฐ ๊น์ง ๋ฐ์ ํด์จ ๋ด์ฉ์ ์๋ ์งง๊ฒ ์ ๋ฆฌํ๊ฒ ๋ค.
๋จผ์ ๊ด๋ จ ๊ฐ๋ ๋ถํฐ ๋ช๊ฐ์ง ์ ๋ฆฌํด๋ณด๊ฒ ๋ค.
์ฃผ์ ๋ฐ์ธ๋ฉ & ๋ ผ๋ฆฌ์ ์ฃผ์ & ๋ฌผ๋ฆฌ์ ์ฃผ์
- ๋์คํฌ์ ์ด์ง ํ์ผ ํํ๋ก ์ ์ฅ๋ ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ ์ํด ์ฃผ๊ธฐ์ต ์ฅ์น์ ์ ์ฌ๋์ด์ 'ํ๋ก์ธ์ค'๊ฐ ๋์ด์ผ ํ๋ค.
- ์ด๋ ์ฃผ๊ธฐ์ต ์ฅ์น์ ์ ์ฌ ๋๋ฉด RAM ์์์์ '๋ฌผ๋ฆฌ์ ์ฃผ์(physical address)'๊ฐ ์๊ธด๋ค.
- ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์ด๋ฅผ ๋ณ์๋ก ํํํ '๋ ผ๋ฆฌ์ ์ฃผ์(logical address)' ๋ฅผ ์ฌ์ฉํ๋ค. cpu ๊ฐ ๋ง๋๋ ์ฃผ์์. ex. 0x0040
- ์ฌ๊ธฐ์ ๋ณด์กฐ ์ฅ์น์ธ ๋์คํฌ ์์์์ ์ฃผ์๋ ์ค์ํ์ง ์๋ค. ๊ทธ๋ฅ ์ ์ฅ์์ผ๋ฟ. ํ๋ก๊ทธ๋จ์ด '์คํ'๋๊ธฐ ์ ๊น์ง '๋จ์ํ ํ์ผ' ์ํ์.
- CPU ๋ '๋ฌผ๋ฆฌ์ ์ฃผ์'์๋ง ์ ๊ทผํ ์ ์๊ธฐ ํ๋ก์ธ์ค์ ๋ ผ๋ฆฌ์ ์ฃผ์๋ก๋ RAM ์์์์ ์ ํํ ์์น๋ฅผ ์ ์ ์๊ณ ๋ ผ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ ์ฃผ์๋ก ๋ณํํ๋ ์์ ์ด ์ฃผ์ ๋ฐ์ธ๋ฉ (address binding) ์ด๋ค.
์ฃผ์ ๋ฐ์ธ๋ฉ์ด ๋ฐ์๋๋ ์์ ์ ์๋ 3๊ฐ์ง๋ก ๊ตฌ๋ถ๋๋ค.
(1) ์ปดํ์ผ ์์ : ์ปดํ์ผ ํ ๋ ๊ฒฐ์ ๋๋ฉฐ ์ ์ฌ๋ ๋ฉ๋ชจ๋ฆฌ์ ์์น๋ฅผ ๋ฏธ๋ฆฌ ์๋ ๊ฒฝ์ฐ์ ๋ฐ์. ์ ์ฌ์ฉ ์ํ๋ค๊ณ ํจ.
(2) ์ ์ฌ ์์ : ๋ฏธ๋ฆฌ ์์น๋ฅผ ๋ชจ๋ฅด๋ฉด, ์ผ๋จ ์ด์ง ์ฝ๋๋ฅผ ์ฌ๋ฐฐ์น ๊ฐ๋ฅ ์ฝ๋๋ก ๋ง๋ค๊ณ , ๊ธฐ์ต์ฅ์น์ ์ ์ฌ๋๋ ์๊ฐ ์ ์ฌ๊ธฐ(loader)์ ์ํด ์ด๋ค์ง๋ค.
(3) ์คํ ์์ : ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ์ค์ ์ฃผ์๊ฐ ๋ฐ๋๋ฉด (์ธ๊ทธ๋จผํธ์์ ์ธ๊ทธ๋จผํธ๋ก ์ด๋) ์ฃผ์ ๋ฐ์ธ๋ฉ์ด ์ด๋ค์ง๋ค. (๊ฐ์ ๋ฉ๋ชจ๋ฆฌ, paging ๋ฑ), ๋ ผ๋ฆฌ์ ์ฃผ์์ ๋ฌผ๋ฆฌ์ ์ฃผ์๊ฐ ๋ค๋ฅด๋ค. MMU(Memory Management Unit) ์ด ์ํํ๋ค.
๋๋ถ๋ถ์ OS ์์๋ ์คํ์ ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ๋ค.
์ด๋ '์ฌ๋ฐฐ์น ๋ ์ง์คํฐ'๊ฐ ๋ ผ๋ฆฌ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ฃผ์๋ก ๋ณํ (๋ ผ๋ฆฌ์ฃผ์ ๋ํ๊ธฐ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ํด์ค )ํจ !
=> ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ด์ ์ ์ฌ์ฉ๋ ๊ธฐ๋ณธ๋ชจ๋ธ.
=> ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์๋ ํ๊ฒฝ์ด๋ ๋จ์ํ os ๊ตฌ์กฐ์์ ์ฌ์ฉ.
๊ธฐ์ต์ฅ์น์ ๊ณ์ธต ๊ตฌ์กฐ ๋ฐ ๊ด๋ฆฌ ๊ธฐ๋ฒ
๊ธฐ์ต์ฅ์น์ ๊ณ์ธต ๊ตฌ์กฐ
์ฃผ๊ธฐ์ต ์ฅ์น(RAM) - ๋ณด์กฐ๊ธฐ์ต ์ฅ์น (ํ๋ ๋์คํฌ, CD-ROM ๋ฑ)
- ํ๋ก๊ทธ๋จ๋ค๊ณผ ๋ฐ์ดํฐ๋ ๊ธฐ์ต์ฅ์น ๊ณ์ธต์ฌ์ด๋ฅผ ๋น๋ฒํ๊ฒ ์๋ณตํ๋ฉด์ ์ํ๋จ.
- cpu ์ ๋ญ๋น๋ก ์ด์ด์ง.
- ๋ฐ๋ผ์ ์บ์(cache) ์ ๊ฐ์ ๋ถ๊ฐ์ ์ธ ๋จ๊ณ๋ฅผ ์ถ๊ฐํจ
- ์ฃผ๊ธฐ์ต์ฅ์น๋ณด๋ค ์ ๊ทผ ์๋๊ฐ ํจ์ฌ ๋น ๋ฅด๋ค.
- ๋น๋ก ์๋ณต ๋จ๊ณ๊ฐ ํ๊ฐ ๋์ด๋ฌ์ง๋ง, ๊ณ ์๋๋ก ๋ฐ์ดํฐ, ํ๋ก๊ทธ๋จ์ ์ฎ๊น์ผ๋ก์จ ram ๋ณด๋ค ๋น ๋ฅด๊ฒ ์ผํจ.
- ์ด๋ฅผ ์ค๋ฒํค๋ ์ทจ๊ธํ๊ธฐ์ ์ฑ๋ฅ ๊ตฟ.
- cpu ๋ด๋ถ์๋ ๋ ์ง์คํฐ ๋ผ๋ ๊ธฐ์ต ์ฅ์น๊ฐ ์๋ค. cpu๊ฐ ๋ช ๋ น์ด ์คํํ๋ฉด ์ฆ๊ฐ์ ์ผ๋ก ์คํ๋จ. ์บ์๋ ๋จ๊น์ง ๊ฐ๋ ๊ฒ๋ ๋๋ ค์ ์กด์ฌํ๋ ์ฅ์น.
๊ด๋ฆฌ ๊ธฐ๋ฒ
1) ์ธ์ถ ๊ธฐ๋ฒ (fetch) : ์ฃผ๊ธฐ์ต ์ฅ์น์ ์ ์ฌํ ๋ค์ ํ๋ก๊ทธ๋จ, ๋ฐ์ดํฐ๋ฅผ ์ธ์ ๊ฐ์ ธ์ฌ๊ฒ์ธ๊ฐ ?
- ์๊ตฌ ์ธ์ถ: ์คํ ํ๋ก๊ทธ๋จ์ ์ํด ์ด๋ค ํ๋ก๊ทธ๋จ์ด๋ ๋ฐ์ดํฐ๊ฐ ์ฐธ์กฐ๋๋ ์๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น๋ก ์ฎ๊น. ์ธ์ ์ด๋์ ๋ถ๊ธฐjump ๋ ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ
- ์์ ์ธ์ถ : ์์ผ๋ก ์๊ตฌ๋ ๊ฐ๋ฅ์ฑ์ด ํฐ ๋ฐ์ดํฐ, ํ๋ก๊ทธ๋จ์ ์ฃผ๊ธฐ์ต์ฅ์น๋ก ์ฎ๊น.
2) ๋ฐฐ์น ๊ธฐ๋ฒ (placement) : ๋ณด์กฐ๊ธฐ์ต ์ฅ์น์์ RAM์ผ๋ก ๋ถ๋ ค์จ(์ธ์ถ=fetch) ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ์ฃผ๊ธฐ์ต์ฅ์น ์ด๋์ ์์น์ํฌ๊ฒ์ธ๊ฐ ์ ํ๋ ๊ธฐ๋ฒ. (first, best, worst) ๋ก ๋๋จ.
3) ๊ต์ฒด ๊ธฐ๋ฒ (replacement): ์๋ก fetch ๋ ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ์ ์ฅํ๊ธฐ ์ํด์ ์ด๋ค ํ๋ก๊ทธ๋จ์ด๋ ๋ฐ์ดํฐ๋ฅผ ram ์์ ์ ๊ฑฐํ ๊ฒ์ธ๊ฐ ๊ฒฐ์ ํ๋ ๊ธฐ๋ฒ.
์, ์ด์ ์ด๊ธฐ ์ปดํจํฐ ์์คํ ์์์ ๊ธฐ์ต์ฅ์น ๊ด๋ฆฌ ๋ฐฉ๋ฒ ๋ณํ๋ฅผ ์ดํด๋ณด์. ๋ณธ๊ฒฉ์ ์ผ๋ก.
์ฒซ๋ฒ์งธ, ๋จ์ผ ์ฌ์ฉ์ ์ฐ์ ๊ธฐ์ต์ฅ์น ํ ๋น
- ์ด๊ธฐ ์ปดํจํฐ ์์คํ ์ ์์์ ์๊ฐ์ ํ ์ฌ์ฉ์๋ง์ด ์์คํ ์ ์ฌ์ฉํ๋๋ก ํ๋ฝํ๋ค.
- ๋์ค(dos) ์๋ ๊ฐ์ ๋จ์ํ os ๋ชจ๋ธ ๋์ ์ด์ผ๊ธฐ.
- ์ฌ์ฉ์๋ ๋ชจ๋ ์์คํ ์ ๋ง๋๋ก ์ฌ์ฉํจ.
- root ์ ์ ๋ฑ์ ์ฌ์ฉ์ ๊ถํ ๊ตฌ๋ถ์ด๋์ ์๊ด์์.
- ์ด์์ฒด์ ์์ฒด๊ฐ ํ ๋ช ๋ง ์ธ ์ ์๊ฒ ์ค๊ณ๋ ๊ตฌ์กฐ.
- ์ค๋ฒ๋ ์ด: ํฐ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ์กฐ๊ฐ์ผ๋ก ๋๋ ์, ํ์ํ ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๊ณ ๋๋จธ์ง๋ ๋์คํฌ์ ๋จ๊ฒจ๋๋ ๊ธฐ๋ฒ
- ์์คํ ๋ณดํธ: ์ด์์ฒด์ ๊ฐ ์์คํ ์์(๋ฉ๋ชจ๋ฆฌ, CPU, ํ์ผ ๋ฑ)์ ์๋ชป๋ ์ ๊ทผ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ๊ธฐ๋ฅ
- ๊ฒฝ๊ณ ๋ ์ง์คํฐ: ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๋ฒ์๋ฅผ ์ง์ ํด์ฃผ๋ ๋ ์ง์คํฐ. ์๋ก์ ๋ฉ๋ชจ๋ฆฌ ์นจ๋ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ๊ธฐ๋ฒ์ ์ถ๋ฐ์ .
๋๋ฒ์งธ, ๊ณ ์ ๋ถํ (fixed partition) ๊ธฐ์ต ์ฅ์น ํ ๋น
- ๋จ์ผ ์ฌ์ฉ์ ์ฒด์ ์์๋ cpu ์ ์ ํด ์๊ฐ์ด ๊ธธ์ด์ง๊ณ ์์ ๋ญ๋น๊ฐ ์ฌํด์ง.
- ์ด์ ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์์คํ ์ด ๊ตฌํ๋จ.
- ์ค์ ๋ก ๋์์ ์ฌ๋ฌ๊ฐ๋ฅผ ํ๋ ๊ฒ์ด ์๋๊ณ ๋น ๋ฅด๊ฒ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ์ฎ๊ฒจ๋ค๋๋ฉด์ ์์ ํ๋๊ฑฐ์.
- cpu ๋ฅผ ๊ณ ์ ํฌ๊ธฐ๋ก ๋ถํ ํด, ์คํ ์ค์ธ ์ฌ๋ฌ ํ๋ก์ธ์ค์๊ฒ ํ ๋น.
- ๋ถํ (partition) : ํ๋์ ๋จ์ผ ์์ ์ด ์ ์ฌ๋ ์ ์๋ ์ผ์ ํ ํฌ๊ธฐ์ ๊ธฐ์ต์ฅ์น ์์ญ.
์ธ๋ฒ์งธ, ๊ฐ๋ณ ๋ถํ (variable partition)๊ธฐ์ต ์ฅ์น ํ ๋น
- ๊ณ ์ ๋ถํ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ๋ชจ๋์๊ฒ ์ผ์ ํ๊ฒ ๋๋ ์ฃผ๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ด์ง ๋ชปํ์๋ค.
- ์ด์ ๋ํด ๋์ (dynamic) ์ผ๋ก ๊ธฐ์ต์ฅ์น๋ฅผ ๋ถํ ํ๋ ๊ฐ๋ณ๋ถํ ์ด ๊ณ ์๋จ.
- ์ด๋ ์คํ๋๋ ํ๋ก์ธ์ค์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ์์ด ๊ฒฐ์ ๋์์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๋ฐฉ์์.
- ๊ทธ๋ฌ๋ ๋ฏธ๋ฆฌ ํ ๋นํ ์ ์์ด์ ์๊ฐ์ด ์ง๋ ์๋ก ์ฌ๊ธฐ์ ๊ธฐ ๋น๊ณต๊ฐ์ด ์๊น.
- ํ์ํ ํฌ๊ธฐ์ ์ฐ์๋ ๊ณต๊ฐ์ด ์์ด์ง๋ ๋ฌธ์ ๊ฐ ์๊ธฐ๋๋ฐ ์ด๋ฅผ ์ธ๋ถ ๋จํธํ. ๋ผ๊ณ ํจ. = ์ธ ์ ์๋ ์ ๋งคํ ํฌ๊ธฐ ๋น๊ณต๊ฐ์ด ์๊ธด๊ฒ.
Q. ์ฐ์๋ ๊ณต๊ฐ์ด์ด์ผ๋ง ์ธ ์ ์๋๊ฐ?
A. yes.
ํ๋ก์ธ์ค ํ๋๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์ชผ๊ฐ์ง์ง ์๊ณ ํ๋ฉ์ด๋ฆฌ๋ก ์ ์ฌ๋จ. ์ด๊ฒ ๋ฐ๋ก ๋จํธํ๊ฐ ๋ฌธ์ ๊ฐ ๋๋ ์ด์ . ๊ณ ์ ๋ถํ ์์๋ ๋ชจ๋ ํ๋ก์ธ์ค์ ๊ฐ์ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฌํ๋๊น ๋จํธํ๊ฐ ์๊ธฐ๋๋ผ๋ ์์ธก์ด ๊ฐ๋ฅํจ. ๋ํ ๋ฉ๋ชจ๋ฆฌ 100 ์์ ๋ค์ด์๋ 60์ง๋ฆฌ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๋ฉด 100์ด ์๊ธฐ๋ 70,80,90 ๋ฑ ์ ์ฌ๊ฐ๋ฅ. ๊ทธ๋ฌ๋ ๊ฐ๋ณ๋ถํ ์์๋ 60๋งํผ ํ ๋น๋์์๋ ์ด ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๋ฉด 60 ์ดํ์ ํ๋ก์ธ์ค๋ง ๋ค์ ๋ผ์๋ฃ์ ์ ์์.
์ธ๋ถ ๋จํธํ vs ๋ด๋ถ ๋จํธํ
์ธ๋ถ: ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก ์ธ๋ถ, ์ ์ฒด ๊ณต๊ฐ ์ฌ์ด์ฌ์ด์ ๋ฐ์ํจ. ๊ฐ๋ณ๋ถํ ๋ก ์ํฌ๋ฆฌ ๊ณต๊ฐ์ด ์ฐ์์ ์ด์ง ์์์ ์ ํ๋ก์ธ์ค๊ฐ ๋ค์ด๊ฐ ์ ์์๋. ์๊น. / ํด๊ฒฐ๋ฐฉ๋ฒ: ํ์ด์ง ๋๋ ์์ถ, ์ธ๊ทธ๋ฉํ ์ด์ , ํฉ๋ณ.
๋ด๋ถ: ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก ๋ด๋ถ์์ ๋ฐ์๋จ. ๊ณ ์ ๋ถํ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก ๋ด๋ถ์ ์๊ธฐ๋ ๋จํธํ. / ํด๊ฒฐ ๋ฐฉ๋ฒ: ๋ ์์ ๋ธ๋ก ํฌ๊ธฐ ์ค์ .
๊ณต๊ฐ ๋ญ๋น ํด๊ฒฐ ๋ฐฉ๋ฒ 2๊ฐ์ง
(1) ๊ณต๋ฐฑ์ ํฉ๋ณ (coalescing holes)
- ๊ณต๋ฐฑhole ๋ฐ์์, ๋ค๋ฅธ ๊ธฐ์ต ๊ณต๊ฐ๊ณผ ์ธ์ ๋์ด ์๋์ง ์ ๊ฒ.
- ๋น ๊ธฐ์ต์ฅ์ ๋ฆฌ์คํธ์ ๊ธฐ๋กํ๊ฑฐ๋, '์ธ์ ํ' ๊ณต๋ฐฑ๋ผ๋ฆฌ๋ ํฉ๋ณํ์ฌ ํ๋์ ๊ณต๋ฐฑ์ผ๋ก ๊ธฐ๋กํจ.
Q. ์ ์ธ์ ํ ๊ฒฝ์ฐ์๋ง ๊ฐ๋ฅํ ๊น?
A. OS ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฃผ์ ์์๋๋ก ์ฐ์๋ ๊ณต๊ฐ์ผ๋ก ๋ณธ๋ค. ๊ทธ๋์ ํฉ์น๋ ค๋ฉด ์ฃผ์์ ์ผ๋ก ์ด์ด์ ธ์์ด์ผ ํจ.
๋จ์ด์ ธ์๋ ๊ณต๋ฐฑ์? ๋ชปํฉ์นจ -> ์ด๋์๋ "์์ถ" ํด์ผํจ.
(2) ์์ถ (compaction)
- ํ์ฌ ์ฌ์ฉ ์ค์ธ ๊ณต๊ฐ(ํ๋ก์ธ์ค๋ค)์ ํ์ชฝ์ผ๋ก ์ฐ์๋๊ฒ ์ด๋์์ผ์ ํฉ์ด์ง ๊ณต๋ฐฑ๋ค์ ํ๋ฐ ๋ชจ์ผ๋ ์์
- ์ด ๊ณผ์ ์์ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ๋ฐ๋ ์ ์์
- ์ผ๋ฐ์ ์ผ๋ก๋ ์ฃผ์๊ฐ ๋ ์์ ์ชฝ(๋ฎ์ ์ฃผ์ ๋ฐฉํฅ) ์ผ๋ก ํ๋ก์ธ์ค๋ฅผ ๋น๊ธฐ๊ณ , ๊ณต๋ฐฑ์ ๋์ ์ฃผ์ ๋ฐฉํฅ์ผ๋ก ๋ฐ๋ ค๋จ
๊ธฐ์ต์ฅ์น ๋ฐฐ์น ๊ธฐ๋ฒ
๊ธฐ๋ฒ | ์ค๋ช | ์ฅ์ | ๋จ์ |
์ต์ด ์ ํฉ (First Fit) | ๊ฐ์ฅ ์์์๋ถํฐ ํ์ด๋ณด๋ค๊ฐ ์ฒ์ ๋ง๋ ๊ณต๊ฐ์ ๋ฐฐ์น | ๋น ๋ฅด๊ณ ๋จ์ | ์์ชฝ์ ๋จํธํ ์๊ธฐ๊ธฐ ์ฌ์ |
์ต์ ์ ํฉ (Best Fit) | ํ๋ก์ธ์ค๊ฐ ๋ค์ด๊ฐ ์ ์๋ ๊ณต๊ฐ ์ค์์ ๋ฑ ๋ง๋ ์ต์ ๊ณต๊ฐ ์ ํ | ๊ณต๊ฐ ๋ญ๋น ์ต์ํ | ๊ฒ์ ์๊ฐ ์ค๋ ๊ฑธ๋ฆผ, ์ธ๋ถ ๋จํธํ ์ ๋ฐ |
์ต์ ์ ํฉ (Worst Fit) | ๊ฐ์ฅ ํฐ ๊ณต๊ฐ์ ๋ฐฐ์นํด์, ๋๋จธ์ง ๊ณต๊ฐ์ ํฌ๊ฒ ๋จ๊ฒจ๋ณด์ | ํฐ ๊ณต๊ฐ ์ ์ง ๊ฐ๋ฅ | ๋นํจ์จ์ ๋ฐฐ์น ๋ง๊ณ ๋จํธํ ํผ |
- ์ ๋ ฅ๋๋ ํ๋ก๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น ์ด๋๊ณณ์ ๋ฃ์๊ฒ์ธ๊ฐ ์ ๋ํ ๋ฐฐ์น๊ธฐ๋ฒ.
- ์ด๋์ ๋ฐฐ์นํ ์ง์ ๋ฐ๋ผ ๋จํธํ ๋ฐ์ ์ ๋๊ฐ ๋ฌ๋ผ์ง ์ ์์.
๋ค๋ฒ์งธ, ๊ธฐ์ต ์ฅ์น ๊ต์ฒด (swapping)
- ๊ณผ๊ฑฐ์๋ ํ๋์ ํ๋ก์ธ์ค๊ฐ ์ ์ฌ๋๊ณ ์ํ ์๋ฃ ๋ ๋๊น์ง ์ฃผ๊ธฐ์ต์ฅ์น ๋ด์ ์ญ ์ ์ฌ๋ผ ์์๋ค.
- ๊ทธ๋ฌ๋ ๊ต์ฒดswapping ๊ธฐ๋ฒ์ ์ฌ์ฉํด ์ ์ถ๋ ฅ, ์ธํฐ๋ฝํธ ๋ฑ์ด ๋ฐ์ํ ๋๊น์ง๋ง ๋จ์ผ ์ฌ์ฉ์ ์์ ์ด ์ผ์ ์๊ฐ๋์ ์ฃผ๊ธฐ์ต ์ฅ์น๋ฅผ ๋ ์ ํ๊ณ , ์ดํ ์ ๊ฑฐswap out ๋ ํ, ๋ค์ ์์ ์ด ์ ์ฌ swap in ๋๋ค.
- ์ ๊ฑฐ๋ ์์ , ์๋ก ์ ์ฌ๋ ์์ ์ ๋์คํฌ๋ ํ๋์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ๊ธฐ์ต๋๋ค.
- ํต์์ ์ผ๋ก ํ๋์ ์์ (ํ๋ก์ธ์ค)๋ ์ฃผ๊ธฐ์ต์ฅ์น-๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ฅผ ์๋ณตํ๋ฉฐ "๊ต์ฒด" ๊ณผ์ ์ ๊ฑฐ์น๋ค๊ณ ๋ณผ ์ ์๋ค.
- ์ด๊ธฐ ์๋ถํ ์์คํ ์ด ์ฌ์ฉํ ๊ธฐ๋ฒ์ด๋ฉฐ ์ค๋๋ ํ์ด์งpaging์ ๊ธฐ์ด๊ฐ ๋๋ ๊ธฐ๋ฒ์ด๋ค.