๐ง ๋ถ๋ฆฌ ๊ฐ์ฉ ๋ฆฌ์คํธ(Segregated free list)
์ด์ ๊ธ๋ค์์ ์ดํด๋ณธ ๊ฒ๊ณผ ๊ฐ์ด ๊ฐ์ฉ ๋ธ๋ก ๋ฆฌ์คํธ๋ฅผ ๋จ ํ๊ฐ๋ง ์ฌ์ฉํ๋ ํ ๋น๊ธฐ๋ ํ ๊ฐ์ ๋ธ๋ก์ ํ ๋นํ๋ ๋ฐ ๋ธ๋ก์ ์(ํน์ ๊ฐ์ฉ ๋ธ๋ก์ ์)์ ๋น๋กํ๋ ์๊ฐ์ด ํ์ํฉ๋๋ค.
ํ ๋น ์๊ฐ์ ์ค์ด๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์๋ ค์ง ๋ถ๋ฆฌ ์ ์ฅ์ฅ์น(Segregated Storage)๋ ๋ค์์ ๊ฐ์ฉ ๋ฆฌ์คํธ๋ฅผ ์ ์งํ๋ฉฐ, ๊ฐ ๋ฆฌ์คํธ๋ ๊ฑฐ์ ๋์ผํ ํฌ๊ธฐ์ ๋ธ๋ก๋ค์ ์ ์ฅํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ธ ์์ด๋์ด๋ ๋ชจ๋ ๊ฐ๋ฅํ ๋ธ๋ก์ ํฌ๊ธฐ๋ฅผ ํฌ๊ธฐ ํด๋์ค(size class)๋ผ๊ณ ํ๋ ๋์ผ ํด๋์ค์ ์งํฉ์ผ๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋๋ค.
ํฌ๊ธฐ ํด๋์ค๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
๋๋ถ๋ถ ์ ์ ํฌ๊ธฐ์ ๋ธ๋ก๋ค์ ๋งค ํฌ๊ธฐ๋ง๋ค ํด๋์ค๋ฅผ ๊ฐ๋๋ก ํฉ๋๋ค.(2, 3, 4, ...)
ํฌ๊ธฐ๊ฐ ํฐ ๊ฒฝ์ฐ์๋ 2์ ์ ๊ณฑ๋ง๋ค ํด๋์ค๋ฅผ ์ ์ํฉ๋๋ค. (1025 ~ 2048, 2049 ~ 4096, ...)
ํ ๋น๊ธฐ๋ ๊ฐ์ฉ ๋ฆฌ์คํธ์ ๋ฐฐ์ด์ ๊ด๋ฆฌํ๊ณ , ํฌ๊ธฐ ํด๋์ค๋ง๋ค ์ฆ๊ฐํ๋ ์์๋ก ํ ๊ฐ์ ๊ฐ์ฉ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ง๋๋ค.
ํ ๋น๊ธฐ๊ฐ ํฌ๊ธฐ n์ธ ๋ธ๋ก์ด ํ์ํ ๊ฒฝ์ฐ, ์ ๋นํ ๊ฐ์ฉ ๋ฆฌ์คํธ๋ฅผ ๊ฒ์ํฉ๋๋ค.
๋ง์ผ ํฌ๊ธฐ๊ฐ ๋ง๋ ๋ธ๋ก์ ์ฐพ์ ์ ์๋ค๋ฉด ๋ค์ ๋ฆฌ์คํธ๋ฅผ ๊ฒ์ํ๋ ์์ผ๋ก ์งํํฉ๋๋ค.
๐ง ๊ฐ๋จํ ๋ถ๋ฆฌ ๊ฐ์ฉ ๋ฆฌ์คํธ ํ ๋น๊ธฐ
๊ฐ ํฌ๊ธฐ ํด๋์ค๋ฅผ ์ํ ๊ฐ์ฉ ๋ฆฌ์คํธ๋ ๊ฐ๋จํ ๋ถ๋ฆฌ ์ ์ฅ์ฅ์น๋ก ๋์ผํ ํฌ๊ธฐ์ ๋ธ๋ก๋ค์ ๊ฐ์ง๋ฉฐ, ๊ฐ๊ฐ์ ํฌ๊ธฐ ํด๋์ค์ ๊ฐ์ฅ ํฐ ์์์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ด๋ค ํฌ๊ธฐ ํด๋์ค๊ฐ {17 ~ 32}๋ก ์ ์๋์๋ค๋ฉด, ์ด ํด๋์ค์ ๋ํ ๊ฐ์ฉ ๋ฆฌ์คํธ๋ ์ ์ ์ผ๋ก ํฌ๊ธฐ 32์ ๋ธ๋ก์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ด๋ค ์ฃผ์ด์ง ํฌ๊ธฐ์ ๋ธ๋ก์ ํ ๋นํ๊ธฐ ์ํด์๋ ์ ์ ํ ๊ฐ์ฉ ๋ฆฌ์คํธ๋ฅผ ๊ฒ์ํด์ผ ํฉ๋๋ค.
๋ง์ผ ๋ฆฌ์คํธ๊ฐ ๋น์ด ์์ง ์๋ค๋ฉด, ์ฒซ ๋ฒ์งธ ๋ธ๋ก์ ํ ๋นํฉ๋๋ค.
๊ฐ์ฉ ๋ธ๋ก๋ค์ ํ ๋น ์์ฒญ์ ๋ง์กฑํ๊ธฐ ์ํ์ฌ ์ ๋๋ก ๋ถํ ํ์ง ์์ต๋๋ค.
๋ง์ผ ๋ฆฌ์คํธ๊ฐ ๋น์ด์๋ค๋ฉด, ํ ๋น๊ธฐ๋ ์ด์์ฒด์ ๋ก๋ถํฐ ์ถ๊ฐ์ ์ธ ๊ณ ์ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฒญํ๊ณ , ์ด๋ฅผ ๋์ผํ ํฌ๊ธฐ์ ๋ธ๋ก์ผ๋ก ๋๋ ๋ค ๋ธ๋ก๋ค์ ํจ๊ป ์ฐ๊ฒฐํด์ ์๋ก์ด ๊ฐ์ฉ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ญ๋๋ค.
ํ ๋น๊ธฐ๋ ๋ธ๋ก์ ๋ฐํํ ๋ ๋จ์ํ ์ด ๋ธ๋ก์ ํด๋น ๊ฐ์ฉ ๋ฆฌ์คํธ์ ๋งจ ์์ ์ฝ์ ํฉ๋๋ค.
๐ง ๋ถ๋ฆฌ ๊ฐ์ฉ ๋ฆฌ์คํธ ์ฅ์
๋ถ๋ฆฌ ๊ฐ์ฉ ๋ฆฌ์คํธ๋ ๋์ Throughput์ ๊ฐ์ง๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ด์ฉ๋ฅ ๋ํ ์ฐ์ํ๋ฐ, first fit ๋ฐฉ๋ฒ์ ์ด์ฉํ๋ฉด best fit๊ณผ ์ ์ฌํ ๋ฉ๋ชจ๋ฆฌ ์ด์ฉ๋ฅ ์ ์ป์ ์ ์์ผ๋ฉฐ, ๊ฐ ํ ๋น ์์ฒญ ๋ธ๋ก์ ๋ํด ๊ทธ ํฌ๊ธฐ๋ฅผ ํด๋์ค๋ก ๊ฐ๊ฐ ์์ฑํ๋ค๋ฉด ์ต์ ํ ๋น๊ณผ ๋์ผํด์ง๋๋ค.