2023. 3. 11. 17:26ใCS/CS ์คํฐ๋
ํน์ ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ฉด ์ด ํ๋ก์ธ์ค๋ CPU๋ฅผ ์ ์ ํ๊ฒ ๋๋ค.
๊ฐ๋ น ์ฌ์ฉ์๊ฐ ์นด์นด์คํก์ ์คํํ๋ค๊ณ ๊ฐ์ ํ๋ฉด, ์ด ๊ฒฝ์ฐ์ ์นด์นด์คํก์ด CPU๋ฅผ ์ ์ ํ๋ ๊ฒ์ด๋ค.
์ด์ ํ๋์ ํ๋ก์ธ์ค๋ฅผ ๋ ์คํ์ํจ๋ค๊ณ ๊ฐ์ ํ์. ์ฌ๊ธฐ์์๋ ํฌ๋กฌ์ ์์๋ฅผ ๋ค๊ฒ ๋ค.
์ด์ ์คํ ์ค์ธ ๋ ํ๋ก์ธ์ค๋ CPU๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์ ์ ํ๊ณ ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ก ํ์ฌ๊ธ ๋ ํ๋ก์ธ์ค๊ฐ ๋์์ ์คํ๋๊ณ ์๋ ๊ฒ๊ณผ ๊ฐ์ ์ฐฉ๊ฐ์ ๋ถ๋ฌ ์ผ์ผํจ๋ค.
์ด ๋ ์ด๋ค ๋ฐฉ์์ ํตํด ํ๋ก์ธ์ค๋ค์ด ๋ฒ๊ฐ์๊ฐ๋ฉฐ CPU๋ฅผ ์ ์ ํ๋ ๊ฒ์ผ๊น? ํ๋ก์ธ์ค๋ค์ด ์๋ฐ์ ์ผ๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค์๊ฒ ์๋ณดํ๋ ๊ฒ์ผ๊น?
์ฌ์ค ์ด์์ฒด์ ์ ๋ํด ๊ณต๋ถํด๋ณธ ์ฌ๋์ด๋ผ๋ฉด ํ๋ก์ธ์ค๋ค์ด ๋ฒ๊ฐ์๊ฐ๋ฉฐ CPU๋ฅผ ์ ์ ํ๋๋ก ํ๋ ๊ฒ์ ์ฃผ์ฒด๋ ์ด์์ฒด์ ์ด๊ณ ์ด๋ฅผ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค๋ ๊ฒ์ ์๊ณ ์์ ๊ฒ์ด๋ค.
ํ์ง๋ง ๊ฒฐ๊ตญ ์ด์์ฒด์ ๋ CPU๋ฅผ ์ ์ ํด์ผ ์ค์ผ์ค๋ง์ ์ํํ๋ ๊ฒ์ด๋ฉฐ ํ๋ก์ธ์ค๋ค์ ์๋ฐ์ ์ผ๋ก ์ด์์ฒด์ ์๊ฒ CPU๋ฅผ ์๋ณดํ์ง ์๋๋ค.
๋ํ ์ด ์ํฉ์์ ์ฌ์ฉ์๊ฐ ํค๋ณด๋ ์ ๋ ฅ์ ์ํํ๋ค๋ฉด? ์ ์๋ํ๋ ์ปดํจํฐ์์ ๋ณด์ด๋ ค๋ฉด ํค๋ณด๋ ์ ๋ ฅ์ ์์ ํ ํ๋ก์ธ์ค๊ฐ ์ฆ๊ฐ์ ์ผ๋ก ์๋ํ์ฌ ์ค์๊ฐ์ผ๋ก ์ ๋ ฅ ์ฌํญ๋ค์ด ํ๋ฉด์ ์ถ๋ ฅ๋์ด์ผ ํ๋ค. ์ด ๋๋ ์คํ ์ค์ด๋ ํ๋ก์ธ์ค๋ ์๋ฐ์ ์ผ๋ก CPU๋ฅผ ์๋ณดํ์ง ์๋๋ค.
์ด์์ฒด์ ์์ ์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ์์ด ์กด์ฌํ๋๋ฐ, ์ด๋ฅผ ์ธํฐ๋ฝํธ๋ผ๊ณ ํ๋ค.
์ธํฐ๋ฝํธ
์ธํฐ๋ฝํธ๋ ์ปดํจํฐ ์์คํ ์์ ๋ฐ์ํ๋ ์ผ์ข ์ ์ด๋ฒคํธ๋ก,
์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด ์คํ ์ค์ด๋ ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ๊ณ CPU๋ฅผ ์ปค๋ ๋ชจ๋๋ก ๊ฒฉ์ ์ํจ ํ ๋ฐ์ํ ์ธํฐ๋ฝํธ์ ๋ํ ํธ๋ค๋ฌ๋ฅผ ์คํํ๋ค.
์ธํฐ๋ฝํธ์ ์ข ๋ฅ์๋ ํฌ๊ฒ ํ๋์จ์ด ์ธํฐ๋ฝํธ์ ์ํํธ์จ์ด ์ธํฐ๋ฝํธ๊ฐ ์๋ค.
ํ๋์จ์ด ์ธํฐ๋ฝํธ
ํ๋์จ์ด ์ธํฐ๋ฝํธ๋ ํ๋์จ์ด์์ ๋ฐ์ํ๋ ์ด๋ฒคํธ์ ๋ํ ์ธํฐ๋ฝํธ๋ก,
์์๋ก๋ ์ ๋ ฅ ์ฅ์น ์ธํฐ๋ฝํธ(ํค๋ณด๋, ๋ง์ฐ์ค), ํ์ด๋จธ ์ธํฐ๋ฝํธ ๋ฑ์ด ์กด์ฌํ๋ค.
์๋ก ์์ ์ธ๊ธํ ํค๋ณด๋ ์ ๋ ฅ์ด ์ด๋ฃจ์ด์ง๋ฉด, ์ ๋ ฅ ์ฅ์น ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ฌ ์คํ ์ค์ด๋ ํ๋ก์ธ์ค๋ฅผ ๋ฉ์ถ๊ณ ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ์๋ค์ธ๋ค.
๋ํ ํ์ด๋จธ ์ธํฐ๋ฝํธ๋ CPU ์ค์ผ์ค๋ง์ ์ด์ฉ๋๋๋ฐ, ํน์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ ๋ค ์ผ์ ํ์ ์ฌ๋ผ์ด์ค๊ฐ ์ง๋๊ณ ํ์ด๋จธ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ด๊ถ์ด ์ด์์ฒด์ ๋ก ์ด๊ด๋๊ณ ์ด์์ฒด์ ๋ ๋ค์ ์คํ์ํฌ ํ๋ก์ธ์ค๋ฅผ ๊ฒฐ์ ํ๊ฒ ๋๋ค.
ํ๋์จ์ด ์ธํฐ๋ฝํธ๋ ์ธ๋ถ ์์ธ์ ๋ํ ์ธํฐ๋ฝํธ์ด๊ธฐ ๋๋ฌธ์ ์ธ์ ๋ฐ์ํ ์ง ์์ํ ์ ์๊ณ , ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋น๋๊ธฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ๋๋ค.
์ข ์ข ํ๋์จ์ด ์ธํฐ๋ฝํธ๋ฅผ ์ธํฐ๋ฝํธ ๊ทธ ์์ฒด๋ก ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
์ํํธ์จ์ด ์ธํฐ๋ฝํธ
์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ ์ํํธ์จ์ด ๋ด๋ถ์ ์ผ๋ก ๋ฐ์ํ๋ ์ธํฐ๋ฝํธ๋ก,
์์๋ก๋ ์๋ฅผ 0์ผ๋ก ๋๋๋ ์๋ฌ๋ ์คํ ์ค๋ฒํ๋ก์ฐ, ํน์ ํ๋ก๊ทธ๋จ ๋ด๋ถ์์ ์๋์ ์ผ๋ก ๋ฐ์์ํค๋ ์ธํฐ๋ฝํธ ๋ฑ์ด ์๋ค.
์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ ์ข ์ข ์์ธ(Exception)๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, ์์ธ์ ํน์ดํ ์ผ์ด์ค๋ก ํธ๋ฉ(Trap)์ด ์กด์ฌํ๋ค.
์ผ๋ฐ์ ์ธ ์์ธ๋ค์ ์๋์น ์๊ฒ ๋ฐ์ํ์ง๋ง, ํธ๋ฉ์ ์๋์ ์ผ๋ก ๋ฐ์์ํจ๋ค.
ํธ๋ฉ์ ๋ฐ์์ํค๋ ์ด์ ๋ System Call๊ณผ ๊ฐ์ด, ์ด์์ฒด์ ์ ํน์ ์์ ์ ์์ฒญํ๊ธฐ ์ํจ์ด๋ค.
๋ณด์ ์์ ์ด์ ๋ก ์ ์ ๋ชจ๋์์ ์๋ํ๋ ํ๋ก์ธ์ค๋ค์ ํ์ผ I/O๋ ํ๋ก์ธ์ค ์์ฑ๊ณผ ๊ฐ์ ์์ ์ ์ง์ ์ฒ๋ฆฌํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์
ํ๋ก์ธ์ค๋ค์ ์ด๋ฅผ System Call์ ํตํด ์ด์์ฒด์ ์ ์์ฒญํ๊ฒ ๋๋๋ฐ, ์ด ๋ ๊ถํ์ ์ปค๋ ๋ชจ๋๋ก ๋์ด๊ธฐ ์ํด ํธ๋ฉ์ ๋ฐ์์ํค๊ณ ์ด๋ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ฏ๋ก ์ด์์ฒด์ ์ ์ ์ด๊ถ์ ์์ํ๊ฒ ๋๋ค.
์ด๋ฅผ ํตํด ์ด์์ฒด์ ๋ ์ ์ด๊ถ์ ํตํด ํ์ผ I/O, ํ๋ก์ธ์ค ์์ฑ๊ณผ ๊ฐ์ ์์ ์ ์ํํ ํ ๊ธฐ์กด ํ๋ก์ธ์ค์๊ฒ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ ํ๋์จ์ด ์ธํฐ๋ฝํธ์๋ ๋ฌ๋ฆฌ, ๋๊ธฐ์ ์ธ ํ๋ก์ธ์ค๋ฅผ ๊ฐ๋๋ค.
์ฐธ์กฐ
OSTEP(Operating System Three Easy Pieces), 2015 - Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau
https://www.baeldung.com/cs/os-trap-vs-interrupt
https://www.javatpoint.com/trap-vs-interrupt-in-operating-system
'CS > CS ์คํฐ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
IPC(Interprocess Communication) (0) | 2023.03.19 |
---|---|
ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก(PCB) (1) | 2023.03.18 |
System Call(์์คํ ์ฝ) (0) | 2023.03.11 |
ํ๋ก์ธ์ค vs ์ค๋ ๋ (0) | 2023.03.04 |
ํ๋ก์ธ์ค ์ฃผ์ ๊ณต๊ฐ (0) | 2023.03.01 |