๋ฉ๋ชจ๋ฆฌ๋ผ๋ ๊ฒ์ ์ฃผ์๋ฅผ ํตํด ์ ๊ทผํ๋ ๋งค์ฒด์ด๋ค.
๋ฉ๋ชจ๋ฆฌ์๋ ์ฃผ์๊ฐ ๋งค๊ฒจ์ง๋๋ฐ ๋๊ฐ์ง๋ก ๋๋๋ค.
1. ๋
ผ๋ฆฌ์ ์ธ ์ฃผ์
2. ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์
ํ๋ก๊ทธ๋จ์ด ํ์ฑ๋๋ฉด ๋
์์ ์ธ ์ฃผ์๊ณต๊ฐ์ด ์์ฑ๋๋ค.
-> ํ๋ก๊ทธ๋จ๋ง๋ค ๊ฐ์ง๊ณ ์๋ ์ฃผ์๋ฅผ Logical address(=virtual address)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
-> 0๋ฒ์ง๋ถํฐ ์์ํ๋ ๋
ผ๋ฆฌ์ฃผ์๋ฅผ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ค.
๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์๋ผ๋ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ค์ ์ฌ๋ผ๊ฐ๋ ์์น๋ฅผ ์๋ฏธํจ.
-> ์๋์ชฝ์๋ ์ปค๋์ด ์์ฃผํด์๊ณ ์์๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ๋ค์ด ์์ฌ์ ๋ค์ด๊ฐ ์๋ค.
ํ๋ก์ธ์ค๋ง๋ค 0๋ฒ์ง๋ถํฐ ์์ํ๋ ๋
์์ ์ธ ์ฃผ์๊ฐ ์์ง๋ง ์คํ์ด ๋๋ ค๋ฉด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ด๋๊ฐ์ ์ฌ๋ผ๊ฐ๊ฒ ๋๊ณ ์ฃผ์๊ฐ ๋ฐ๋๋ค.
-> ์ฃผ์ ๋ฐ์ธ๋ฉ์ด๋ผ๊ณ ํ๋ค.
์ฃผ์ ๋ฐ์ธ๋ฉ : ํ๋ก๊ทธ๋จ์ด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ด๋์ ์ฌ๋ผ๊ฐ ์ง ๊ทธ ์ฃผ์๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ
๊ทธ๋ผ ์ฃผ์๋ ์ธ์ ๊ฒฐ์ ๋๋๋?
-> ๋
ผ๋ฆฌ์ ์ธ ์ฃผ์๊ฐ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์๋ก ์ธ์ ๊ฒฐ์ ๋๋๋?
-> 3๊ฐ์ง๊ฐ ์กด์ฌํ๋ค.
Symbolic Address : ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ์ซ์์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ํ๋ก๊ทธ๋๋ฐ์ ํ์ง ์๋๋ค.
-> ํน์ ๋ฉ๋ชจ๋ฆฌ ๋ณ์์ ๊ฐ์ ์ ์ฅํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ๋ช๋ฒ์ง์ ์ ์ฅํ๋ผ๊ณ ํ์ง ์๊ณ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๊ทธ ๋ณ์์ ์ผ๋ง๋ฅผ ์ ์ฅํ๋ผ๋ ์์ผ๋ก ํ๋ก๊ทธ๋๋ฐ ํ๋ค.
-> ํจ์๋ฅผ ํธ์ถ ํ ๋ ๋ช๋ฒ์ง๋ก ์ ํํด๋ผ๋ผ๊ณ ํ์ง ์๊ณ ํจ์์ ์ด๋ฆ์ ์ค์ ๊ทธ ์ด๋ฆ์ผ๋ก ํจ์๋ฅผ ํธ์ถํ๋ค.
ํ๋ก๊ทธ๋๋จธ๋ ์ซ์๋ก ํ๋ก๊ทธ๋๋ฐํ์ง ์๊ณ Symbol๋ก ํ๋ก๊ทธ๋๋ฐํ๋ค.
-> ์ด๋ฅผ Symbolic address๋ผ๊ณ ํ๋ค.
ํ๋ก๊ทธ๋๋จธ๋ Symbolic Address๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ๊ณ ์ปดํ์ผ๋จ๊ณ์์ ์ซ์๋ก ๋ ์ฃผ์๋ก ๋ฐ๋๊ฒ ๋๋ค.
-> 0๋ฒ์ง๋ถํฐ ์์ํ๋ ๋
์์ ์ธ ๊ณต๊ฐ์ผ๋ก ๋ฐ๋๊ฒ ๋๋ค.
์ด๊ฒ ์คํ๋๊ฒ ํ๋ ค๋ฉด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ณํ๋์ด ์ฌ๋ผ๊ฐ์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฃผ์๋ฅผ ๊ฒฐ์ ํด์ผ ํ๋ค. (์ฃผ์ ๋ฐ์ธ๋ฉ)
๊ทธ๋ผ ์ด ์ฃผ์๋ณํ์ด ์ธ์ ์ด๋ฃจ์ด์ง๊น?
์ฃผ์๋ณํ์ด ์ปดํ์ผ ๋จ๊ณ์์ ์ด๋ฃจ์ด์ง๋ ๊ฒ์ Compile time binding์ด๋ผ๊ณ ํ๋ค.
์คํ ์์ ๋ ๋ ์ฃผ์๋ณํ์ด ์ด๋ฃจ์ด์ง๋ฉด Load time binding์ด๋ผ๊ณ ํ๋ค.
ํ๋ก๊ทธ๋จ์ด ์์๋ ์ดํ์๋ ์คํํ๋ค๊ฐ ์ค๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์๊ฐ ๋ฐ๋ ์ ์๋ ๊ฒ์ Execution time binding (=Run time binding)์ด๋ผ๊ณ ํ๋ค.
๋งจ ์ผ์ชฝ์ ์์ค์ฝ๋๊ฐ ์กด์ฌํ๋ค.
-> ํ๋ก๊ทธ๋จ์ ๋ง๋ค์๊ณ ์ด ์์๋ Symbolic Address๋ก ์ฃผ์๊ฐ ํํ๋์ด ์๋ค.
์ปดํ์ผ์ด ๋์ ์คํํ์ผ์ด ๋ง๋ค์ด์ง๋ฉด Symbolic Add๊ฐ ์ซ์๋ก ๋ ์ฃผ์๋ก ๋ฐ๋๊ฒ ๋๋ค.
-> ํ๋ก๊ทธ๋จ ๋ง๋ค ๊ฐ์ง๋ ์ฃผ์์ด๊ธฐ ๋๋ฌธ์ Logical add์ด๋ค.
์์ค์ฝ๋์ ์๋ ๊ฐ๊ฐ์ ๋ฌธ์๋ค์ด 0, 10, 20,... ๋ฒ์ง๋ก ๋ฐ๋๊ฒ ๋๋ค.
์คํ์ด ๋๋ ค๋ฉด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ์ผ ํ๊ณ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๊ฐ ๊ฒฐ์ ๋๋ ๊ฒ์ ์ฃผ์ ๋ฐ์ธ๋ฉ
์ด๋ผ๊ณ ํ๋ค.
-> ๊ทธ ์์ ์ 3๊ฐ์ง๊ฐ ์กด์ฌํ๋ค.
Compile time binding์ ์ํด ๋ง๋ค์ด์ง ์ฝ๋๋ฅผ ์ ๋ ์ฝ๋(absolute code)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
-> ์ ๋์ฝ๋์ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด ์ปดํ์ผ์ ๋ค์ ํด์ผํ๋ค.
Load time binding์ ์ํด ๋ง๋ค์ด์ง ์ฝ๋๋ฅผ ์ฌ๋ฐฐ์น๊ฐ๋ฅ์ฝ๋(relocatable code)๋ผ๊ณ ํ๋ค.
-> ํญ์ ํน์ ์์น์ ์ฌ๋ผ๊ฐ์ผ ํ๋ ๊ฒ์ด ์๋๋ผ ๋น์ด์๋ ์์น๋ผ๋ฉด ์ธ์ ๋ ์ง ์ฌ๋ผ๊ฐ ์ ์๋ ์ฝ๋๋ฅผ ์๋ฏธํจ.
-> ํ๋ก๊ทธ๋๋ฐ์ด ์์๋๋ฉด ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค.
Run time binding
-> ๋ฐํ์ ๋์ค ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค.
-> CPU๊ฐ ์ด๋ค ๋ฉ๋ชจ๋ฆฌ์ฃผ์๋ฅผ ์์ฒญํ ๋ ๋ง๋ค binding์ ์ฒดํฌํด๋ด์ผ ํ๋ค.
-> ํ๋์จ์ด์ ์ง์ ํ์ (MMU)
CPU๊ฐ ๋ฐ๋ผ๋ณด๋ ์ฃผ์๋ ์ด๋ค ์ฃผ์์ผ๊น?
-> CPU๋ ํ๋์จ์ด์ด๊ธฐ ๋๋ฌธ์ Pysical add๋ฅผ ๋ณผ ๊ฒ ๊ฐ์ง๋ง Logical Add๋ฅผ ๋ณธ๋ค.
-> ์ ์ด๋ ๊ฒ ๋ ๊น?
-> ์ฐ๋ฆฌ๊ฐ ์์คํ์ผ์ ์ปดํ์ผํด์ ์คํํ์ผ์ ๋ง๋ค๊ฒ ๋๋ฉด ๊ฐ๊ฐ์ด instruction์ธ๋ฐ CPU๊ฐ ์ด๋ฅผ ์คํํ๋ ค๋ฉด ๋ฉ๋ชจ๋ฆฌ 20๋ฒ์ง, 30๋ฒ์ง์ ์๋ ๋ด์ฉ์ ์ฝ์ด ๋๋ ค์ ๋ํ๋ ์ฐ์ฐ์ ํด์ผํ๋ค.
-> ๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ ํ์๋์ด์๋ ๊ฒ์ Logical Add์ด๋ค.
-> ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๋๋ผ๋ ์ปดํ์ผ๋ ์ฝ๋์ ๋ค์ด๊ฐ์๋ ์ฃผ์๋ ๋ฐ๊ฟ ์ ์๋ค.
-> ์ฆ, ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๋๋ผ๋ ์ปดํ์ผ ๋ ์ฝ๋๋ ๋ฐ๊ฟ ์ ์๋ค.
-> CPU๊ฐ Add ๋ฅผ ํ๊ณ ์ถ์๋ฐ ๊ทธ ์์ ์๋ ์ฃผ์๋ Logical Add์ด๋ค.
CPU๊ฐ ๋งค๋ฒ ๋ฉ๋ชจ๋ฆฌ ๋ช๋ฒ์งธ์ ์๋ ๋ด์ฉ์ ๋ฌ๋ผ๊ณ ํ๋ฉด ๊ทธ๋ ์ฃผ์๋ณํ์ ํด์ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๊ณต๊ฐ์ ์ฐพ์ ํ ๊ทธ ๋ด์ฉ์ ์ฝ์ด์ CPU์ ์ ๋ฌ์ ํด์ผํ๋ค.
-> ๊ทธ๋์ CPU๋ Logical Add๋ฅผ ๋ณธ๋ค๊ณ ์๊ธฐํ๋ ๊ฒ์ด๋ค.
Run time binding์ ๊ทธ๋๊ทธ๋ ๋ง๋ค ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ฃผ์๋ณํ์ฉ ํ๋์จ์ด ์ง์์ด ํ์ํ๋ค.
-> ์ด ํ๋์จ์ด๋ฅผ 'MMU'๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ค์ ๋ก๋ ํ์ํ ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๋ค.
-> ๊ฐ๊ฐ์ ์ฝ๋๊ฐ ์งค๋ ค์ ์ฐ๋ฐ์ ์ผ๋ก ์ฌ๋ผ๊ฐ๋ค.
๊ทธ๋ฌ๋ ์ง๊ธ ๊ณต๋ถํ๋ ๊ฒ์ ํต์งธ๋ก ์ฌ๋ผ๊ฐ๋ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๋ค.
์ฃผ์๋ณํ์ ํ ๋ MMU๋ register ๋๊ฐ๋ฅผ ํตํด ๋ณํ๋๋ค.
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ logical add๋ง ๋ค๋ฃฌ๋ค.
์ค์ ํผ์ง์ปฌ add๋ ๋ณผ ์ ์๊ณ ์ ํ์๋ ์๋ค.
CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ 346๋ฒ์ง์ ์๋ ๋ด์ฉ์ ๋ฌ๋ผ๊ณ ํ๋ฉด logical add์ด๋ฏ๋ก ์ฃผ์๋ณํ์ด ํ์ํ๋ค.
์ด ์ฃผ์๋ณํ์ ํด์ฃผ๋ ํ๋์จ์ด๊ฐ MMU์ด๋ฉฐ ๊ฐ์ฅ ๊ฐ๋จํ ์ฃผ์๋ณํ์ ๋ ์ง์คํฐ ๋๊ฐ๋ก ์ฃผ์๋ณํ์ด ์ด๋ฃจ์ด์ง๋ค.
๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์์ ํด๋น instruction์ ์ฐพ๋ ๋ฐฉ๋ฒ์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์์์ฃผ์ + vitual ๋ฉ๋ชจ๋ฆฌ์์์ ์ฃผ์
-> ๊ทธ ์์น์ ์๋ ๋ด์ฉ์ CPU์๊ฒ ์ ๋ฌํ๋ฉด ๋๋ค.
MMU์์ base register์๋ ๋ฉ๋ชจ๋ฆฌ์ ์์์ฃผ์๋ฅผ ์ ์ฅํด๋๋๋ค.
limit register์ ํ๋ก์ธ์ค P1์ ํฌ๊ธฐ๋ฅผ ๋ด๊ณ ์๋ค.
-> ํฌ๊ธฐ๋ฅผ ์ ํด๋๋ ์ด์ ๋ ๋ง์ฝ ์ด ํ๋ก๊ทธ๋จ์ด ์
์์ ์ธ ํ๋ก๊ทธ๋จ์ด๋ผ์ ๋ณธ์ธ์ ํฌ๊ธฐ๊ฐ 3000์ธ๋ฐ๋ ๋ถ๊ตฌํ๊ณ ๋ณธ์ธ์ instruction์์ 4000๋ฒ์งธ ๋ด์ฉ์ CPU์๊ฒ ๋ฌ๋ผ๊ณ ํ ์ ์๋ค.
-> ์ด ํ๋ก๊ทธ๋จ์ 3000๋ฒ๊น์ง ๋ฐ์ ์๋๋ฐ ์์ง๋ ์์ 4000๋ฒ์ ๋ฌ๋ผ๊ณ ํ์ฌ ์ฃผ์๋ณํ์ ํ๋ฉด ์ด ํ๋ก๊ทธ๋จ์ ํด๋นํ์ง ์์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๊ฒ ๋๋ค.
-> ์ฃผ๋ฉด ์๋๋ค.
Dynamic : ๋์ , Loading : ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๊ฒ
ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค์ผ ์คํ์ด ๋๋๋ฐ ๋์ ์ผ๋ก ์ฌ๋ฆฐ๋ค.
-> ๋์ ์ผ๋ก ์ฌ๋ฆฐ๋ค๋ ๊ฒ์ ํด๋น ๋ฃจํด์ด ๋ถ๋ ค์ง ๋ ๋ง๋ค ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๊ฒ์ ๋งํ๋ค.
ํ๋ก๊ทธ๋จ์ ๋ฐฉ์ด์ ์ผ์๋ก ์ข์๋ฐ ๊ทธ๋ฌ๋ ค๋ฉด ๋ง์ด ์ฌ์ฉํ์ง ์๋ ์ฝ๋๋ค์ด ์กด์ฌํ๋ค.
-> ์ด๋ฐ ์ฝ๋๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํด ์์ผ๋ฉด ๋นํจ์จ์ ์ด๊ธฐ ๋๋ฌธ์ ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๋ค์ด๋๋ฏน ๋ก๋ฉ์ ๊ฐ๋
์ ์ ๊ตํ๊ฒ ์์์ผ ํ๋ ๊ฒ์ด ์๋๋ฐ ์ง๊ธ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ค๊ณ ํ๋ฉด ํ์ํ ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๊ณ ํ์์์ผ๋ฉด ๋ด๋ ค๊ฐ๋๋ฐ ์ด๋ ๋ค์ด๋๋ฏน ๋ก๋ฉ์ด ์๋๋ผ ์ด์์ฒด์ ์ ํ์ด์ง ์์คํ
์ ์ํด์ ์ด๋ฃจ์ด์ง๋ ๊ฒ์ด๋ค.
-> ๋ณดํต ๋ค์ด๋๋ฏน ๋ก๋ฉ์ด๋ผ ํ๋ฉด ์ด์์ฒด์ ๊ฐ ํด์ฃผ๋ ๊ฒ์ด ์๋๋ผ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ํ๋๋ก ๋ง๋๋ ๊ฒ์ ์๋ฏธํ๋ค.
-> ๊ทธ๋ผ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ชจ๋ ๋ค์ด๋๋ฏนํ๊ฒ ์์ฑํ๋?
-> ๊ทธ๊ฑด ์๋๋ค. ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฝ๊ฒ ํ๋๋ก OS๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์ํ๋ค.
๋ค์ด๋๋ฏน ๋ก๋ฉ๊ณผ ๊ตฌ๋ณํด์ ์ฌ์ฉํด์ผํ๋ ์ฉ์ด Overlays
Overlays๋ ์ด์ฐฝ๊ธฐ ์ปดํจํฐ ์์คํ
์์ ์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ ํ๋ํ๋๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ค.
-> ํ๋ก๊ทธ๋๋จธ๊ฐ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค ์คํ์ํฌ ๋๋ ํฐ ํ๋ก๊ทธ๋จ์ ์ชผ๊ฐ์ ์ด๋ฒ์ ์ด์ชฝ๋ถ๋ถ์ ์ฌ๋ ค๋๊ณ ์คํํ๊ณ ๋ค๋ฅธ ๋ถ๋ถ์ด ํ์ํ๋ฉด ๊ทธ ๋ถ๋ถ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค ์คํ์ํค๋ ๋ฑ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์์
์ผ๋ก ์ฝ๋ฉ์ ํ๋ค.
Overlays๋ฅผ ๋ค๋ฅธ๋ง๋ก Manual Overlay๋ผ๊ณ ํ๋๋ฐ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์์
์ผ๋ก ํ๋ค๋ ๊ฒ์ด๋ค.
-> ๊ต์ฅํ ๋ถํธํ๊ณ ์ด๋ ค์ด ํ๋ก๊ทธ๋๋ฐ์ด ๋ ๊ฒ์ด๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก Overlays๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฝ๋ฉ์ ํตํด ์์ ์ ํ๋ ๊ฒ์ด๊ณ Dynamic Loading๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฝ๋ฉ์ ํตํด ์์ ํ์ง๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค๋ ์ฐจ์ด์ ์ด ์๋ค.
์ซ๊ฒจ๋์ backing store๋ก ๋ค์ด๊ฐ๋ ๊ฒ์ swap out์ด๋ผ๊ณ ํ๊ณ backing store๋ก ์ซ๊ฒจ๋ฌ๋๊ฒ ๋์ค๋ ๊ฒ์ swap in ์ด๋ผ๊ณ ํ๋ค.
์ค๊ธฐ ์ค์ผ์ค๋ฌ๊ฐ swap out์ํฌ ํ๋ก์ธ์ค๋ฅผ ์ ์ ํ๋ค.
-> ๊ทธ๋์ ์ค๊ธฐ ์ค์ผ์ค๋ฌ๋ฅผ swapper๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ค๊ธฐ ์ค์ผ์ค๋ฌ๋ ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ์ซ์๋ด๋?
-> CPU ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ฅผ ์ซ์๋ด๋ ๊ฒ์ด ์ข๋ค.
swapping ์์คํ
์ด ์ง์์ด ๋๊ธฐ ์ํด์๋ ๋ฐ์ธ๋ฉ๊ณผ ํจ๊ป ์๊ฐํด์ผํ๋ค.
-> ๋ง์ฝ์ compile time binding์ด๋ Load time binding์ด ์ฌ์ฉ๋๊ณ ์๋ค๋ฉด swapping์ ์ํด์ ์ซ๊ฒจ๋ฌ๋ค๊ณ ๋ค์ ๋์์ฌ ๋ ์๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ๋์์์ผ ํ๋ค.
-> ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋น์ด์๋๋ผ๋ ๋ฐ๋์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ๋์์์ผ ํ๋ค.
Swapping์ ์ข ๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ Run time binding์ด ์ฌ์ฉ๋์ด์ผ ํ๋ค.
-> ์ซ๊ฒจ๋ฌ๋ค๊ฐ ๋ค์ ์ฌ๋ผ์ฌ ๋ ์๋ ์ฃผ์๊ฐ ์๋ ๋ค๋ฅธ ์์น๋ก ๋๊ธธ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฉ๋ชจ๋ฆฌ์์ ํ๋ก๊ทธ๋จ์ ํต์งธ๋ก ๋ด๋ ค๋๊ณ ์ฌ๋ ค๋๋ ์ผ์ ๋ฐฉ๋ํ ์์ด ์์ง์ด๋ ๊ฒ์ด๋ค.
-> ํ์ผ ์
์ถ๋ ค๊ณผ ๋ค๋ฅด๊ฒ ์์ด ๊ต์ฅํ ๋ง๋ค.
-> ๋ฐ๋ผ์ ๋์คํฌ์ ์ ๊ทผํ๋ ์๊ฐ์ด transfer time(swap๋๋ ์์ ๋น๋กํ๋ ์๊ฐ)์ด๋ค.
ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์์ ํต์งธ๋ก ์ซ๊ฒจ๋๋ ๊ฒ์ swapping์ด๋ผ๊ณ ํ๋ค.
-> ์ต๊ทผ์๋ ํ์ด์ง ์์คํ
์์ ์กฐ๊ฐ๋ค์ด ์ซ๊ฒจ๋๊ณ ์ฌ๋ผ์ค๋ ๊ฒ๋ ๊ทธ ํ์ด์ง๊ฐ swap out, in ๋๋ค๊ณ ํํํ๊ธฐ๋ ํ๋ค.
-> ์์น์ ์ผ๋ก๋ ์ฃผ์๊ณต๊ฐ์ด ์ ๋ถ๋ค ์ซ๊ฒจ๋๋ ๊ฒ์ ์๋ฏธํ๋ค.
Linking : ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ค์์ ๋ณดํต ์ปดํ์ผํ๊ณ ๋งํฌ์์ ์คํํ์ผ์ ๋ง๋ ๋ค.
-> ๋งํฌ๋ผ๋ ๊ฒ์ ์ฌ๋ฌ๊ตฐ๋ฐ ์กด์ฌํ๋ ์ปดํ์ผ๋ ํ์ผ๋ค์ ๋ฌถ์ด์ ํ๋์ ์คํํ์ผ์ ๋ง๋๋ ๊ณผ์
๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ด ์คํํ์ผ ์ฝ๋์ ํฌํจ๋๋ ๊ฒ์ static linking์ด๋ผ๊ณ ํ๋ค.
๋ค์ด๋๋ฏน ๋งํน์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ค๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถํ๋๊ณณ์ ์ด๋ฅด๊ฒ ๋๋ฉด ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ด๋์ ์๋์ง๋ฅผ ์ฐพ๋๋ค.
-> ๋ณ๋์ ํ์ผ์ ํํ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์กด์ฌํ๋๋ฐ ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๊ณ ์ด๋ฏธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ์๋ค๋ฉด ๊ทธ ์ฃผ์๋ก๊ฐ์ ์คํํ๋ค.
์) Printfํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๋ฅผ ์ฌ์ฉํด์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์๋ค.
-> Printf ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๊ฐ Static linking์ด ์ด๋ฃจ์ด์ง๊ฒ ๋๋ฉด ๋ด๊ฐ๋ง๋ ์คํํ์ผ์ Printf๊ฐ ํฌํจ๋๊ณ ์คํ๋๋ค.
-> ์คํ์ํค๊ฒ ๋๋ฉด ๋ด์ฝ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋์ ๊ตฌ๋ณ์์ด ํ๋ก๊ทธ๋จ ์ฃผ์๊ณต๊ฐ์์์ ์คํ๋๋ค.
-> ๋ง์ฝ 100๋ช
์ด Printf๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋๋ฐ์ ํ๊ณ ์คํํ์ผ๋ก ๋ง๋ ๋ค์ ํ๋ก๊ทธ๋จ 100๊ฐ๋ฅผ ์คํ์ํค๋ฉด ๋น๋ก ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ์ฝ๋๋ผ๋ 100๊ฐ์ ํ๋ก๊ทธ๋จ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ๊ฒ์ด๋ค.
๋ค์ด๋๋ฏน ๋งํน์ Printf๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋๋ฐ์ ํ๋๋ฐ Printfํจ์์ ์ฝ๋๊ฐ ๋ด ์คํํ์ผ์ ๋ค์ด๊ฐ์ง ์๊ณ ๊ทธ๋ฅ Printf๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ด๋ง๋์ง ์์น๋ฅผ ์ฐพ์ ์ ์๋ ์ฝ๋๋ง ๋ด ํ๋ก๊ทธ๋จ์์ ๋ฃ๋๊ฒ์ด๋ค.
๊ทธ๋์ ์คํ์ด ๋๋ฉด 100๋ช
์ ์ฝ๋๊ฐ Printf๋ฅผ ์จ์ ํ๋ก๊ทธ๋๋ฐ์ ํ๋๋ฐ ๋ค์ด๋๋ฏน ๋งํน์ ์ฌ์ฉํ๋ค ๊ทธ๋ผ ํ๋ก๊ทธ๋๋ฐ์ด ์ํ๋ ๋ Printf๋ฅผ ํธ์ถํ๋ ์ง์ ์ ์ด๋ฅด๋ฉด ์ฝ๋๊ฐ ์๋ค.
-> ๊ทธ๋์ ์ฝ๋์ ํด๋นํ๋ ํ์ผ์ ์ฐพ์์ ๊ทธ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค์ ์คํํ๋ค.
-> ๋ง์ฝ 100์ด Printf๋ฅผ ์ฌ์ฉํด์ ๋ค๋ฅธ ์ฌ์ฉ์์ ์ํด์ Printf์ ๋ค์ด๋๋ฏน ๋งํน๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์๋ค๋ฉด ๊ทธ๊ฒ์ ๊ณต์ ํด์ ์ฌ์ฉํ ์ ์๋ค.
๋ค์ด๋๋ฏน ๋งํน์ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ shared ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
-> ๋ฆฌ๋
์ค์์๋ shared ์ค๋ธ์ ํธ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
-> ์๋์ฐ์์๋ DLL์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ๊ด๋ฆฌํ ๊ฒ์ธ๊ฐ?
๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฎ์ ์ฃผ์๋ถ๋ถ์ ์ด์์ฒด์ ์ปค๋์ด ํญ์ ์์ฃผํ๊ณ ์๋ค.
-> ๋์ ์ฃผ์์์ญ์๋ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ฌ๋ผ๊ฐ๊ฒ ๋๋ค.
-> ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ฌ๋ผ๊ฐ๋ ๊ณณ์ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๋๋ ์ ์๋ค
1. Contiguous allocation
-> ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ๋ ํต์งธ๋ก ์ฌ๋ผ๊ฐ๋ ๊ฒ์ ๋งํจ.
2. Nonontiguous allocation
-> ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ์ฃผ์๊ณต๊ฐ์ ์๊ฒ ์ชผ๊ฐ์ ์ผ๋ถ๋ ์ ์ชฝ์ ์ฌ๋ผ๊ฐ๊ณ ์ผ๋ถ๋ ๋ค๋ฅธ์ชฝ์ ์ฌ๋ผ๊ฐ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋งํจ.
-> ํ๋๋ ๋ถ์ฐ์ ํ ๋น์ ์ฌ์ฉํ๊ณ ์๋ค.
-> ๊ทธ์ค์์๋ ํ๋ก๊ทธ๋จ์ ์ฃผ์๊ณต๊ฐ์ ๊ฐ์ ํฌ๊ธฐ์ ํ์ด์ง๋ก ์๋ผ์ ํ์ด์ง ๋จ์๋ก ๋ฉ๋ชจ๋ฆฌ ์ฌ๊ธฐ์ ๊ธฐ๋ก ์ฌ๋ฆฌ๊ณ ๋ด๋ฆฐ๋ค.
๊ณ ์ ๋ถํ ๋ฐฉ์
-> ํ๋ก๊ทธ๋จ์ด ๋ค์ด๊ฐ ์ฌ์ฉ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ฏธ๋ฆฌ ํํฐ์
์ผ๋ก ๋๋์ด ๋๋ ๊ฒ์ ๋งํจ.
๊ฐ๋ณ๋ถํ ๋ฐฉ์
-> ํ๋ก๊ทธ๋จ์ด ๋ค์ด๊ฐ ์ฌ์ฉ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ฏธ๋ฆฌ ๋๋์ง ์๋ ๊ฒ์ ๋งํจ.
๊ณ ์ ๋ถํ ๋ฐฉ์์์ ๋ฏธ๋ฆฌ ๋ถํ 4๊ฐ๋ฅผ ๋ง๋ค์ด ๋์๋ค.
-> ๊ฐ์ ํฌ๊ธฐ๋ก ๋๋์๋ ์๊ณ ์๋ ์๋ ์๋ค.
-> ์ด๋ฐ์ํฉ์์ ํ๋ก๊ทธ๋จA๊ฐ ์คํ๋๋ฉด ๋ถํ 1์ ํฌ๊ธฐ์ ๊ฐ๋ค๋ฉด ๋ถํ 1์ ์ฌ๋ ค๋์ผ๋ฉด ๋๋ค.
-> ๊ทธ๋ค์์ ํ๋ก๊ทธ๋จB๊ฐ ์คํ๋์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ์ผ ํ๋๋ฐ ๋ถํ 2๋ณด๋ค ์ปค์ ๋ถํ 2์ ๋ค์ด๊ฐ ์ ์๋ค.
-> ํ๋ก๊ทธ๋จB๋ ๋ถํ 3๋ฒ์ ๋ค์ด๊ฐ๊ฒ ๋๋ค.
-> ๋ญ๋น๋๋ ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐ์ด ์๊ธฐ๊ฒ ๋๋๋ฐ ์ธ๋ถ์กฐ๊ฐ, ๋ด๋ถ์กฐ๊ฐ์ผ๋ก ๋๋ ์ ์ด์ผ๊ธฐํ๋ค.
๊ณ ์ ๋ถํ ๋ฐฉ์์ ๋ถํ ๊ณผ ํ๋ก๊ทธ๋จํฌ๊ธฐ๊ฐ ๋ฌ๋ผ์ ์๊ธธ ์ ์๋ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํจ.
๊ฐ๋ณ ๋ถํ ๋ฐฉ์
-> ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋๋ง๋ค ์ฐจ๊ณก์ฐจ๊ณก ์ฌ๋ ค๋๋ ๊ฒ์ ๋งํจ.
-> ์คํ์ด ๋๋ค๊ฐ B๊ฐ ๋๋๋ฉด ๊ณต๊ฐ์ด ๋น๊ณต๊ฐ์ด ๋ ๊ฒ์ด๋ค.
-> ์ดํ D๊ฐ ์คํ์ด ๋๋๋ฐ B๊ฐ ๋ค์ด๊ฐ๋ ๊ณต๊ฐ์ ๋ค์ด๊ฐ ์ ์๋ค
-> D๋ ์๋์ชฝ์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค.
-> ํ๋ก๊ทธ๋จํฌ๊ธฐ๋ณด๋ค ๋จ์ ๊ณต๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ๋ชปํ ๊ณต๊ฐ์ด๋ค.
-> ์ธ๋ถ ์กฐ๊ฐ์ ์๋ฏธํ๋ค.
์ธ๋ถ์กฐ๊ฐ : ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๊ณ ์ถ์๋ฐ ์ฌ๋ฆด๋ ค๋ ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๊ฐ ์์์ ์ฌ์ฉ์ด ์๋๋ค.
-> ํ๋ก๊ทธ๋จ์ด ๋ค์ด๊ฐ ์ ์๋ ๊ณต๊ฐ์์๋ ๋๋ฌด ์์์ ์ฌ์ฉ์ด ์๋ ๊ฒ์ ์๋ฏธํจ.
๋ด๋ถ์กฐ๊ฐ : ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๊ฐ ๋ถํ 3๋ฒ๋ณด๋ค ์์ ๋จ๋ ์กฐ๊ฐ์ด ์กด์ฌํ๋ค.
-> ํ๋ก๊ทธ๋จB์๊ฒ ํ ๋น์ด ๋ ๊ณต๊ฐ์ด์ง๋ง ์ฌ์ฉ์ ์๋๋ ๊ณต๊ฐ์ด๋ค.
Best-fit : ํ์ ๋ชจ๋ ์ฐพ์๋ณธ ๋ค์์ ํ์ ํฌ๊ธฐ์ ๊ฐ์ฅ ์ ๋ง๋ ํ๋ก๊ทธ๋จ์ ์ฌ๋ ค๋๋ ๊ฒ์ ์๋ฏธํจ.
-> ํ๋ค์ ํ์ํ๋ ์๊ฐ ๋ถ๋ด์ด ์๋ค.
์ค๊ฐ์ค๊ฐ์ ์์ ํ๋ค์ด ์๊ธฐ๊ฒ ๋ ํ
๋ฐ ์ด๋ฐ ํ๋ค์ ๋ฌถ์ด์ ์ฆ, ์ฌ์ฉ์ค์ธ ๋ฉ๋ชจ๋ฆฌ๊ณต๊ฐ์ ํ๊ณณ์ผ๋ก ๋ฐ์ด๋์ ์ ์์ ๊ฒ์ด๋ค.
-> ์ด๋ฅผ compaction์ด๋ผ๊ณ ํ๋ค.
๋ถ์ฐ์ ํ ๋น ๊ธฐ๋ฒ์ ํฌ๊ฒ ํ์ด์ง ๊ธฐ๋ฒ๊ณผ ์ธ๊ทธ๋งจํ ์ด์ ๊ธฐ๋ฒ์ผ๋ก ๋๋ ์ ์๋ค.
ํ์ด์ง ๊ธฐ๋ฒ : ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ์ฃผ์๊ณต๊ฐ์ ๊ฐ์ ํฌ๊ธฐ์ ํ์ด์ง๋ก ์๋ฅด๋ ๊ฒ์ด๋ค.
-> ๊ฐ์ ํฌ๊ธฐ๋ก ์๋ผ์ ํ์ด์ง ๋จ์๋ก ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋๊ฑฐ๋ backing store์ ๋ด๋ ค๋๊ฑฐ๋.
-> ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ์ฃผ์๊ณต๊ฐ์ ๊ฐ์ ํฌ๊ธฐ์ ํ์ด์ง๋ก ์๋ฅธ ๊ฒ์ฒ๋ผ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ๋ค์ด๊ฐ ์ ์๋ ํ์ด์ง ํฌ๊ธฐ๋ก ๋ฏธ๋ฆฌ ์๋ฅด๋๋ฐ ์ด๋ฅผ ํ์ด์งํ๋ ์์ด๋ผ๊ณ ํ๋ค.
-> ์ด๋ฐ ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ฉด ํ๋ค์ ํฌ๊ธฐ๊ฐ ๊ท ์ผํ์ง ์์์ ์ด๋๋ค๊ฐ ์ง์ด๋ฃ์ผ ํ ์ง ํน์ ํ๊ณณ์ผ๋ก ๋ฏธ๋ค๋์์ผ ํ๋ ๋ฌธ์ ๊ฐ ์์ด์ง๋ค.
-> ๋น์ด์๋ ๊ณต๊ฐ์ด๋ฉด ํ์ด์ง ํฌ๊ธฐ๊ณผ ๊ฐ๊ธฐ ๋๋ฌธ์ ํ์ด์ง ํฌ๊ธฐ์ ํ๋ก๊ทธ๋จ์ ์ด๋๋ ๋ค์ด๊ฐ ์ ์๋ค.
-> ๋ถ์ฐ์ ํ ๋น์ ์ฌ์ฉํ๊ฒ ๋๋ฉด MMU์ ์ํด์ ์ฃผ์๋ณํ์ ํ ๋ ๋จ์ง ์์์ฃผ์๋ฅผ ๋ํด์ ์ฃผ์๋ณํ์ ํ๋ ๊ฒ์ด ์๋๊ณ ์๋ ค์ง ๊ฐ๊ฐ์ ํ์ด์ง๊ฐ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ด๋์ ์ฌ๋ผ๊ฐ ์๋์ง ํ์ธํด๋ด์ผ๊ณ ์ฆ, ์ฃผ์๋ณํ์ ํ์ด์ง๋ง๋ค ํด์ผํ๊ธฐ ๋๋ฌธ์ ์ข ๋ ๋ณต์กํด์ง๋ค.
Segmentation ๊ธฐ๋ฒ : ํ๋ก๊ทธ๋จ์ ์ฃผ์๊ณต๊ฐ์ ๊ฐ์ ํฌ๊ธฐ๋ก ์๋ฅด๋ ๊ฒ์ด ์๋๋ผ ์๋ฏธ์๋ ๋จ์๋ก ์๋ฅด๋ ๊ฒ์ ์๋ฏธํจ.
-> ํ๋ก๊ทธ๋จ์ ์ฃผ์๊ณต๊ฐ์ด๋ผ๋ ๊ฒ์ ์ฝ๋, ๋ฐ์ดํฐ, ์คํ ํฌ๊ฒ 3๊ฐ์ง ์๋ฏธ์๋ ๊ณต๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
-> Segmentation ๊ธฐ๋ฒ์ ์ฝ๋, ๋ฐ์ดํฐ, ์คํSegmentation๋ก ์๋ผ์ ๊ฐ๊ฐ์ ์ธ๊ทธ๋จผํธ๋ฅผ ํ์์์ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ค๋ฅธ์์น์ ์ฌ๋ ค๋๋ ๊ธฐ๋ฒ
-> 3๊ฐ์ง ๋ฟ๋ง ์๋๋ผ ๋ ์๊ฒ ์๋ฅผ ์ ์๋ค.
-> ํจ์๋ฅผ ์ธ๊ทธ๋จผํธ๋ก ๋ง๋ค ์ ์๋ค.
-> ์ด ์ญ์ ์ธ๊ทธ๋จผํธ ๋จ์๋ก ์ฃผ์ ๋ณํ์ ํด์ฃผ์ด์ผ ํ๋ค.
-> ์ธ๊ทธ๋จผํธ๋ ์๋ฏธ ๋จ์๋ก ์๋ฅธ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ํฌ๊ธฐ๊ฐ ๊ท ์ผํ์ง๋ ์๋๋ค.
-> ํ๋ก๊ทธ๋จ์ ์ฌ๋ฆด ๋ ๊ท ์ผํ์ง ์๊ธฐ ๋๋ฌธ์ Dynamic Storage-Allocation Problem๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
contiguous, Noncontiguous ๋ฐฉ์์ ํต์งธ๋ก ์ฌ๋ฆฌ์ง ์๊ณ ์๋ผ์ ์ฌ๋ฆฐ๋ค.
-> Noncontiguous๋ ์ฐ๋ฐ์ ์ผ๋ก ์ฌ๋ฆด ์ ์๋ค.
[์ถ์ฒ] ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์