ํ๋ก์ธ์ค์ ์ฃผ์๊ณต๊ฐ์ ๋์ผํ ํฌ๊ธฐ์ ํ์ด์ง๊ฐ ์๋๋ผ ์๋ฏธ ๋จ์์ธ ์ธ๊ทธ๋จผํธ๋จ์๋ก ๋๋์ด์ ๊ด๋ฆฌํ๋ค.
-> ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์๋ ์ธ๊ทธ๋จผํธ ๋จ์๋ก ์ฌ๋ผ๊ฐ ์ ์๊ธฐ ๋๋ฌธ์ ์ฃผ์ ๋ณํ๋ ์ธ๊ทธ๋จผํธ ๋จ์๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๋ฉฐ ํ
์ด๋ธ์ ํตํด ๋ณํ์ด ๋๋ค.
CPU๊ฐ ์ด๋ฌํ ๋
ผ๋ฆฌ์ฃผ์๋ฅผ ์ฃผ๊ฒ ๋๋ฉด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ก ๋ณํํ๊ธฐ ์ํด ์ธ๊ทธ๋จผํธ ํ
์ด๋ธ์ ๊ฒ์ฌํ๋ค.
-> ๋
ผ๋ฆฌ์ฃผ์๋ ๋ ๋ถ๋ถ์ผ๋ก ๋๋์ด์ง๊ณ ์๋ถ๋ถ์ ์ธ๊ทธ๋จผํธ ๋ฒํธ์ ํด๋นํ๋ ๋ถ๋ถ, ๋ท ๋ถ๋ถ์ ์ธ๊ทธ๋จผํธ ์์์ ์ผ๋ง๋ ๋จ์ด์ ธ ์๋์ง ์์น๋ฅผ ๋ํ๋ธ๋ค.
-> ์ธ๊ทธ๋จผํธ ํ
์ด๋ธ์๋ ์ํธ๋ฆฌ๊ฐ ๋ช ๊ฐ ์๋๋, ํ์ด์ง ํ
์ด๋ธ์ธ ๊ฒฝ์ฐ ์ํธ๋ฆฌ ์๊ฐ ๋ฏธ๋ฆฌ ์ ํด์ ธ ์๋ค. ํ๋ก์ธ์ค๊ฐ ๊ฐ์ง ์ ์๋ ์ต๋ ์์ญ๋งํผ ํ์ด์ง ํ
์ด๋ธ ์ํธ๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๋ค.
-> ์ธ๊ทธ๋จผํธ ํ
์ด๋ธ ์ํธ๋ฆฌ๋ ์ด ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ ์ธ๊ทธ๋จผํธ์ ๊ฐ์๋ก ์ ํด์ง๋ค.
-> ์ด ์ธ๊ทธ๋จผํธ๊ฐ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ด๋์ ์ฌ๋ผ๊ฐ ์๋๊ฐ๊ฐ ์ฃผ์๋ณํ์ ์ด์ผ๊ธฐํ๋ค. (base + d)
ํ์ด์ง ๊ธฐ๋ฒ๊ณผ ๋ค๋ฅด๊ฒ ์๊ฐํด์ผ ํ ๊ฒ์ด ์๋ค.
-> ์ธ๊ทธ๋จผํธ๋ ์๋ฏธ ๋จ์๋ก ์๋ฅด๊ธฐ ๋๋ฌธ์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๋ค.
-> ํ
์ด๋ธ์ ์ธ๊ทธ๋จผํธ์ ์์์์น ์ด์ธ์์ ๊ธธ์ด๋ฅผ ๋ด๊ณ ์๋ค. (limit)
d๊ฐ limit๋ณด๋ค ํฌ๋ค๋ฉด ์ ์ ํ์ง ์์ ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ๊ฐ ๋๋ค.
-> Trap!
Segment-table base register๊ณผ Segment-table length register์ ํ
์ด๋ธ ์์ ์๋ base, limit๊ณผ ๋ค๋ฅธ ์ด์ผ๊ธฐ๋ค.
-> ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ธ๊ทธ๋จผํธ ํ
์ด๋ธ์ ์์น์ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ ์ธ๊ทธ๋จผํธ ์๋ฅผ ์ ์งํด์ผ ํ๋ค.
์ธ๊ทธ๋จผํธ ๋ฒํธ๋ฅผ 5๋ฒ ์์ฒญํ๋๋ฐ ํ๋ก๊ทธ๋จ์ด ์ค์ ์ฌ์ฉํ๋๊ฒ์ 3๊ฐ ๋ฟ์ผ ์ ์๋ค.
-> ์ด๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ๊น?
-> ์ธ๊ทธ๋จผํธ ๋ฒํธ์ Segment-table length register์ ๊ฐ์ ๋น๊ตํด๋ณด๋ฉด ๋๋ค.
ํ์ด์ง๊ธฐ๋ฒ๊ณผ ์ธ๊ทธ๋จผํธ ๊ธฐ๋ฒ์ ๋น๊ตํ๋ค๋ฉด?
ํ์ด์ง ๊ธฐ๋ฒ์ ํฌ๊ธฐ๊ฐ ๋ชจ๋ ๋๊ฐ๊ธฐ ๋๋ฌธ์ ๋น์ด์๋ ํ๋ ์์ด๋ผ๋ฉด ์ธ์ ๋ ์ฌ์ฉํ ์ ์๋ค.
-> ์ธ๊ทธ๋จผํธ๋ ํฌ๊ธฐ๊ฐ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ํ์ด ์๊ธด๋ค. (Allocation๋ฌธ์ ๊ฐ ์๊ธด๋ค.)
ํ์ด์ง๋ ๊ฐ์๊ฐ ๊ต์ฅํ ๋ง๊ณ ์ธ๊ทธ๋จผํธ๋ ๋ณ๋ก ์๋ค. ํ์ด์ง์ ํ ์ด๋ธ์ ์ ์งํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค.
์ธ๊ทธ๋จผํธ๋ฅผ ์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ํ๋ ์์ ์ด๋ค.
0๋ฒ์ ์ฝ๋๋ฅผ ๋ด๊ณ ์๋ ์ธ๊ทธ๋จผํธ์ด๋ฉฐ ๊ฐ๊ธฐ ๋๋ฌธ์ sharingํ๋ค.
-> ๊ฐ์ ๋
ผ๋ฆฌ์ ์ธ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค.
์ธ๊ทธ๋จผํธ ํ๋๊ฐ ์ฌ๋ฌ๊ฐ์ ํ์ด์ง๋ก ๊ตฌ์ฑ์ด ๋๋ค.
-> ๋จผ์ ์ธ๊ทธ๋จผํธ์ ๋ํ ์ฃผ์๋ณํ์ด ๋๋ค.
-> ๋จผ์ ์ธ๊ทธ๋จผํธ ํ
์ด๋ธ์ ์ฐพ์.
-> ์ธ๊ทธ๋จผํธ ํ
์ด๋ธ์ด ๋ฉ๋ชจ๋ฆฌ ์ด๋์ ์๋?
-> STBRํ์ธํ์.
-> S๋ฒ์งธ ์ธ๊ทธ๋จผํธ์ ๊ฐ๋ฉด ์ฃผ์๋ณํ ์ ๋ณด๊ฐ ์๋ค.
-> ์ธ๊ทธ๋จผํธ๋น ํ์ด์ง ํ
์ด๋ธ์ด ์กด์ฌํ๋ค.
-> ํ์ด์ง ํ
์ด๋ธ์ ์์ ์์น๋ฅผ ์๋ ค์ค
-> Segment length์ ๊ธธ์ด์ d(offset)๋น๊ตํด์ d๊ฐ ๋ ํฌ๋ค๋ฉด Trap!
d๋ฅผ 2๊ฐ๋ก ์ชผ๊ฐ ๋ค. ์ ๋ถ๋ถ์ ํ์ด์ง์ ๋ฒํธ, ๋ท ๋ถ๋ถ์ offset.
-> ํ์ด์ง ํ
์ด๋ธ์ ์์ ์ฃผ์๋ถํฐ p(ํ์ด์ง ๋ฒํธ)์ ํด๋นํ๋ ์ํธ๋ฆฌ์๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ช๋ฒ์งธ ํ๋ ์์ธ์ง ๋์จ๋ค.
๋ฉ๋ชจ๋ฆฌ์๋ ํ์ด์ง ๋จ์๋ก ์ฌ๋ผ๊ฐ๊ธฐ ๋๋ฌธ์ allocation๋ฌธ์ ๋ ์๋ค.
๋ณด์๊ณผ ๋ณดํธ๋ ์ธ๊ทธ๋จผํธ ๋จ์์์ ํ๋ค.
์ด ์ฑํ
์์ ์ค์ํ ๋ด์ฉ์ ์ฃผ์๋ณํ์ด์๋ค.
-> ์ด์์ฒด์ ์ ์ญํ ์ ๋ฌด์์ธ๊ฐ?
-> ์ฃผ์๋ณํ์ ์ํ ์ด์์ฒด์ ์ ์ญํ ์ ์๋ค.
-> ๋ชจ๋ ํ๋์จ์ด๊ฐ ํด์ผํ๋ค.
์ด์์ฒด์ ๊ฐ ์ญํ ์ ๋งก๋๋ค๋ฉด CPU๋ ์ปค๋์ ๊ฐ๋ค ์ ์ ํ๋ก์ธ์ค์ ์๋ค๊ฐ๋ค ํด์ผ๋๋ ๋ง๋ ์๋๋ ์ํฉ์ด ๋ง๋ค์ด์ง๋ค.
-> ํ๋์จ์ด์ ์ํ ์ฃผ์๋ณํ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ค.
CPU๋ ๋งค ํด๋ญ ์ฌ์ดํด๋ง๋ค ๋ฉ๋ชจ๋ฆฌ์ ์ธ์คํธ๋ญ์ ์ ์ฝ๋ ์ญํ ์ ํ๋ค.
I/O์ฅ์น๋ฅผ ์ ๊ทผ ํ ๋ ์ด์์ฒด์ ๊ฐ ๊ด๋ จํ๋ค. -> ํ๋ก์ธ์ค๊ฐ ์ง์ I/O์ ์ ๊ทผํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ด๋ค.
[์ถ์ฒ] ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์