๋ฉ๋ชจ๋ฆฌ ํ ๋น(Memory Allocation)
์ฐ๋ฆฌ๊ฐ ํํ ์๊ฐํ๋ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ์์ ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ์์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๋ด์ ํ๋ก์ธ์ค๋ค์ด ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋๋ ์ํฉ์ด์ฃ .
ํ์ง๋ง ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์๋ ์ฌ๋ฌ ๋ฌธ์ ์ ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ํ์ด์ง ๊ธฐ๋ฒ์ ๋ฐ๋ก ์ด์ด์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ๋ก์ธ์ค๋ค ์ค์๋ ํ์ฌ ์ฌ์ฉ๋์ง ์๋ ํ๋ก์ธ์ค๋ค์ด ์์ต๋๋ค. ์ด๋ฌํ ํ๋ก์ธ์ค๋ค์ ์์๋ก ๋ณด์กฐ๊ธฐ์ต์ฅ์น ์ผ๋ถ๋ก ์ซ์๋ด๊ณ , ๊ทธ๋ ๊ฒ ์๊ธด ๋น ๊ณต๊ฐ์ ์ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ์ฌ ์คํํฉ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ ์ค์ํ(Swapping)์ด๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ณด์กฐ๊ธฐ์ต ์ฅ์น์ ์ฌ์ฉ๋์ง ์๋ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ๋ ์ผ๋ถ ์์ญ์ ์ค์ ์์ญ์ด๋ผ๊ณ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์คํ ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๊ฒ์ ์ค์ ์ธ, ๋ฐ๋์ ๊ฒฝ์ฐ๋ ์ค์ ์์์ ๋๋ค. ์ค์ํ์ ์ฌ์ฉํ๋ ์ด์ ๋ ์ค์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ ํ์ ์ ์ธ๋ฐ ํ๋ก์ธ์ค๋ค์ด ์๊ตฌํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํฌ๊ธฐ๊ฐ ํฐ ๊ฒฝ์ฐ์๋ ํ๋ก์ธ์ค๋ค์ ๋์์ ์คํํ ์ ์์ต๋๋ค. ๋ฐ๋ก ๊ฐ์๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๊ฒ ์ฃ .
์ด์ฒ๋ผ ํ๋ก์ธ์ค๋ค์ด ์๊ตฌํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํฌ๊ธฐ๊ฐ ์ค์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ณด๋ค ํฌ๋๋ผ๋ ๋ชจ๋ ์คํํ ์ ์์ต๋๋ค. ์ค์์์ญ์ ํฌ๊ธฐ๋ฅผ ํ์ธํ๋ ค๋ฉด free, top ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ํ ๋น ๊ท์น
๊ทธ๋ฌ๋ฉด ํ๋ก์ธ์ค๋ ๋ฉ๋ชจ๋ฆฌ ๋ด ๋น ๊ณต๊ฐ์ด ์ฌ๋ฌ ๊ฐ ์์ ๋ ์ด๋์ ๋ฐฐ์น๋์ด์ผ ํ ๊น์? ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๊ท์น์๋ ๋ํ์ ์ผ๋ก ์ต์ด ์ ํฉ, ์ต์ ์ ํฉ, ์ต์ ์ ํฉ์ด ์์ต๋๋ค. ์์ ์ ํจ๊ป ๋ณด๊ฒ ์ต๋๋ค.
์ ๊ฐ์ ์ํฉ์์ 20MB ํฌ๊ธฐ์ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ๊ณ ์ถ์ ๋(๋น ๊ณต๊ฐ์ A, B, C) ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๊ท์น์ ๋ฐ๋ผ ์ด๋ป๊ฒ ๋ฐฐ์น๋๋ ์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ต์ด ์ ํฉ(First Fit)
์ต์ด ์ ํฉ์ ์ด์์ฒด์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ด ๋น ๊ณต๊ฐ์ ์์๋๋ก ๊ฒ์ํ๋ค๊ฐ ์ ์ฌํ ์ ์๋ ๊ณต๊ฐ์ ๋ฐ๊ฒฌํ๋ฉด ๊ทธ ๊ณต๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ก ๋ฐฐ์นํ๋ ๋ฐฉ์์ ๋๋ค. ์ฅ์ ์ ๊ฒ์์ ์ต์ํํ ์ ์๊ณ ๋น ๋ฅธ ํ ๋น์ด ๊ฐ๋ฅํฉ๋๋ค.
์ต์ด ์ ํฉ์์๋ ๋ฉ๋ชจ๋ฆฌ์ ์์์ ๋ถํฐ ๋ด๋ ค์ค๋ค๊ฐ ๋น๊ณต๊ฐ A๋ฅผ ๊ฐ์ฅ ๋จผ์ ๋ง๋ฌ๊ณ ์ ์ฌ ๊ฐ๋ฅํ๋ฏ๋ก ๋ฐ๋ก ๋น๊ณต๊ฐ A์ ์ ์ฌํ๋ ๋ชจ์ต์ ๋๋ค.
์ต์ ์ ํฉ(Best Fit)
์ต์ ์ ํฉ์ ์ด์์ฒด์ ๊ฐ ๋น ๊ณต๊ฐ์ ๋ชจ๋ ๊ฒ์ํด๋ณธ ๋ค, ์ ์ฌ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ ๊ณต๊ฐ์ ํ ๋นํ๋ ๋ฐฉ์์ ๋๋ค.
์ต์ ์ ํฉ์์๋ ์ด์์ฒด์ ๊ฐ ๋น ๊ณต๊ฐ์ ๋ชจ๋ ๊ฒ์ํด๋ณธ ๊ฒฐ๊ณผ, ์ ์ฌ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ ๊ณต๊ฐ์ด C์ด๊ธฐ ๋๋ฌธ์ ๋น ๊ณต๊ฐ C์ ํ ๋น๋๋ ๋ชจ์ต์ ๋๋ค. ์ต์ ์ ํฉ์ ๊ฒ์ ์๊ฐ์ ๋์ง๋ง ๋ฉ๋ชจ๋ฆฌ ๋จํธํ๋ฅผ ์ต์๋ก ์ค์ผ ์ ์๋ค๋ ํน์ง์ด ์์ต๋๋ค.
์ต์ ์ ํฉ(Worst Fit)
์ต์ ์ ํฉ์ ์ด์์ฒด์ ๊ฐ ๋น ๊ณต๊ฐ์ ๋ชจ๋ ๊ฒ์ํด๋ณธ ๋ค, ์ ์ฌ ๊ฐ๋ฅํ ๊ฐ์ฅ ํฐ ๊ณต๊ฐ์ ํ ๋นํ๋ ๋ฐฉ์์ ๋๋ค. ์ต์ ์ ํฉ๊ณผ ๋ฐ๋์ ๊ฐ๋ ์ด์ฃ .
์ต์ ์ ํฉ์์๋ ์ด์์ฒด์ ๊ฐ ๋น ๊ณต๊ฐ์ ๋ชจ๋ ๊ฒ์ํด๋ณธ ๊ฒฐ๊ณผ, ์ ์ฌ ๊ฐ๋ฅํ ๊ฐ์ฅ ํฐ ๊ณต๊ฐ์ด B์ด๊ธฐ ๋๋ฌธ์ ๋น ๊ณต๊ฐ B์ ํ ๋น๋๋ ๋ชจ์ต์ ๋๋ค. ์ต์ ์ ํฉ์ ๊ฒ์ ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ๋จํธํ ๋ชจ๋ ํฐ ๋ฐฉ์์ ๋๋ค.
์ธ๋ถ ๋จํธํ
์ฌ์ค ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ผ๋ก ๋ฐฐ์นํ๋ ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋๋๋ค. ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ธ๋ถ ๋จํธํ(External Fragmentation) ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ธ๋ถ ๋จํธํ๋ ํ๋ก์ธ์ค๋ค์ด ์คํ๋๊ณ ์ข ๋ฃ๋๊ธฐ๋ฅผ ๋ฐ๋ณตํ๋ฉด์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์ ๋น ๊ณต๊ฐ์ด ๋ฐ์ํ๋ ๊ฒ์ ๋ปํฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๋ด์ ์ฌ๋ฌ ์์ ์กฐ๊ฐ๋ค๋ก ๋๋์ด์ง ํ๋ฆฌ ์คํ์ด์ค(free space)๊ฐ ์กด์ฌํ๊ณ , ํ๋ก์ธ์ค๊ฐ ์คํ์ ์ํด ํ์ํ ํฐ ๋ธ๋ก์ ํ ๋นํ๋ ค๊ณ ํ ๋ ๊ทธ ๋ธ๋ก์ ๋ง๋ค์ด๋ผ ์ถฉ๋ถํ ์ฐ์๋ ๊ณต๊ฐ์ด ์๋ ๊ฒฝ์ฐ์ ๋ฐ์ํฉ๋๋ค. ์ด๋ ๊ณง ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ก ์ด์ด์ง๋๋ค.
์ธ๋ถ ๋จํธํ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ํ์ ์ธ ๋ฐฉ์์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์์ถ(Compaction)์ด ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐ ๋ชจ์์ ๋๋ค. ๋๊ณ ์๋ ๋น ๊ณต๊ฐ๋ค์ ํ๋๋ก ๋ชจ์ผ๋ ๋ฐฉ์์ ๋๋ค.
ํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์์ถ ๋ฐฉ์์ ๋จ์ ์ด ๋ง์ต๋๋ค. ์์ ๋น ๊ณต๊ฐ๋ค์ ํ๋๋ก ๋ชจ์ผ๋ ๊ณผ์ ์์ ๋ง์ ์ค๋ฒํค๋๋ฅผ ์ผ๊ธฐํ๊ณ , ์์คํ ์ ํ๋ ์ผ์ ์ค์งํด์ผ๋ง ํฉ๋๋ค. ๋ฐ๋ผ์ ํ๋ ์ด์์ฒด์ ์์ ์ธ๋ถ ๋จํธํ๋ฅผ ์ต์ํํ๊ธฐ ์ํด ์ ํํ๋ ๊ฐ์ฅ ๋์ค์ ์ธ ๋ฐฉ๋ฒ์ด ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฒ๊ณผ ํ์ด์ง์ ๋๋ค. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํด์๋ ๋ค์ ํฌ์คํ ์์ ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค!
์ถ์ฒ: ํผ์๊ณต๋ถํ๋ ์ปดํจํฐ๊ตฌ์กฐ+์ด์์ฒด์
'์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ๊ณผ ํ๋ ์ ํ ๋น (1) | 2023.11.11 |
---|---|
๊ฐ์๋ฉ๋ชจ๋ฆฌ(Virtual Memory)์ ํ์ด์ง ๊ธฐ๋ฒ(Paging) (0) | 2023.11.07 |
ํ๋ก์ธ์ค ๋๊ธฐํ ๊ธฐ๋ฒ (0) | 2023.11.06 |
CPU ์ค์ผ์ค๋ง ๊ฐ๋ ๊ณผ ์๊ณ ๋ฆฌ์ฆ (0) | 2023.11.05 |
ํ๋ก์ธ์ค ๊ณ์ธต ๊ตฌ์กฐ (0) | 2023.10.31 |
๋๊ธ