์ธํฐ๋ฝํธ(Interrupts)
ํ๋์ ๋ฒ์ฉ ์ปดํจํฐ ์์คํ ์ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ๋ ์ด์์ CPU์ ๊ตฌ์ฑ์์ ๊ทธ๋ฆฌ๊ณ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๋ ๊ณตํต ๋ฒ์ค๋ฅผ ํตํด ์ฐ๊ฒฐ๋ ์ฌ๋ฌ ์ฅ์น ์ปจํธ๋กค๋ฌ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๊ฐ ์ฅ์น ์ปจํธ๋กค๋ฌ๋ ํน์ ์ ํ์ ์ฅ์น(๋์คํฌ ๋๋ผ์ด๋ธ, ์ค๋์ค ์ฅ์น ๋๋ ๊ทธ๋ํฝ ๋์คํ๋ ์ด ๋ฑ)๋ฅผ ๋ด๋นํฉ๋๋ค. ์ปจํธ๋กค๋ฌ์ ๋ฐ๋ผ ๋ ์ด์์ ์ฅ์น๊ฐ ์ฐ๊ฒฐ๋ ์๋ ์์ต๋๋ค. ์ฅ์น ์ปจํธ๋กค๋ฌ๋ ์ผ๋ถ ๋ก์ปฌ ๋ฒํผ ์ ์ฅ์์ ํน์ ๋ชฉ์ ๋ ์ง์คํฐ ์งํฉ์ ์ ์ง ๋ฐ ๊ด๋ฆฌํ๋ฉฐ ์ฅ์น ์ปจํธ๋กค๋ฌ๋ ์ ์ดํ๋ ์ฃผ๋ณ ์ฅ์น์ ๋ก์ปฌ ๋ฒํผ ์ ์ฅ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ด์์ฒด์ ์๋ ๊ฐ ์ฅ์น ์ปจํธ๋กค๋ฌ๋ง๋ค ์ฅ์น ๋๋ผ์ด๋ฒ๊ฐ ์์ต๋๋ค. ์ด ์ฅ์น ๋๋ผ์ด๋ฒ๋ ์ฅ์น ์ปจํธ๋กค๋ฌ์ ์๋์ ์ ์๊ณ ์๊ณ ๋๋จธ์ง ์ด์์ฒด์ ์ ์ฅ์น์ ๋ํ ์ผ๊ด๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. CPU์ ์ฅ์น ์ปจํธ๋กค๋ฌ๋ ๋ณ๋ ฌ๋ก ์คํ๋์ด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ดํด์ ๋๊ณ ๊ฒฝ์ํ๋ฉฐ, ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ์๊ฒ ์ก์ธ์ค ํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ์ก์ธ์ค๋ฅผ ๋๊ธฐํ์ํต๋๋ค.
์ด์ ์์คํ ์ ์ธ ๊ฐ์ง ์ฃผ์ ์ธก๋ฉด์ ์ค์ ์ ๋์ด ์ด๋ฌํ ์์คํ ์ ์๋๋ฐฉ์์ ๊ธฐ๋ณธ ์ฌํญ์ ๊ดํด ์ ๋ฆฌํ๊ฒ ์ต๋๋ค. ๋จผ์ CPU์ ์กฐ์น๊ฐ ํ์ํ ์ด๋ฒคํธ์ ๋ํด ๊ฒฝ๊ณ ํ๋ ์ธํฐ๋ฝํธ๋ถํฐ ์ดํด๋ณด๊ณ , ๊ทธ๋ค์ ์ ์ฅ์ฅ์น ๊ตฌ์กฐ ๋ฐ ์ ์ถ๋ ฅ ๊ตฌ์กฐ์ ๊ดํด ์ ๋ฆฌํ๊ฒ ์ต๋๋ค.
(1) ์ธํฐ๋ฝํธ(Interrupts) ์ ์ ๋ฐ ๊ฐ์(Ovewview)
์ผ๋ฐ์ ์ธ ์ปดํจํฐ ์์ (์ ์ถ๋ ฅ์ ์ํํ๋ ํ๋ก๊ทธ๋จ)์ ๊ณ ๋ คํด๋ด ์๋ค. ์ ์ถ๋ ฅ ์์ ์ ์์ํ๊ธฐ ์ํด ์ฅ์น ๋๋ผ์ด๋ฒ๋ ์ฅ์น ์ปจํธ๋กค๋ฌ์ ์ ์ ํ ๋ ์ง์คํฐ์ ๊ฐ์ ์ ์ฌํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฅ์น ์ปจํธ๋กค๋ฌ๋ ์ด๋ฌํ ๋ ์ง์คํฐ์ ๋ด์ฉ์ ๊ฒ์ฌํ์ฌ ์ํํ ์์ ์(ex: ํค๋ณด๋์์ ๋ฌธ์ ์ฝ๊ธฐ) ๊ฒฐ์ ํฉ๋๋ค. ์ปจํธ๋กค๋ฌ๋ ์ฅ์น์์ ๋ก์ปฌ ๋ฒํผ๋ก ๋ฐ์ดํฐ ์ ์ก์ ์์ํ๋ฉฐ ๋ฐ์ดํฐ ์ ์ก์ด ์๋ฃ๋๋ฉด ์ฅ์น ์ปจํธ๋กค๋ฌ๋ ์ฅ์น ๋๋ผ์ด๋ฒ์๊ฒ ์์ ์ด ์๋ฃ๋์์์ ์๋ฆฝ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฅ์น ๋๋ผ์ด๋ฒ๋ ์ฝ๊ธฐ ์์ฒญ์ด๋ฉด ๋ฐ์ดํฐ ๋๋ ๋ฐ์ดํฐ์ ๋ํ ํฌ์ธํฐ๋ฅผ ๋ฐํํ๋ฉฐ ์ด์์ฒด์ ์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ ์ด๋ฅผ ๋๊น๋๋ค. ๋ค๋ฅธ ์์ ์ ๊ฒฝ์ฐ ์ฅ์น ๋๋ผ์ด๋ฒ๋ "์ฐ๊ธฐ ์๋ฃ" ๋๋ "์ฅ์น ์ฌ์ฉ ์ค"๊ณผ ๊ฐ์ ์ํ ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ปจํธ๋กค๋ฌ๋ ์ฅ์น ๋๋ผ์ด๋ฒ์๊ฒ ์์ ์ ์๋ฃํ๋ค๋ ์ฌ์ค์ ์ธํฐ๋ฝํธ๋ฅผ ํตํด ์๋ฆฌ๊ฒ ๋ฉ๋๋ค.
ํ๋์จ์ด๋ ์ด๋ ์๊ฐ์ด๋ ์์คํ ๋ฒ์ค๋ฅผ ํตํด CPU์ ์ ํธ๋ฅผ ๋ณด๋ด ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์ํฌ ์ ์์ต๋๋ค.(์ปดํจํฐ ์์คํ ์๋ ๋ง์ ๋ฒ์ค๊ฐ ์์ ์ ์์ง๋ง ์์คํ ๋ฒ์ค๋ ์ฃผ์ ๊ตฌ์ฑ์์ ์ฌ์ด์ ์ฃผ์ ํต์ ๊ฒฝ๋ก์ ๋๋ค.) ์ธํฐ๋ฝํธ๋ ๋ค๋ฅธ ๋ง์ ๋ชฉ์ ์ผ๋ก๋ ์ฌ์ฉ๋๋ฉฐ ์ด์์ฒด์ ์ ํ๋์จ์ด์ ์ํธ ์์ฉ ๋ฐฉ์์ ํต์ฌ ๋ถ๋ถ์ ๋๋ค.
CPU๊ฐ ์ธํฐ๋ฝํธ ๋๋ฉด, CPU๋ ํ๋ ์ผ์ ์ค๋จํ๊ณ ์ฆ์ ๊ณ ์ ๋ ์์น๋ก ์คํ์ ์ฎ๊น๋๋ค. ์ด๋ฌํ ๊ณ ์ ๋ ์์น๋ ์ผ๋ฐ์ ์ผ๋ก ์ธํฐ๋ฝํธ๋ฅผ ์ํ ์๋น์ค ๋ฃจํด์ด ์์นํ ์์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๊ทธ ํ ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ ์คํํ๊ฒ ๋ฉ๋๋ค. ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ ์คํ์ด ์๋ฃ๋๋ฉด, CPU๋ ์ธํฐ๋ฝํธ ๋์๋ ์ฐ์ฐ์ ์ฌ๊ฐํฉ๋๋ค. ์ด๋ฌํ ์ฐ์ฐ์ ์๊ฐ ์ผ์ ์ ์๋์ ์ด๋ฏธ์ง์ ๊ฐ์ต๋๋ค.
์ธํฐ๋ฝํธ๋ ์ปดํจํฐ ๊ตฌ์กฐ์ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. ๊ฐ ์ปดํจํฐ ์ค๊ณ๋ ์์ ์ ์ธํฐ๋ฝํธ ๋ฉ์ปค๋์ฆ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ ๊ณตํต์ ์ ๋๋ค. ์ธํฐ๋ฝํธ๋ ์ ์ ํ ์๋น์ค ๋ฃจํด์ผ๋ก ์ ์ด๋ฅผ ์ ๋ฌํ๋๋ฐ ์ด๋ฌํ ์ ๋ฌ์ ๊ด๋ฆฌํ๋ ์ง์ ์ ์ธ ๋ฐฉ๋ฒ์ ์ธํฐ๋ฝํธ ์ ๋ณด๋ฅผ ์กฐ์ฌํ๋ ์ผ๋ฐ์ ์ธ ๋ฃจํด์ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด ๋ฃจํด์ ์ด์ด ์ธํฐ๋ฝํธ ๊ณ ์ ์ ํธ๋ค๋ฌ(handler)๋ฅผ ํธ์ถํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ธํฐ๋ฝํธ๋ ๋งค์ฐ ๋น๋ฒํ๊ฒ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๋์ด์ผ ํฉ๋๋ค. ํ์ํ ์๋๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ธํฐ๋ฝํธ ๋ฃจํด์ ๋ํ ํฌ์ธํฐ๋ค์ ํ ์ด๋ธ์ ๋์ ์ด์ฉํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ฃผ๊ฐ ๋ฃจํด์ ๋ ํ์ ์์ด, ํ ์ด๋ธ์ ํตํ์ฌ ๊ฐ์ ์ ์ผ๋ก ์ธํฐ๋ฝํธ ๋ฃจํด์ด ํธ์ถ๋ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํฌ์ธํฐ๋ค์ ํ ์ด๋ธ์ ํ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค.(์ฒซ 100๊ฐ ์ ๋์ ์์น) ์ด๋ค ์์น์๋ ์ฌ๋ฌ ์ฅ์น์ ๋ํ ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ ์ฃผ์๊ฐ ๋ค์ด์๋๋ฐ, ์ธํฐ๋ฝํธ๊ฐ ์์ฒญ๋๋ฉด ์ธํฐ๋ฝํธ๋ฅผ ์ ๋ฐํ ์ฅ์น๋ฅผ ์ํ ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ ์ฃผ์๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ด ์ฃผ์์ ๋ฐฐ์ด, ์ฆ ์ธํฐ๋ฝํธ ๋ฒกํฐ๊ฐ ์ธํฐ๋ฝํธ ์์ฒญ๊ณผ ํจ๊ป ์ฃผ์ด์ง ๊ณ ์ ์ ์ ์ผํ ์ฅ์น ๋ฒํธ๋ก ์์ธ๋ฉ๋๋ค. Windows๋ UNIX ๊ฐ์ ์๋ก ๋ค๋ฅธ ์ด์์ฒด์ ๊ฐ ์ด๋ฌํ ๋ฐฉ๋ฒ์ผ๋ก ์ธํฐ๋ฝํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
์ธํฐ๋ฝํธ ๊ตฌ์กฐ๋ ๋ํ ์ธํฐ๋ฝํธ ๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ ์ฅํด์ผ ์ธํฐ๋ฝํธ๋ฅผ ์ฒ๋ฆฌํ ํ ์ด ์ ๋ณด๋ฅผ ๋ณต์ํ ์ ์์ต๋๋ค. ๋ง์ฝ ์ธํฐ๋ฝํธ ๋ฃจํด์ด ์ฒ๋ฆฌ๊ธฐ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ ํ์(์๋ฅผ ๋ค์ด ๋ ์ง์คํฐ์ ๊ฐ์ ๋ณ๊ฒฝํ์ฌ)๊ฐ ์๋ค๋ฉด, ์ธํฐ๋ฝํธ ๋ฃจํด์ ๋ฐ๋์ ๋ช ์์ ์ผ๋ก ํ์ฌ์ ์ํ๋ฅผ ์ ์ฅํ์ฌ์ผ ํ๋ฉฐ, ๋ณต๊ท์ ์ ์ํ๋ฅผ ๋ณต์ํด์ผ ํฉ๋๋ค. ์ธํฐ๋ฝํธ๋ฅผ ์๋น์คํ ํ, ์ ์ฅ๋์ด ์๋ ๋ณต๊ท ์ฃผ์๋ฅผ ํ๋ก๊ทธ๋จ ์นด์ดํฐ์ ์ ์ฌํ๊ณ , ์ธํฐ๋ฝํธ์ ์ํด ์ค๋จ๋์๋ ์ฐ์ฐ์ด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์๋์ง ์์๋ ๊ฒ์ฒ๋ผ ๋ค์ ์์๋ฉ๋๋ค.
(2) ์ธํฐ๋ฝํธ(Interrupts) ๊ตฌํ
๊ธฐ๋ณธ ์ธํฐ๋ฝํธ ๋ฉ์ปค๋์ฆ์ ๋ค์๊ณผ ๊ฐ์ด ์๋ํฉ๋๋ค. CPU ํ๋์จ์ด์๋ ์ธํฐ๋ฝํธ ์์ฒญ ๋ผ์ธ(interrupt request line)์ด๋ผ๋ ์ ์ด ์๋๋ฐ, ์ด๋ ํ๋์ ๋ช ๋ น์ด์ ์คํ์ ์๋ฃํ ๋๋ง๋ค CPU๊ฐ ์ด ์ ์ ๊ฐ์งํฉ๋๋ค. CPU๊ฐ ์ปจํธ๋กค๋ฌ๊ฐ ์ธํฐ๋ฝํธ ์์ฒญ ๋ผ์ธ์ ์ ํธ๋ฅผ ๋ณด๋ธ ๊ฒ์ ๊ฐ์งํ๋ฉด, ์ธํฐ๋ฝํธ ๋ฒํธ๋ฅผ ์ฝ๊ณ ์ด ๋ฒํธ๋ฅผ ์ธํฐ๋ฝํธ ๋ฒกํฐ์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํ์ฌ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ ๋ฃจํด(interrupt-handler routine)์ผ๋ก ์ ํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํด๋น ์ธ๋ฑ์ค์ ๊ด๋ จ๋ ์ฃผ์์์ ์คํ์ ์์ํฉ๋๋ค. ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๊ธฐ๋ ์์ ์ค์ ๋ณ๊ฒฝ๋ ์ํ๋ฅผ ์ ์ฅํ๊ณ , ์ธํฐ๋ฝํธ ์์ธ์ ํ์ธํ๊ณ , ํ์ํ ์ฒ๋ฆฌ๋ฅผ ์ํํ๊ณ , ์ํ ๋ณต์์ ์ํํ๊ณ , return_from_interrupt ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ CPU๋ฅผ ์ธํฐ๋ฝํธ ์ ์คํ ์ํ๋ก ๋๋๋ฆฝ๋๋ค.. ์ฅ์น ์ปจํธ๋กค๋ฌ๊ฐ ์ธํฐ๋ฝํธ ์์ฒญ ๋ผ์ธ์ ์ ํธ๋ฅผ ์ ์ธํ์ฌ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์(raise)์ํค๊ณ CPU๋ ์ธํฐ๋ฝํธ๋ฅผ ํฌ์ฐฉ(catch)ํ์ฌ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ๋ก ๋์คํจ์น(dispatch)ํ๊ณ ํธ๋ค๋ฌ๋ ์ฅ์น๋ฅผ ์๋น์คํ์ฌ ์ธํฐ๋ฝํธ๋ฅผ ์ง์๋๋ค.(clear)
์๋ ์ฌ์ง์ ์ธํฐ๋ฝํธ-๊ตฌ๋ ์ ์ถ๋ ฅ ์ฌ์ดํด์ ์์ฝํ ๊ฒ์ ๋๋ค.
๋ฐฉ๊ธ ์ ๋ฆฌํ ๊ธฐ๋ณธ ์ธํฐ๋ฝํธ ๊ธฐ๋ฒ์ ์ฅ์น ์ปจํธ๋กค๋ฌ๊ฐ ์๋น์คํ ์ค๋น๊ฐ ๋ ๋์ ๊ฐ์ ๋น๋๊ธฐ ์ด๋ฒคํธ์ CPU๊ฐ ๋์ํ ์ ์๊ฒ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ต์ ์ด์์ฒด์ ์์๋ ๋์ฑ ์ ๊ตํ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ด ํ์ํฉ๋๋ค.
- ์ค์ํ ์ฒ๋ฆฌ ์ค์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฅผ ์ฐ๊ธฐํ ์ ์์ด์ผ ํ๋ค.
- ์ฅ์น์ ์ ์ ํ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ๋ก ํจ์จ์ ์ผ๋ก ๋์คํจ์น ํ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค.
- ์ด์์ฒด์ ๊ฐ ์ฐ์ ์์๊ฐ ๋์ ์ธํฐ๋ฝํธ์ ์ฐ์ ์์๊ฐ ๋ฎ์ ์ธํฐ๋ฝํธ๋ฅผ ๊ตฌ๋ถํ๊ณ ์ ์ ํ ๊ธด๊ธ๋๋ก ๋์ํ ์ ์๋๋ก ๋ค๋จ๊ณ ์ธํฐ๋ฝํธ๊ฐ ํ์ํ๋ค.
์ต์ ์ปดํจํฐ ํ๋์จ์ด์์ ์ด ์ธ ๊ฐ์ง ๊ธฐ๋ฅ์ CPU ๋ฐ ์ธํฐ๋ฝํธ ์ปจํธ๋กค๋ฌ ํ๋์จ์ด์ ์ํด ์ ๊ณต๋ฉ๋๋ค.
๋๋ถ๋ถ์ CPU์๋ 2๊ฐ์ ์ธํฐ๋ฝํธ ์์ฒญ ๋ผ์ธ์ด ์์ต๋๋ค. ํ๋๋ ๋ณต๊ตฌํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์ค๋ฅ์ ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ์ํด ์์ฝ๋ ๋ง์คํฌ ๋ถ๊ฐ๋ฅ ์ธํฐ๋ฝํธ(nonmaskable interrupt)์ด๊ณ , ๋ ๋ฒ์งธ๋ ๋ง์คํน ๊ฐ๋ฅ(maskable)์ ๋๋ค. ์ธํฐ๋ฝํธ ๋์ด์๋ ์ ๋๋ ์ฃผ์ํ ๋ช ๋ น ์ํ์ค๋ฅผ ์คํํ๊ธฐ ์ ์ CPU์ ์ํด ๊บผ์ง ์ ์์ผ๋ฉฐ, ๋ง์คํน ๊ฐ๋ฅํ ์ธํฐ๋ฝํธ๋ ์ฅ์น ์ปจํธ๋กค๋ฌ๊ฐ ์๋น์ค๋ฅผ ์์ฒญํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
๋ฒกํฐ ๋ฐฉ์ ์ธํฐ๋ฝํธ ๊ธฐ๋ฒ์ ๋ชฉ์ ์ ์๋น์ค๊ฐ ํ์ํ ์ฅ์น๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ํด ํ๋์ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ๊ฐ ๊ฐ๋ฅํ ๋ชจ๋ ์ธํฐ๋ฝํธ ์์ค๋ฅผ ๊ฒ์ํ ํ์๋ฅผ ์ค์ด๊ธฐ ์ํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๊ธฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก ์ปดํจํฐ์๋ ์ธํฐ๋ฝํธ ๋ฒกํฐ์ ์ฃผ์ ๊ฐ์๋ณด๋ค ๋ง์ ์ฅ์น๊ฐ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ์ธํฐ๋ฝํธ ์ฒด์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ธํฐ๋ฝํธ ๋ฒกํฐ์ ๊ฐ ์์๋ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ ๋ฆฌ์คํธ์ ํค๋๋ฅผ ๊ฐ๋ฆฌํค๋๋ฐ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ ํธ๋ค๋ฌ๊ฐ ๋ฐ๊ฒฌ๋ ๋๊น์ง ์์ํ๋ ๋ฆฌ์คํธ์ ํธ๋ค๋ฌ๊ฐ ํ๋์ฉ ํธ์ถ๋ฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ ํฐ ํฌ๊ธฐ์ ์ธํฐ๋ฝํธ ํ ์ด๋ธ์ ์ค๋ฒํค๋์ ํ๋์ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ๋ก ๋์คํจ์น ํ๋ ๋นํจ์จ์ฑ์ ์ ์ถฉ์์ ๋๋ค.
์๋ ๊ทธ๋ฆผ์ Intel ํ๋ก์ธ์์ ์ธํฐ๋ฝํธ ๋ฒกํฐ ์ค๊ณ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๋ง์คํฌ ๋ถ๊ฐ๋ฅํ 0์์ 31๊น์ง์ ์ด๋ฒคํธ๋ ๋ค์ํ ์ค๋ฅ ์กฐ๊ฑด์ ์๋ฆฌ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ง์คํฌ ๊ฐ๋ฅํ 32์์ 255๊น์ง์ ์ด๋ฒคํธ๋ ์ฅ์น๊ฐ ์์ฑํ ์ธํฐ๋ฝํธ ๊ฐ์ ๊ทธ ์ธ ์ธํฐ๋ฝํธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
์ธํฐ๋ฝํธ ๊ธฐ๋ฒ์ ๋ํ ์ธํฐ๋ฝํธ ์ฐ์ ์์ ๋ ๋ฒจ(interrupt priority level)์ ๊ตฌํํ๋๋ฐ, ์ด๋ฌํ ๋ ๋ฒจ์ ํตํด CPU๋ ๋ชจ๋ ์ธํฐ๋ฝํธ๋ฅผ ๋ง์คํนํ์ง ์๊ณ ๋ ์ฐ์ ์์๊ฐ ๋ฎ์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฅผ ์ฐ๊ธฐํ ์ ์๊ณ , ์ฐ์ ์์๊ฐ ๋์ ์ธํฐ๋ฝํธ๊ฐ ์ฐ์ ์์๊ฐ ๋ฎ์ ์ธํฐ๋ฝํธ์ ์คํ์ ์ ์ ํ ์ ์์ต๋๋ค.
์์ฝํ์๋ฉด ์ธํฐ๋ฝํธ๋ ์ต์ ์ด์์ฒด์ ์์ ๋น๋๊ธฐ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ์ฅ์น ์ปจํธ๋กค๋ฌ ๋ฐ ํ๋์จ์ด ์ค๋ฅ๋ก ์ธํด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉฐ, ๊ฐ์ฅ ๊ธด๊ธํ ์์ ์ ๋จผ์ ์ํํ๊ธฐ ์ํด ์ต์ ์ปดํจํฐ๋ ์ธํฐ๋ฝํธ ์ฐ์ ์์ ์์คํ ์ ์ฌ์ฉํฉ๋๋ค. ์ธํฐ๋ฝํธ๋ ์๊ฐ์ ๋ฏผ๊ฐํ ์ฒ๋ฆฌ์ ๋น๋ฒํ๊ฒ ์ฌ์ฉ๋๋ฏ๋ก ์์คํ ์ฑ๋ฅ์ ์ข๊ฒ ํ๋ ค๋ฉด ํจ์จ์ ์ธ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
'ComputerScience ๐ > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] ๋ถ์ฐ์์คํ (Distributed Systems) ์๋ก (0) | 2022.02.02 |
---|---|
[OS] ๊ฐ์ํ(Virtualization) ์๋ก (0) | 2022.02.02 |
[OS] ์ปดํจํฐ ์์คํ ๊ตฌ์กฐ(Computer-System Architecture) (0) | 2022.02.01 |
[OS] ์ปดํจํฐ ์์คํ ์ ๊ตฌ์ฑ: ์ ์ฅ ์ฅ์น ๊ตฌ์กฐ(Storage Structure) (0) | 2022.02.01 |
[OS] ์ด์์ฒด์ ์๋ก : ์ด์์ฒด์ ๋ฅผ ๊ณต๋ถํ๊ธฐ์ ์์ (2) | 2022.01.30 |
[OS] ํ๋ก์ธ์ค(Process) ์ ์ฐ๋ ๋(Thread)์ ์ ์ (0) | 2021.12.12 |
๋๊ธ