์ฃผ๋ณ์ฅ์น์ ์ ์ถ๋ ฅ ์ฅ์น๋ CPU๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ฌ๋ฆฌ ์ธํฐ๋ฝํธ๋ผ๋ ๋ฉ์ปค๋์ฆ์ ํตํด ๊ด๋ฆฌ๋๋ค.
์ธํฐ๋ฝํธ๋ฅผ ํ๋ ์ด์ ๋???
๊ทธ ์ด์ ๋ ์ ์ถ๋ ฅ ์ฐ์ฐ์ด CPU ๋ช ๋ น ์ํ์๋๋ณด๋ค ํ์ ํ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค.
CPU๋ ๋น์ผ๋ฐ ์ค๋๊ฑธ๋ฆฌ๋ ์ ์ถ๋ ฅ ์ฐ์ฐ์ ๊ธฐ๋ค๋ฆฌ๋ฉฐ CPU๊ฐ ์ฌ๊ฒ ๋ง๋ค ์ ์์ด์
์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ๋ ๊น์ง ๋ค๋ฅธ ์ผ์ ํ๋ผ๊ณ ์ํค๋ ๊ฒ์ธ๋ฐ,
์ ์ถ๋ ฅ์ด ์๋ฃ๋๋ฉด ๋ค์ CPU๋ฅผ ๋ถ๋ฌ์ ํด๋น ์์ ์ ์ด์ด๊ฐ๊ฒ ํ๋ค.
์ด๋ CPU์๊ฒ ์๋ฃ๋์์์ ์๋ ค์ฃผ๋ ๊ฒ์ด ์ธํฐ๋ฝํธ์ด๋ค.
- ํ๋์จ์ด ์ฅ์น๊ฐ CPU์๊ฒ ์ด๋ค ์ฌ์ค์ ์๋ ค์ฃผ๊ฑฐ๋ CPU์ ์๋น์ค๋ฅผ ์์ฒญํด์ผ ํ ๊ฒฝ์ฐ, CPU ๋ด์ ์๋ ์ธํฐ๋ฝํธ ๋ผ์ธ์ ์ธํ ํ์ฌ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์ํจ๋ค. (ํ๋ก๊ทธ๋จ์ด ๋ช ๋ น์ ์ํํ๊ธฐ ์ํด์๋ CPU๋ฅผ ํ ๋น๋ฐ์์ผ ํจ)
- CPU๋ ๋งค๋ฒ ํ๋ก๊ทธ๋จ ์นด์ดํฐ๊ฐ ๊ฐ๋ฆฌ๊ณ ์๋ ๊ณณ์ ๋ช ๋ น์ ์ํํ ๋ค, ๋ค์ ๋ช ๋ น์ ์ํํ๊ธฐ ์ง์ ์ ์ธํฐ๋ฝํธ ๋ผ์ธ์ด ์ธํ ๋์๋์ง ์ฒดํฌํ๋ค.
- ์ด๋ฅผ ํตํด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ผ๋ฉด CPU๋ ํ์ฌ ์ํ ์ค์ด๋ ํ๋ก์ธ์ค๋ฅผ ๋ฉ์ถ๊ณ ์ด์ ์ฒด์ ์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด์ผ๋ก ์ด๋ํ์ฌ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ค.
์ธํฐ๋ฝํธ๋ ํฌ๊ฒ ํ๋์จ์ด ์ธํฐ๋ฝํธ์ ์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ก ๋๋๋ ๊ฒฝ์ฐ๋ ์๋ค.
ํ๋์จ์ด ์ธํฐ๋ฝํธ
- ์ผ๋ฐ์ ์ธ ์ธํฐ๋ฝํธ
- ํ๋์จ์ด ์ปจํธ๋กค๋ฌ๊ฐ CPU์ ์๋น์ค๋ฅผ ์์ฒญํ๊ธฐ ์ํด ๋ฐ์์ํค๋ ์ธํฐ๋ฝํธ
ํ๋์จ์ด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ ์
1. ๊ธฐ๊ณ๊ฒ์ฌ ์ธํฐ๋ฝํธ
- ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋์ค ๊ฐ์์ค๋ฐ ์ ์ ์ด๋ ์ปดํจํฐ ์์ฒด ๋ด์์ ๊ธฐ๊ณ์ ์ธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ
2. ์ธ๋ถ ์ธํฐ๋ฝํธ
- ์คํผ๋ ์ดํฐ๋ ํ์ด๋จธ์ ์ํด ์๋์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ด ์ค๋จ๋ ๊ฒฝ์ฐ
3. ์ ์ถ๋ ฅ ์ธํฐ๋ฝํธ
- ์ ์ถ๋ ฅ์ ์ข ๋ฃ๋ ์ ์ถ๋ ฅ์ ์ค๋ฅ์ ์ํด CPU์ ๊ธฐ๋ฅ์ด ์์ฒญ๋๋ ๊ฒฝ์ฐ
4. ํ๋ก๊ทธ๋จ๊ฒ์ฌ ์ธํฐ๋ฝํธ
- ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ณดํธ๋ ๊ธฐ์ต๊ณต๊ฐ ๋ด์ ์ ๊ทผํ๊ฑฐ๋ ๋ถ๋ฒ์ ์ธ ๋ช ๋ น ์ํ๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ
์ํํธ์จ์ด ์ธํฐ๋ฝํธ
- ์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ ์ธ๋ถ๊ฐ ์๋ CPU ๋ด๋ถ์์ ์์ ์ด ์คํํ ๋ช ๋ น์ด๋ CPU์ ๋ช ๋ น ์คํ์ ๊ด๋ จ๋ ๋ชจ๋์ด ๋ณํํ๋ ๊ฒฝ์ฐ ๋ฐ์
- ํ๋ก๊ทธ๋จ ์คํ ์ค ํ๋ก๊ทธ๋จ ์์ ์ฒ๋ฆฌ ๋ถ๊ฐ๋ฅํ ์ค๋ฅ๋ ์ด๋ฒคํธ๋ฅผ ์๋ฆฌ๊ธฐ ์ํ ๊ฒฝ์ฐ ๋ฐ์ํ๋๋ฐ, ์ด๋ฅผ ํธ๋ฉ ๋๋ ์์ธ๋ผ ๋ถ๋ฅธ๋ค.
- ๋ํ ํ๋ก๊ทธ๋จ ๋ด์์ ํน๋ณํ ์๋น์ค๋ฅผ ์๊ตฌํ๊ฑฐ๋
- ๊ฐ์๋ฅผ ๋ชฉ์ ์ผ๋ก, ์๋์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ด ๋ฐ์์ํจ ํน๋ณํ ๋ช ๋ น์ด์ ์ํด ๋ฐ์๋๊ธฐ๋ ํ๋ค.
1. ์์ธ ์ํฉ(Exception)
- ํ๋ก๊ทธ๋จ์ด ํ์ฉ๋์ง ์์ ์ฐ์ฐ์ ์ํํ๋ ค๊ณ ํ ๋, ์๋์ ์ผ๋ก ๋ฐ์ํ๋ค. ์ด์์ฒด์ ๋ ์์ธ ์ํฉ์ด ๋ฐ์ํ์ ๋, CPU์ ์ ์ด๊ถ์ ํ๋ํด ์ด ์ํฉ์ ๋ํ ์กฐ์น๋ฅผ ์ทจํ๋ค.
- ex) 0์ผ๋ก ๋๋๋ ์ฐ์ฐ, ์์ ์ ์ฃผ์ ๊ณต๊ฐ์ ๋์ด์๋ ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ ๋ฑ
- ์์ธ ์ํฉ์ ๋ํ ์ฒ๋ฆฌ ๋ฃจํด์ ์์ ์ ์ฝ๋ ์์ญ์ ๊ฐ์ง๊ณ ์์
2. ์์คํ ์ฝ(System Call)
- ์ฌ์ฉ์ ํ๋ก์ธ์ค๊ฐ ์ด์์ฒด์ ์ ์๋น์ค๋ฅผ ์์ฒญํ๊ธฐ ์ํด ์ปค๋์ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ด๋ค.
- ์ฌ์ฉ์ ํ๋ก์ธ์ค๊ฐ ์ง์ ํน๊ถ ๋ช ๋ น์ ์ํํ ์ ์์ผ๋ฏ๋ก ํน๊ถ ๋ช ๋ น์ ์ํํ๋ ค ํ ๋, ์์คํ ์ฝ์ ์ฌ์ฉํ๋ค.
์์คํ ์ฝ์ด๋ ์์ธ ์ํฉ์ ๋ชจ๋ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ก๋ถํฐ CPU์ ์ ์ด๊ถ์ด ์ด์ ์ฒด์ ์๊ฒ ์ด์๋์ด ์ฒ๋ฆฌ๋๋๋ฐ ์ด ๊ณผ์ ์ ์ธํฐ๋ฝํธ ๋ผ์ธ์ ์ธํ ํ์ฌ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์ํจ ํ ์ ์ด๊ถ์ด ๋์ด๊ฐ๊ฒ ๋๋ฏ๋ก ์ด๋ค๋ ๋์ ์๋ฏธ์์๋ ์ธํฐ๋ฝํธ์ ๋ฒ์ฃผ์ ํฌํจ์ํจ๋ค.
๋จ์ง ๋ฐ์์ํค๋ ์ฃผ์ฒด๊ฐ ํ๋์จ์ด ์ฅ์น๊ฐ ์๋ ์ํํธ์จ์ด์ด๋ฏ๋ก ์ด๋ค์ ์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ธํฐ๋ฝํธ ๋ฐ์ ์ฒ๋ฆฌ ๊ณผ์
A ํ๋ก๊ทธ๋จ์ด CPU๋ฅผ ํ ๋น๋ฐ๊ณ ๋ช ๋ น์ ์ํํ๊ณ ์๋๋ฐ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด A๋ ํ์ฌ ์ํ์ค์ธ ๋ช ๋ น์ ์์น๋ฅผ ์ ์ฅํด๋๋๋ค. ๊ทธ ํ, ์ด์ ์ฒด์ ๋ด๋ถ ์ฝ๋์ธ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด์ผ๋ก ๋์ด๊ฐ์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ๋ค์ ๋์์ A์ ์ด์ ์์ ์ง์ ๋ถํฐ ์ํ์ ๊ณ์ ์ด์ด๋๊ฐ๊ฒ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ ๋ ์ํ์ค์ด๋ ํ๋ก์ธ์ค์ ์ ๋ณด๋ ์ด๋์ ์ ์ฅ๋ ๊น?
-> ์งํ ์ค์ด๋ A ํ๋ก์ธ์ค์ ์ ๋ณด๋ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก(PCB: Process Control Block)์ ์ ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฅผ ๋ชจ๋ ๋ง์น๋ฉด ํ๋ก๊ทธ๋จ A์ PCB์ ์ ์ฅ๋ ์ฃผ์๋ฅผ ๋ณต์์์ผ ์๋ ์ํํ๋ ์ผ์ ์ฌ๊ฐํ๊ฒ ๋๋ค.
์ธํฐ๋ฝํธ ๋ฒกํฐ
- ์ฌ๋ฌ๊ฐ์ง ์ธํฐ๋ฝํธ์ ๋ํด ํด๋น ์ธํฐ๋ฝํธ ๋ฐ์์ ์ฒ๋ฆฌํด์ผ ํ ๋ฃจํด์ ์ฃผ์๋ฅผ ๋ณด๊ดํ๊ณ ์๋ ํ ์ด๋ธ.
- ์ผ์ข ์ ํจ์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ
์ธํฐ๋ฝํธ ํธ๋ค๋ฌ
- ์ค์ ์ธํฐ๋ฝํธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ฃจํด์ผ๋ก ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ด๋ผ๊ณ ๋ ํ๋ค.
- ์ด์์ฒด์ ์ฝ๋ ๋ถ๋ถ์๋ ๊ฐ์ข ์ธํฐ๋ฝํธ ๋ณ๋ก ์ฒ๋ฆฌํด์ผ ํ ๋ด์ฉ์ด ์ด๋ฏธ ํ๋ก๊ทธ๋จ๋์ด ์์ผ๋ฉฐ, ์ด ๋ถ๋ถ์ ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด ๋๋ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ๋ผ๊ณ ํ๋ค.
PCB
- ์ปค๋์ ๋ฐ์ดํฐ ์์ญ์ ์กด์ฌํ๋ฉฐ ๊ฐ๊ฐ์ ํ๋ก์ธ์ค๋ง๋ค ๊ณ ์ ์ PCB๊ฐ ์๋ค.
- ์ธํฐ๋ฝํธ ๋ฐ์ ์ ํ๋ก์ธ์ค์ ์ด๋ ๋ถ๋ถ์ด ์ํ์ค์ด์๋์ง๋ฅผ ์ ์ฅํ๋ค.
(์ํ์ค์ด๋ memory ์ฃผ์, ๋ ์ง์คํฐ๊ฐ, ํ๋์จ์ด ์ํ ...)
Reference.
'๐ฅ > OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] IPC Inter-Process Communication (0) | 2021.09.09 |
---|---|
[์ด์์ฒด์ ] ์์คํ ์ฝ System Call (0) | 2021.08.31 |
[์ด์์ฒด์ ] ํ๋ก์ธ์ค ์ฃผ์ ๊ณต๊ฐ (0) | 2021.08.25 |
[์ด์์ฒด์ ] ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด (0) | 2021.08.18 |
[์ด์์ฒด์ ] CPU ์ค์ผ์ค๋ฌ (0) | 2021.08.11 |