ํฐ์คํ ๋ฆฌ ๋ทฐ
์ด์์ฒด์ : ์ด์ค๋ชจ๋ ๋ฐ ํ๋์จ์ด ๋ณดํธ
dirmathfl 2020. 6. 18. 22:34์ด์์ฒด์ ๋ฅผ ์ด์ฉํ๋ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋ณ๋์ ๊ถํ์ ํ์ธํ์ง ์๊ณ , ํ์ผ์ ์ ์ฅํ ์ ์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
์
์์ ์ธ ํ๋ก๊ทธ๋จ์ ์คํํ ๊ฒฝ์ฐ ํ์ธ์ ์ ์ฅ๊ณต๊ฐ์ ์นจ๋ฒํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ค์ํฌ ์ ์๋ ์ํฉ์ด ๋ฐ์ํ ์ ๋ ์๋ค.
๋ํ, ์ด์์ฒด์ ๋ฅผ ์ข
๋ฃํ๋ ๋ช
๋ น์ด์ ๊ฐ์ ์คํ์ ์น๋ช
์ ์ธ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ๋ ๋น์ทํ ์ํฉ์ด ๋ฐ์ํ๋ค.
Dual Mode
์ด์์ฒด์ ๋ ํน๊ถ ๋ช ๋ น(Privileged Instructions)์ ์ง์ ํ๊ณ ์ผ๋ฐ ์ฌ์ฉ์๋ ์ฌ์ฉํ์ง ๋ชปํ๊ฒ ๋ง์๋ค. Applications์์ ํน๊ถ ๋ช ๋ น ์ฌ์ฉ์ด ํ์ํ ๊ฒฝ์ฐ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ kernel mode์ ์ง์ ํ, ์ด์์ฒด์ ๋ฅผ ํตํด ์ฒ๋ฆฌํ๊ณ ์ ํ๋ ์์ ์ ์ฒ๋ฆฌํ๋ค.
(ํน๊ถ ๋ช ๋ น์ด ์ฌ์ฉ ๊ฐ๋ฅํ kernel mode์ ๋ฐ๋์ธ user mode๋ CPU ๋ ์ง์คํฐ์ ๋ชจ๋๋ฅผ ๋ํ๋ ํ๋๊ทธ๋ฅผ ํตํด ๊ตฌ๋ถํ๋ค.)
๊ทธ๋ฆผ 1์ ๊ฒ์์์ ๋์คํฌ์ ์๋ก์ด ๋ฐ์ดํฐ ์ ์ฅ์ด ํ์ํ ์ํฉ์ด๋ค. ํน๊ถ ๋ช ๋ น์ Kernel mode์์๋ง ์คํ๋ ์ ์์ผ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ๋ค.
-
a์ ๊ฒฝ์ฐ๋ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ํน๊ถ ๋ช ๋ น์ด ํ์ํ๋ฏ๋ก ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ kernel mode๋ก ๋ณ๊ฒฝํ๊ณ kernel์ ์ง์ ํ๋ค.
-
b์ ๊ฒฝ์ฐ kernel mode์ด๋ฏ๋ก ๋์คํฌ์ ๊ฒ์์ผ๋ก ๋ถํฐ ์์ฒญ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
-
kernel์ ์์ ์ด ๋๋๋ฉด, ๋ค์ user mode๋ก ๋์์ ์์ ์ ์งํํ๋ค.
์ด์ ๊ฐ์ด ํน๊ถ ๋ช ๋ น์ด ํ์ํ ๊ฒฝ์ฐ ์์ 1-3๊ณผ ๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉฐ kernel ↔ user mode๋ฅผ ๋ณ๊ฒฝํ๊ฒ ๋๋ค.
H/W Protection
๋ค์์ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ ์ ์๋ ์ํฉ์์ ๋์์ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ํผ์ ์ด ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํ๊ฑฐ๋ ์น๋ช ์ ์ธ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ด์ ์ด์์ฒด์ ๋ ์ ์ถ๋ ฅ์ฅ์น, ๋ฉ๋ชจ๋ฆฌ, CPU์ ๋ํด ์ฌ์ฉ์๋ค ๊ฐ์ ๊ฐ์ญ์ด ๋ฐ์ํ์ง ์๋๋ก ํ๋ค.
์
์ถ๋ ฅ ์ฅ์น ๋ณดํธ
์
์ถ๋ ฅ์ ํน๊ถ๋ช
๋ น์ผ๋ก ๋ถ๋ฅํ์ฌ, ๊ฐ ํ๋ก๊ทธ๋จ ๋ณ๋ก ์
์ถ๋ ฅ ์์ฒญ์ ์งํํ ์ ์๋ค.
๋ฐ๋ผ์, ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ ์ด์์ฒด์ ์์ ์ฒ๋ฆฌํ๊ฒ ํ๋ฏ๋ก ๋ค๋ฅธ ์ฌ์ฉ์์ ์์ญ์ ์นจ๋ฒํ ์ ์๋ค.
๋ฉ๋ชจ๋ฆฌ ๋ณดํธ
ํ๋ก๊ทธ๋จ์ ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ธ์ ๋ค๋ฅธ ์์ญ (๋ค๋ฅธ ์ฌ์ฉ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ, ์ด์์ฒด์ ๋ฉ๋ชจ๋ฆฌ ์์ญ)์ ์ ๊ทผํ๋ ๊ฒ์ ๋ง๋๋ค. ์ด๋ MMU(Memory Management Unit)์ ํตํด ๊ด๋ฆฌํ๋ค.
CPU ๋ณดํธ
ํ ์ฌ์ฉ์๋ก ๋ถํฐ ์คํ๋ ํน์ ํ๋ก๊ทธ๋จ CPU๋ฅผ ๋
์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์๋ค.
๋ฐ๋ผ์ ํ์ด๋จธ ์ธํฐ๋ฝํธ๋ฅผ ํตํด, ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ์ ์๋๋ก ๋ณด์ฅํ๋ค.
'๐๏ธโโ๏ธ ๊ธฐ๋ฐ ๋ค์ง๊ธฐ > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ด์์ฒด์ : ํ๋ก์ธ์ค ๋๊ธฐํ - ์ธ๋งํฌ์ด (0) | 2020.06.19 |
---|---|
์ด์์ฒด์ : ํ๋ก์ธ์ค์ ์ฐ๋ ๋ (0) | 2020.06.19 |
์ด์์ฒด์ : CPU ์ค์ผ์ค๋ง (0) | 2020.06.19 |
์ด์์ฒด์ : ํ๋ก์ธ์ค ๊ด๋ฆฌ (0) | 2020.06.18 |
์ด์์ฒด์ : ์ ์์ ์ญํ (0) | 2020.06.18 |