-
[OS] ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋นSTUDY/OS 2022. 4. 10. 14:46
ํ๋ก๊ทธ๋จ์ด ์์๋๊ธฐ ์ํด์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์์ด์ผ ํ๋ค. ๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ด๋ฆฌํ๋ฉด ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ์ ๋์ฌ CPU์ ํจ์จ์ ์ธ ์ฌ์ฉ๊ณผ ๋น ๋ฅธ ์๋ต์ฑ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
์ด๊ธฐ ์ปดํจํฐ์ ๋ง์ด ์ฌ์ฉ๋์๋ ๋ฐฉ์์ด๋ฉฐ, ํ์ฌ๋ ๋น์ฐ์์ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
ํ์ง๋ง ์์๋๋ฉด ์์คํ ์ ์ดํด์ ๋์์ด ๋๋ค๊ณ ํ๋ค.
๐งฑ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ ์ข ๋ฅ
ํ ๋ฒ์ ๋ช๊ฐ์ ํ๋ก๊ทธ๋จ?
- ๋จ์ผ ํ๋ก๊ทธ๋๋ฐ
- ๋ค์ค ํ๋ก๊ทธ๋๋ฐ : ๊ฐ ํ๋ก์ธ์ค์๊ฒ ์ผ๋ง๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค ๊ฒ์ธ๊ฐ
๋ฉ๋ชจ๋ฆฌ ๋ถํ
- ๊ณ ์ (์ ์ ) ๋ถํ
- ๊ฐ๋ณ(๋์ ) ๋ถํ
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ์
- ์ ์ฌ ๊ธฐ๋ฒ : ํ๋ก์ธ์ค์๊ฒ ์ธ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํด ์ค ๊ฒ์ธ๊ฐ. ์๊ตฌ์ ์ฌ, ์์์ ์ฌ
- ๋ฐฐ์น ๊ธฐ๋ฒ : ํ๋ก์ธ์ค๋ค์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ด๋์ ์ ์ฌํ ๊ฒ์ธ๊ฐ.
- ๊ต์ฒด ๊ธฐ๋ฒ : ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ ์๋ก ์ ์ฌ๋ผ์ผ ํ ํ๋ก์ธ์ค๋ฅผ ์ํด ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ๋ด๋ณด๋ผ ๊ฒ์ธ๊ฐ.
- ํ ๋น ๊ธฐ๋ฒ : ํ๋ก์ธ์ค์๊ฒ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ผ๋ง ์ ๋๋ก ์ค ๊ฒ์ธ๊ฐ.
๐ฉ๋จ์ผ ํ๋ก๊ทธ๋๋ฐ
ํ ๋ฒ์ ํ๋์ ํ๋ก์ธ์ค๋ง์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋๊ณ , ์คํ์ด ์ข ๋ฃ๋๋ฉด ๋ค์ ํ๋ก์ธ์ค๊ฐ ์ ์ฌ๋๋ ์์คํ
- ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋, ์ปค๋๊ณผ ํด๋น ํ๋ก์ธ์ค๊ฐ ์ฐจ์งํ๋ ๊ทธ ์ธ์ ๊ณต๊ฐ์ ์ข ๋ฃํ ๋๊น์ง ๋ญ๋น๋๋ค. ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์ผ๋ก์ ์ ํ์ ์ ํ์ ์ฌ์ง๊ฐ ์์๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๊ฐ ์ ์ฌํ ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด -> ์ค๋ฒ๋ ์ด(Overlay)
- ํ๋ก๊ทธ๋จ์ ์คํ ์ค ์ปค๋ ์์ญ์ ์นจ๋ฒํ์ง ๋ชปํ๋๋ก ํ๋ ๋ณดํธ ๊ธฐ๋ฒ ํ์
- ๊ฒฝ๊ณ ๋ ์ง์คํฐ์ ์ปค๋๊ณผ ํ๋ก๊ทธ๋จ ์ฌ์ด์ ๊ฒฝ๊ณ ์ฃผ์ ๊ฐ์ ๋ฃ์ด๋๊ณ ,
ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด์ ์ฐธ์กฐํ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๊ฐ์ด ์ด ๊ฒฝ๊ณ ๊ฐ์ ์นจ๋ฒํ ๊ฒฝ์ฐ ํธ๋ฉ์ผ๋ก ์คํ์ ์ค์ง์ํจ๋ค.
๐ฉ๐ป๐ค๐ง๐ป ๋ค์ค ํ๋ก๊ทธ๋๋ฐ + ๊ณ ์ ๋ถํ
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ๋ถํ ๋ก ๋๋์ด ๋๊ณ , ๊ฐ ๋ถํ ์๋ ํ๋์ ํ๋ก์ธ์ค๋ฅผ ์์ฉํ๋๋ก ํ๋ ์์คํ
- ์ ์ฐํจ์ ๋ณต์ก๋๋ฅผ ๋๋ฐํจ์ผ๋ก ๊ด๋ฆฌ๊ฐ ์ฝ๊ณ ์ค๋ฒํค๋๊ฐ ์ ์ง๋ง, ์ํฉ์ ์ ์ฐํ๊ฒ ๋์ฒํ ์ ์๋ค,
- ๊ฐ์ฅ ํฐ ๋ถํ ๋ณด๋ค ๋ ํฐ ํ๋ก๊ทธ๋จ์ ์์ฉ ๋ฌธ์ -> ์ค๋ฒ๋ ์ด
- ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ๋ ์ฌ์ฉ์์ ์ปค๋ ์ฌ์ด ๋ฟ ์๋๋ผ ์ฌ์ฉ์์ ์ฌ์ฉ์ ์ฌ์ด์์๋ ํ์ํ๋ค. ํ์ฌ ์ฌ์ฉ์์ ์ ์๋ ๋ ๊ฒฝ๊ณ๋ฅผ ๊ฒฝ๊ณ ๋ ์ง์คํฐ์ ๊ธฐ๋กํ์ฌ ์คํ ๋์ค ์ฐธ์กฐํ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์ด ๊ฐ์ ๋ฒ์ด๋์ง ์๋๋ก ํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋จํธํ ๋ฐ์
๋ด๋ถ๋จํธํ: ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ์ ํด์ ธ ์๋ ๋ถํ ๋ค์ ํ๋ก์ธ์ค๋ฅผ ์์ฉํ๊ณ ๋จ๋ ๊ณต๊ฐ
์ธ๋ถ๋จํธํ: ๋ถํ ์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ์์์ ํ๋ก์ธ์ค๋ค์ ์์ฉํ์ง ๋ชปํ๊ณ ๋ถํ ํต์งธ๋ก ๋ญ๋น๋๋ค.
๐คผโ๏ธ ๋ค์ค ํ๋ก๊ทธ๋๋ฐ + ๊ฐ๋ณ ๋ถํ
๋ถํ ์ ์๊ธฐ, ๊ฐ์ ๊ทธ๋ฆฌ๊ณ ํฌ๊ธฐ๊ฐ ์ ํด์ง์ง ์๊ณ ๊ทธ ๋๋ง๋ค ํ๋ก์ธ์ค ํฌ๊ธฐ๋งํผ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํด ์ฃผ๋ ์์คํ
- ๊ด๋ฆฌ๊ฐ ๋ณต์กํด์ง์ผ๋ก ์ธํด ์๊ธฐ๋ ์ค๋ฒํค๋๋ ๊ฐ์ํด์ผ ํ๋ค.
- ๋ฆฌ์คํธ ํค๋ํฌ์ธํฐ user์๋ ํ๋ก์ธ์ค, free์๋ ๋จ๋ ๊ณต๊ฐ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ก ์๋๋ค.
A(10), B(20), C(15) ์ ์ฌ C(15), A(10)์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ๋ฉ/ D(50), E(10)์ ์ ์ฌ / B(20)์ ๋ฐ๋ฉ - free ๋ ธ๋ ์ค ์ด๋ค ๊ฒ์ ์ ํํ ๊ฒ์ธ๊ฐ
- ์ต์ด์ ํฉ : free ๋ฆฌ์คํธ์ ์ฒซ ๋
ธ๋๋ถํฐ ์์ํ์ฌ ์ ์ผ ๋จผ์ ๋ฐ๊ฒฌ๋๋, ํ๋ก์ธ์ค ํฌ๊ธฐ๋ณด๋ค ํฐ ๋
ธ๋๋ฅผ ํ ๋นํด์ฃผ๊ณ ํ์์ ๋ง์น๋ค.
๋น ๋ฅด๋, ์์ฃผ ์์ง๋, ๊ทธ๋ ๋ค๊ณ ์ฌ๋งํ ํฌ๊ธฐ์ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ ๋งํผ ํฌ๊ธฐ ์์ ์ฌ์ฉ๋์ง ๋ชปํ๋ ๋ ธ๋๊ฐ ์๊ธด๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฐ ์ฌ์ฉํ์ง ๋ชปํ๋ ๋ ธ๋๊ฐ ์์๋ง ์๊ธด๋ค๋ ๋ฌธ์ ๋ ์๋ค. ์ด ๋ฌธ์ ๋ next-fit(: ์ํ ๊ตฌ์กฐ๋ก ํ์ฌ ์ ํ๋ ๋๋ง๋ค ํค๋ํฌ์ธํธ๋ฅผ ์ฎ๊ธด๋ค.) ๋ก ํด๊ฒฐํ ์ ์๋ค. - ์ต์ ์ ํฉ : free ๋ฆฌ์คํธ๋ฅผ ๋๊น์ง ํ์ํ์ฌ ์๊ตฌ๋๋ ํฌ๊ธฐ๋ณด๋ค ํฌ๋ฉด์ ์ฐจ์ด๊ฐ ๊ฐ์ฅ ์ ๊ฒ ๋๋ ๋ ธ๋๋ฅผ ์ฐพ์ ํ ๋นํด์ค๋ค. ๋จ๋ ํฌ๊ธฐ๊ฐ ๋งค์ฐ ์์ ์ดํ ์ ์ฌ์ ๊ฑฐ์ ํ์ฉ๋์ง ๋ชปํ๋ ํ(Hole)์ด ์๊ธด๋ค.
- ์ต์
์ ํฉ : free ๋ฆฌ์คํธ๋ฅผ ๋๊น์ง ํ์ํ์ฌ ์๊ตฌ๋๋ ํฌ๊ธฐ๋ณด๋ค ํฌ๋ฉด์ ์ฐจ์ด๊ฐ ๊ฐ์ฅ ๋ง์ด ๋๋ ๋
ธ๋๋ฅผ ์ฐพ์ ํ ๋นํด์ค๋ค. ํฐ ๋น๊ณต๊ฐ์ ํ๋ณดํ๊ธฐ ์ด๋ ต๋ค.
=>๋น ๋ฅธ ์ต์ด์ ํฉ + ๋จ๋ ๊ณต๊ฐ ๋ณํฉ
- ๋จ๋ ๊ณต๊ฐ ๋ณํฉ
- Adjacent coalescing : ์ธ์ ํ ๋น ๊ณต๊ฐ์ ํฉ์ณ ํฐ ๋น ๊ณต๊ฐ์ผ๋ก ๋ง๋ ๋ค.
- Compaction : ๋น ๊ณต๊ฐ ์ ๋ถ์ ํตํฉ. ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ํ ์ชฝ์ผ๋ก ๋ฏธ๋ค๋๊ณ ํฐ ๋น ๊ณต๊ฐ์ ๋ง๋ ๋ค. ํตํฉ์ด ์งํ๋๋ ๋์ ๋ชจ๋ ํ๋ก์ธ์ค๋ค์ ์คํ์ด ์ค์ง๋๋ฏ๋ก ์๋นํ ์๊ฐ์ด ์๊ตฌ๋๋ฉฐ ์์์ด ๋ญ๋น๋๋ค.
- ๊ณ ์ + ๊ฐ๋ณ ๋ฒ๋์์คํ
๋ฉ๋ชจ๋ฆฌ๋ฅผ 2์ ์น์๋ก ๋ถํ ํ๋ค. ํ๋ก์ธ์ค๊ฐ ์๊ตฌํ๋ ํฌ๊ธฐ์ ๊ฐ์ฅ ์ ๊ฒ ์ฐจ์ด๊ฐ ๋๋ ๊ณต๊ฐ์ผ๋ก ๋ถํ ํด ๋ฐฐ์น๋๋ค. ๋ฐ๋ฉ ์ ๋ถํ ๋์๋ ๋ฒ๋์ ๋ณํฉ๋๋ค.
์ถ์ฒ : ๊น์ฃผ๊ท , ใOS? Oh Yes!ใ, ํด๋จผ์ธ์ด์ธ์ค
'STUDY > OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] ๋์คํฌ ์ค์ผ์ค๋ง2 : LOOK, N-step SCAN, C-SCAN, Eschenbach (0) 2022.05.08 [OS] ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ (0) 2022.05.01 [OS] ํ๋ก์ธ์ค ๋๊ธฐํ - ์๊ณ๊ตฌ์ญ ๋ฌธ์ (0) 2022.04.07 [OS] CPU ์ค์ผ์ค๋ง : ์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง, ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง (0) 2022.03.27