์ด ๊ธ์ '๊ทธ๋ฆผ์ผ๋ก ๋ฐฐ์ฐ๋ ๊ตฌ์กฐ์ ์๋ฆฌ ์ด์์ฒด์ ' ๊ฐ์ 3ํ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์ฒจ๋ถ๋ ์ด๋ฏธ์ง๋ ์ง์ ์ ์ํ์ต๋๋ค.
๋ชฉ์ฐจ
1. ํ๋ก์ธ์ค ๊ฐ๋ ๊ณผ ์ํ ๋ณํ
- ๊ฐ๋
- ํ์์์
- ํ๋ก๊ทธ๋จ๊ณผ ํ๋ก์ธ์ค ์ฐจ์ด
- ๊ด์ ์ ๋ฐ๋ฅธ ํ๋ก์ธ์ค
- ํ๋ก์ธ์ค ์ข ๋ฅ
- ํ๋ก์ธ์ค ์ํ ๋ณํ์ ์ํ ์ ๋ณด
- ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก
- ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ ๊ตํ
2. ํ๋ก์ธ์ค์ ๊ด๋ฆฌ
- ํ๋ก์ธ์ค์ ๊ตฌ์กฐ
- ํ๋ก์ธ์ค์ ์์ฑ
- ํ๋ก์ธ์ค์ ์ข ๋ฃ
- ํ๋ก์ธ์ค์ ์ ๊ฑฐ
- ํ๋ก์ธ์ค์ ์ค๋จ๊ณผ ์ฌ์์
- ํ๋ก์ธ์ค์ ์ฐ์ ์์ ๋ณ๊ฒฝ
- ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ ๊ตํ
1. ํ๋ก์ธ์ค ๊ฐ๋ ๊ณผ ์ํ ๋ณํ
๊ฐ๋
์ผ๋ฐ์ ์ธ ํ๋ก์ธ์ค ์ ์๋ '์คํ ์ค์ธ ํ๋ก๊ทธ๋จ'์ด๋ค. ์คํ ์ค์ด๋ผ๋ ์๋ฏธ๋ ๋์คํฌ์ ์๋ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ์ฌ ์ด์์ฒด์ ์ ์ ์ด๋ฅผ ๋ฐ๋ ์ํ๊ฐ ๋์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ์์ ๋ง์ ๋ฉ๋ชจ๋ฆฌ ์์ญ(์ฃผ์ ๊ณต๊ฐ)์ด ์์์ ์๋ฏธํ๋ค. ๋ํ, ํ๋ก๊ทธ๋จ ์คํ์ ์ธ์คํด์ค๋๋๋ค. ๋ฐ๋ผ์ ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ ํ ๊ฐ ์ด๋ฉด ํ๋ก์ธ์ค ํ ๊ฐ๋ฅผ ์์ฑํ๊ณ , ์น ๋ธ๋ผ์ฐ์ 2๊ฐ ์ด๋ฉด ํ๋ก์ธ์ค 2๊ฐ๋ฅผ ์์ฑํ๋ค.
๋ํ ์๋์ ๊ฐ์ ๋ค์ํ ์ ์๋ ์๋ค.
- ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ
- ๋น๋๊ธฐ์ (asynchronous) ํ์
- ์คํ ์ค์ธ ํ๋ก์์
- ์คํ ์ค์ธ ํ๋ก์์ ์ ์ ์ด ์ถ์
- ์ด์์ฒด์ ์ ๋ค์ด ์๋ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก(PCB)
- ํ๋ก์ธ์์ ํ ๋นํ์ฌ ์คํํ ์ ์๋ ๊ฐ์ฒด ๋์คํจ์น(dispatch)๊ฐ ๊ฐ๋ฅํ ๋์
ํ์ ์์
ํ๋ก์ธ์ค๊ฐ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ด ๋๋ ค๋ฉด ํ๋ก์ธ์ ์ ์ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ, ํ์ผ, ์ ์ถ๋ ฅ์ฅ์น ๊ฐ์ ์์์ด ํ์ํ๋ฐ, ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ์คํํ ๋ ์ด ์์์ ํ ๋นํ๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ก์ธ์ค๋ ํ์ฌ ํ๋ ์ํ๋ฅผ ๋ํ๋ด๋ ํ๋ก๊ทธ๋จ ์นด์ดํฐ, ํ๋ก์ธ์์ ํ์ฌ ํ๋(๋ ์ง์คํฐ ๋ด์ฉ)๋ ํฌํจํ๋ค.
ํ๋ก๊ทธ๋จ๊ณผ ํ๋ก์ธ์ค ์ฐจ์ด
ํ๋ก๊ทธ๋จ(๋์คํฌ์ ์ ์ฅ๋์ด ์๋ ์ผ๋ จ์ ๋ช ๋ น์ด๋ค์ ์งํฉ)์ ์ปดํ์ผํ ์ฝ๋์ ์ด๊ธฐํ ์ ์ญ๋ณ์, ๋ฌธ์์ด๊ณผ ๊ฐ์ ๋ฌธ์์ด ์์ ๋ฑ ์ ์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ์ ์ ์ธ ๊ฐ์ฒด์ด๋ค. ๋ฐ๋ฉด์ ํ๋ก์ธ์ค๋ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๊ณ , ํ๋ก๊ทธ๋จ ์นด์ดํฐ๋ ๋ ์ง์คํฐ์ฒ๋ผ ํ์ฌ ์ด๋ค ์์์ ์ฌ์ฉํ๋์ง ๊ด๋ จ ์ ๋ณด๊ฐ ๋ค์ด์๋ ๋์ ์ธ ๊ฐ์ฒด์ด๋ค.
๊ด์ ์ ๋ฐ๋ฅธ ํ๋ก์ธ์ค
- ์ฌ์ฉ์ ๊ด์ ์ ํ๋ก์ธ์ค
- ์์คํ ๊ด์ ์ ํ๋ก์ธ์ค
์ฌ์ฉ์ ๊ด์ ์์ ํ๋ก์ธ์ค๋ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ์ง๊ณ ์คํํ๋ ํ๋ก๊ทธ๋จ์ด๊ณ , ์์คํ ๊ด์ ์์์ ํ๋ก์ธ์ค๋ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ด๋ค.
- ์คํ : ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ ์์ญ
- ํ : ์ฝ๋ ์์ญ๊ณผ๋ ๋ณ๋๋ก ์ ์ง๋๋ ์์ ์์ญ. (๋์ ํ ๋น)
- ๋ฐ์ดํฐ : ํ๋ก๊ทธ๋จ์ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ. ์ ์ญ๋ณ์๋ ์ ์ ๋ณ์๋ฅผ ์ ์ฅํ๊ฑฐ๋ ํ ๋นํ๊ณ ์คํํ๊ธฐ ์ ์ ์ด๊ธฐํ
- ์ฝ๋ : ์คํ ๋ช ๋ น์ ํฌํจํ๋ ๋ฉ๋ชจ๋ฆฌ์ด๊ฑฐ๋ ๋ชฉ์ ํ์ผ์ ์๋ ํ๋ก๊ทธ๋จ ์์ญ
- ์คํ๊ณผ ํ ์ฌ์ด : ์๋ธ๋ฃจํด์ ์คํํ๋ ์์ญ์ผ๋ก, ์ด์์ฒด์ ๋ก ๋งคํ๋์ง ์๋๋ค.
์คํ ์์๋ฅผ ๊ฒฐ์ ํ๋ ์ค์ผ์ค๋ฌ๋ ๋์คํฌ์ ์ ์ฅ๋ ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์๋ฅผ ํ ๋นํด์ ์ฅ์น๋ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ํ์ผ ์์์ ์ฐธ์กฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ก์ธ์ค๋ฅผ ์ง์ํ๊ณ ํ๋ ฅํ์ฌ ๊ต์ฐฉ ์ํ, ๋ณดํธ, ๋๊ธฐํ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ๋ค.
ํ๋ก์ธ์ค ์ข ๋ฅ
ํ๋ก์ธ์ค๋ ์ํํ๋ ์ญํ ์ ๋ฐ๋ผ
- '์์คํ (์ปค๋) ํ๋ก์ธ์ค'์
- '์ฌ์ฉ์ ํ๋ก์ธ์ค'๋ก ๊ตฌ๋ถํ๊ณ
๋ณํ ์ํ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ
- '๋ ๋ฆฝ ํ๋ก์ธ์ค'์
- 'ํ๋ ฅ ํ๋ก์ธ์ค'๋ก ๊ตฌ๋ถํ๋ค.
๊ตฌ๋ถ | ์ข ๋ฅ | ์ค๋ช |
์ญํ | ์์คํ (์ปค๋) ํ๋ก์ธ์ค | ๋ชจ๋ ์์คํ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก์ธ์์ ๋ช ๋ น์ ์ก์ธ์คํ ์ ์๋ ํ๋ก์ธ์ค์ด๋ค. ํ๋ก์ธ์ค ์คํ ์์๋ฅผ ์ ์ดํ๊ฑฐ๋ ๋ค๋ฅธ ์ฌ์ฉ์ ๋ฐ ์ปค๋(์ด์์ฒด์ ) ์์ญ์ ์นจ๋ฒํ์ง ๋ชปํ๊ฒ ๊ฐ์ํ๊ณ , ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ํ๋ค. |
์ฌ์ฉ์ ํ๋ก์ธ์ค | ์ฌ์ฉ์ ์ฝ๋๋ฅผ ์ํํ๋ ํ๋ก์ธ์ค์ด๋ค. | |
๋ณํ ์ํ ๋ฐฉ๋ฒ | ๋ ๋ฆฝ ํ๋ก์ธ์ค | ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํฅ์ ์ฃผ์ง ์๊ฑฐ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํฅ์ ๋ฐ์ง ์์ผ๋ฉด์ ์ํํ๋ ๋ณํ ํ๋ก์ธ์ค์ด๋ค. |
ํ๋ ฅ ํ๋ก์ธ์ค | ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํฅ์ ์ฃผ๊ฑฐ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์์ ์ํฅ์ ๋ฐ๋ ๋ณํ ํ๋ก์ธ์ค์ด๋ค. |
ํ๋ก์ธ์ค ์ํ ๋ณํ์ ์ํ ์ ๋ณด
์ด์์ฒด์ ๋ ํ๋ก์ธ์ค์ ์คํ์ ์ ์ดํ๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ก์ธ์ค๋ ์คํํ๋ฉด์ ์ํ๊ฐ ๋ณํ๋ฏ๋ก ์ด์์ฒด์ ๋ ํ๋ก์ธ์ค ์ ์ด์ ํ์ํ ์ํ๋ฅผ ์ ๊ฒํ๊ณ ํ๋ก์ธ์๋ฅผ ์ ์ดํ๋ค. ํ๋ก์ธ์ค์ ์ํ ๋ณํ๋ฅผ ์์๋ณธ ํ ํ๋ก์ธ์ค ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ์ ์ด ๋ธ๋ก์ ์ดํด๋ณธ๋ค.
์ด์์ฒด์ ์ ์ข ๋ฅ์ ๋ฐ๋ผ ํ๋ก์ธ์ค์ ์ํ๋ฅผ ๋ค๋ฅด๊ฒ ํํํ๊ธฐ๋ ํ์ง๋ง, ์ด๋ ํ์๊ฐ ๋๋ถ๋ถ์ ํ๋ก์ธ์ค๊ฐ ์ค๋น๋ ๋๊ธฐ ์ํ๋ก ๋ฐ๋๋ฉด์ ํ๋๋ง ์คํ ์ํ๊ฐ ๋๋ค๋ ์ ์ด ์ค์ํ๋ค.
- ์ค๋น → ์คํ : (dispatch)
์ค๋น ํ ๋งจ ์์ ์๋ ํ๋ก์ธ์ค๊ฐ ํ๋ก์ธ์๋ฅผ ์ ์ ํ๋ ๊ฒ์ ๋์คํจ์น๋ผ๊ณ ํ๋ค. ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์ด์์ฒด์ ์์๋ ์คํ ์ํ์ธ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ ์๊ฐ๋งํผ๋ง ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋๋ก ํ์ฌ ํน์ ํ๋ก์ธ์ค๊ฐ ํ๋ก์ธ์๋ฅผ ๊ณ์ ๋ ์ ํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ค. - ์คํ → ์ค๋น : (timeout)
์ด์์ฒด์ ๋ ์คํ ์ํ์ ํ๋ก์ธ์ค๊ฐ ํ๋ก์ธ์๋ฅผ ๊ณ์ ๋ ์ ํ์ง ์๋๋ก ์ธํฐ๋ฝํธ ํด๋ก์ ๋์ด ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ ์๊ฐ ๋์๋ง ํ๋ก์ธ์๋ฅผ ์ ์ ํ๊ฒ ํ๋ค. ํ๋ก์ธ์ค๊ฐ ์ผ์ ์๊ฐ์ด ์ง๋๋, ์ฆ ํ์์์๋์ด๋ ํ๋ก์ธ์๋ฅผ ๋ฐํํ์ง ์์ผ๋ฉด ํด๋ก์ด ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ ์ด์์ฒด์ ์์ ํ๋ก์ธ์ ์ ์ด๊ถ์ ๋ถ์ฌํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ฉด ์คํ ์ํ์ ํ๋ก์ธ์๋ ์ค๋น ์ํ๊ฐ ๋๊ณ , ์ค๋น ๋ฆฌ์คํธ์ ์ฒซ ๋ฒ์งธ ํ๋ก์ธ์ค๊ฐ ์คํ ์ํ๊ฐ ๋๋ค. - ์คํ → ๋๊ธฐ(๋ณด๋ฅ) : (block)
ํ ๋น๋ ์๊ฐ ์ด์ ์ ์คํ ์ํ์ ํ๋ก์ธ์ค์ ์ ์ถ๋ ฅ ์ฐ์ฐ ๋ฑ์ด ํ์ํ๊ฑฐ๋ ์๋ก์ด ์์ ์์ฒญ ๋ฑ์ ๋ฌธ์ ๋ก ํ๋ก์ธ์๋ฅผ ์ค์ค๋ก ์๋ํ๋ฉด ๋๊ธฐ ์ํ๊ฐ ๋๋ค. - ๋๊ธฐ(๋ณด๋ฅ) → ์ค๋น : (wake up)
ํ๋ก์ธ์ค๋ ์ ์ถ๋ ฅ ์์ ์ด ๋๋๋ฉด ๊นจ์(wake up)์ผ๋ก ๋๊ธฐ์์ ์ค๋น ์ํ๊ฐ ๋๋ค.
ํ๋ก์ธ์ค๋ ์์คํ ์์ ์ค๋น → ์คํ → ๋๊ธฐ ์ํ๋ก ๋ฐ๋๋ฉด์ ์คํํ๊ณ ์ข ๋ฃํ๋๋ฐ, ์์คํ ์ ๋ ๋ ๋๊น์ง ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค. ํ๋ก์ธ์ค์ ์ํ ๋ณํ๋ ์ด์์ฒด์ ๊ฐ ์์ ์ค์ผ์ค๋ฌ์ ํ๋ก์ธ์ค ์ค์ผ์ค๋ฌ ๊ฐ์ ํ๋ก์ธ์ ์ค์ผ์ค๋ฌ๋ฅผ ์ด์ฉํ์ฌ ๊ด๋ฆฌํ๋ค. ์์ ์ค์ผ์ค๋ฌ๋ ์คํ๋ฌ๊ฐ ๋์คํฌ์ ์ ์ฅํ ์์ ์ค ์คํํ ์์ ์ ์ ์ ํ๊ณ ์ค๋น ๋ฆฌ์คํธ์ ์ฝ์ ํ์ฌ ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์ ์ ๋๋ฅผ ๊ฒฐ์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ก์ธ์ค ์ค์ผ์ค๋ฌ๋ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ ์ ํ ์์ ์ ์ํ๋ฅผ ๋ณํ์ํค๋ฉฐ ํ๋ก์ธ์ค์ ์์ฑ์์ ์ข ๋ฃ๊น์ง ๊ณผ์ ์ ์ํํ๋ค.
- ์คํ๋ฌ : ๋๊ธฐ์ด ๊ด๋ฆฌํ๋ก๊ทธ๋จ ๋๋ ์ธ์ ๊ด๋ฆฌ ์ํํธ์จ์ด. ์คํ๋ฌ๋ ์ฐ์ ์์๋ฅผ ์์ ์ ํ ๋นํ ์ ์๊ฒ ํ๊ณ , ์ธ์ํ ๋ ์ฌ์ฉ์์๊ฒ ์๋ฆฌ๋ฉฐ, ํ๋ฆฐํฐ๋ผ๋ฆฌ ์๋ก ์์ ์ ๋๋๋ ๋ฑ์ ์ผ์ ๋ด๋นํ๋ค.(์ถ์ฒ)
์คํ ์ํ์ ํ๋ก์ธ์ค๊ฐ ํ๋ก์ธ์๋ฅผ ์๋ฐ์ ์ผ๋ก ๋ฐํํ๊ธฐ ์ ์ ํ ๋น๋ ์๊ฐ์ด ์ง๋๋ฉด ์ด ํ๋ก์ธ์ค๋ ์ค๋น ์ํ๊ฐ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ค ์ ์ถ๋ ฅ ๋ช ๋ น(๋๋ ์๊ฐ์ด ๋ง์ด ํ์ํ ๋น์ทํ ์์ฒญ)์ด ๋ฐ์ํ๋ฉด ๋๊ธฐ ์ํ๊ฐ ๋๋ค. ๋๊ธฐ ์ํ์ธ ํ๋ก์ธ์ค๋ ๋๊ธฐ ์์ธ์ ์ ๊ฑฐํ๋ฉด ์ค๋น ์ํ๋ก ๋ฐ๋๊ณ , ๋์คํจ์ฒ(distatcher)๊ฐ ์ค๋น ์ํ์ธ ํ๋ก์ธ์ค์ ํ๋ก์ธ์๋ฅผ ํ ๋นํ๋ฉด ๋ค์ ์คํ ์ํ๋ก ๋ฐ๋๋ค. ์ฌ๊ธฐ์ ๋์คํจ์ฒ๋ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ค์ผ์ค๋ฌ๊ฐ ์ ํํ ํ๋ก์ธ์ค์ ํ๋ก์ธ์๋ฅผ ํ ๋นํ๋ ๋ชจ๋์ด๋ค.
ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก(PCB)
PCB๋ ํ๋ก์ธ์๋ฅผ ๊ด๋ฆฌํ๋ ค๊ณ ์ ์งํ๋ ๋ฐ์ดํฐ ๋ธ๋ก ๋๋ ๋ ์ฝ๋์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ด๋ค. PCB๋ ์๋์ ๊ฐ์ ์ ๋ณด๋ค๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
ํ๋ก์ธ์ค ์๋ณ์ | ๊ฐ ํ๋ก์ธ์ค์ ๊ณ ์ ์๋ณ์(์ซ์, ์์ธ ํญ๋ชฉ) |
ํ๋ก์ธ์ค ์ํ | ์์ฑ, ์ค๋น, ์คํ, ๋๊ธฐ, ์ค๋จ ๋ฑ ์ํ ํ์ |
ํ๋ก๊ทธ๋จ ์นด์ดํฐ | ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ ๋ค์ ๋ช ๋ น์ ์ฃผ์ ํ์ |
๋ ์ง์คํฐ ์ ์ฅ ์์ญ | ๋์ฐ๊ธฐ, ์ธ๋ฑ์ค ๋ ์ง์คํฐ, ์คํ ํฌ์ธํฐ, ๋ฒ์ฉ ๋ ์ง์คํฐ, ์กฐ๊ฑด ์ฝ๋ ๋ฑ ์ ๋ณด๋ก, ์ปดํจํฐ ๊ตฌ์กฐ์ ๋ฐ๋ผ ์๋ ํํ๊ฐ ๋ค๋ฅด๋ค. ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด ํ๋ก๊ทธ๋จ ์นด์ดํฐ์ ํจ๊ป ์ ์ฅํ์ฌ ์ฌ์คํํ ๋ ์๋๋๋ก ๋ณต๊ทํ ์ ์๊ฒ ํ๋ค. |
ํ๋ก์ธ์ ์ค์ผ์ค๋ง ์ ๋ณด | ํ๋ก์ธ์ค์ ์ฐ์ ์์, ์ค์ผ์ค๋ง ํ์ ํฌ์ธํฐ, ๊ธฐํ ์ค์ผ์ค ๋งค๊ฐ๋ณ์ |
๊ณ์ ์ ๋ณด | ํ๋ก์ธ์ ์ฌ์ฉ ์๊ฐ, ์ค์ ์ฌ์ฉ ์๊ฐ, ์ฌ์ฉ ์ํ ์๊ฐ, ๊ณ์ ๋ฒํธ, ์์ ์ด๋ ํ๋ก์ธ์ค ๋ฒํธ ๋ฑ |
์
์ถ๋ ฅ ์ํ ์ ๋ณด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ ๋ณด ... |
1. ํน๋ณํ ์
์ถ๋ ฅ ์๊ตฌ ํ๋ก์ธ์ค์ ํ ๋น๋ ์
์ถ๋ ฅ์ฅ์น, ์ด๋ฆฐ ํ์ผ๋ฆฌ์คํธ ๋ฑ 2. ์ด์์ฒด์ ๊ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ์์คํ ์ ๋ฐ๋ฅธ ์ํ·ํํ ๋ ์ง์คํฐ(๊ฒฝ๊ณ ๋ ์ง์คํฐ), ํ์ด์ง ํ ์ด๋ธ์ด๋ ์ธ๊ทธ๋จผํธ ํ ์ด๋ธ ๊ฐ ๋ฑ |
ํ๋ก์ธ์ค๊ฐ ์์ฑ๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ์์ฑํ๊ณ , ํ๋ก์ธ์ค๊ฐ ์คํ์ ์ข ๋ฃํ๋ฉด ํด๋น ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก๋ ์ญ์ ํ๋ค. ์ด์์ฒด์ ์ ๋ชจ๋ ๋ชจ๋์ด ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก ์ ๋ณด๋ฅผ ์ฝ๊ณ ์์ ํ ์ ์๋ค.
ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ ๊ตํ
์ธํฐ๋ฝํธ๋ ์์คํ ํธ์ถ ๋ฑ์ผ๋ก ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ์ ์ด๋ฅผ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋๊ฒจ ์คํ ์ํ๊ฐ ๋๋๋ก ํ๋ ๊ฒ์ ํ๋ก์ธ์ค ๋ฌธ๋งฅ ๊ตํ์ด๋ผ๊ณ ํ๋ค. ํ๋ก์ธ์ค ๋ฌธ๋งฅ ๊ตํ์ด ์ผ์ด๋๋ฉด ํ๋ก์ธ์์ ๋ ์ง์คํฐ์ ์๋ ๋ด์ฉ์ ๋์ค์ ์ฌ์ฉํ ์ ์๋๋ก ์ ์ฅํ๋ค. ํ๋ก์ธ์ค P1๊ณผ P2๊ฐ์ ํ๋ก์ธ์ค ๋ฌธ๋งฅ ๊ตํ ์๋ ์๋์ ๊ฐ๋ค.
2. ํ๋ก์ธ์ค์ ๊ด๋ฆฌ
ํ๋ก์ธ์ค์ ๊ตฌ์กฐ
์ด์์ฒด์ ๋ ํ๋ก์ธ์ค์์ ์์ฑ, ์ข ๋ฃ, ์ ๊ฑฐ, ์ค๋จ(์์คํ๋ suspend), ์ฌ์์, ์ฐ์ ์์ ๋ณ๊ฒฝ, ๋๊ธฐ, ๋ฌธ๋งฅ ๊ตํ ๋ฑ ๋ค์ํ ์์ ์ ์ํํ ์ ์๋ค. ์ด๋ ๋จผ์ ํ๋ก์ธ์ค์ ๊ตฌ์กฐ๋ฅผ ์์์ผ ์ดํดํ ์ ์๋ค.
ํ๋ก์ธ์ค๋ ์คํ ์ค์ ํ๋ก์ธ์ค ์์ฑ ์์คํ ํธ์ถ์ ์ด์ฉํด์ ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์์ฑํ ์ ์๋ฐ. ์ด๋ ํ๋ก์ธ์ค ์์ฑ ์์๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ์ ์งํ์ฌ ๊ณ์ธต์ ์ผ๋ก ์์ฑํ๋ค. ํ๋ก์ธ์ค๋ฅผ ์๋ก ์์ฑํ๋ ํ๋ก์ธ์ค๋ ๋ถ๋ชจ ํ๋ก์ธ์(parent process)์ด๊ณ , ์์ฑ๋๋ ํ๋ก์ธ์ค๋ ์์ ํ๋ก์ธ์ค(child process) ๋๋ ์๋ธ ํ๋ก์ธ์ค(subprocess)์ด๋ค. ๋ถ๋ชจ ํ๋ก์ธ์ค๋ ์์ ํ๋ก์ธ์๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํ์ฑํ๋๋ฐ, ์ด๋ฐ ํ๋ก์ธ์ค ๊ณ์ธต ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค.
ํ๋ก์ธ์ค์ ์์ฑ
์ด์์ฒด์ ๋ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์์ฒญ์ ๋ฐ์ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ฉด, ์ด์์ฒด์ ๋ ํด๋น ํ๋ก์ธ์ค์์ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ๋ง๋ค์ด ์ฃผ์ ๊ณต๊ฐ์ ํ ๋นํ๋ค.
์ผ๊ด ์ฒ๋ฆฌ ํ๊ฒฝ์์๋ ์ค๋น ํ์ ์์
์ด ๋์ฐฉํ ๋ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ณ ,
๋ํํ ํ๊ฒฝ์์๋ ์๋ก์ด ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์จํ ๋ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ค.
ํ๋ก์ธ์ค ์์ฑ ์ธ๋ถ ์์
- ์๋ก์ด ํ๋ก์ธ์ค์ ํ๋ก์ธ์ค ์๋ณ์๋ฅผ ํ ๋น
- ํ๋ก์ธ์ค์ ๋ชจ๋ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ ์ ์๋ ์ฃผ์ ๊ณต๊ฐ๊ณผ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก ๊ณต๊ฐ์ ํ ๋น
- ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ์ด๊ธฐํ. ํ๋ก์ธ์ค ์ํ, ํ๋ก๊ทธ๋จ ์นด์ดํฐ ๋ฑ ์ด๊ธฐํ, ์์ ์์ฒญ, ํ๋ก์ธ์ค ์ ์ด ์ ๋ณด(์ฐ์ ์์) ๋ฑ์ ํฌํจํ๋ค.
- ๋งํฌ๋ฅผ ๊ฑด๋ค(ํด๋น ํ์ ์ฝ์ ํ๋ค).
ํ๋ก์ธ์ค๊ฐ ์์ ์ ์ํํ๋ ค๋ฉด ํ๋ก์ธ์ ์ ์ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ, ํ์ผ, ์ ์ถ๋ ฅ์ฅ์น ๋ฑ ์์์ด ํ์ํ๋ค. ์์ ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ์์ ์ง์ ํ์ํ ์์์ ์ป๊ฑฐ๋ ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์์์ ์ผ๋ถ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ ๋ถ๋ชจ ํ๋ก์ธ์ค๋ ์์ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ์์์ ์ ํํด์ ํน์ ํ๋ก์ธ์ค๊ฐ ์์ ํ๋ก์ธ์ค๋ฅผ ๋๋ฌด ๋ง์ด ์์ฑํ์ฌ ์์คํ ์ ๋ถ๋ด์ ์ฃผ๋ ๊ฒ์ ๋ง์ ์ ์๋ค. ํ๋ก์ธ์ค๋ฅผ ์์ฑํ ๋๋ ์ด๋ฐ ์์ ์ธ์๋ ์ผ๋ถ ์ด๊ธฐํ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ชจ ํ๋ก์ธ์ค์์ ์์ ํ๋ก์ธ์ค๋ก ์ ๋ฌํ๊ธฐ๋ ํ๋ค.
ํ๋ก์ธ์ค๊ฐ ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์์ฑํ ๋ ๋ค์ ๋ ๊ฐ์ง ์คํ์ด ๋ฐ์ํ ์ ์๋ค.
- ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์์ ํ๋ก์ธ์ค๋ฅผ ๋์์ ์คํํ๋ค.
- ๋ถ๋ชจ ํ๋ก์ธ์ค๋ ์์ ํ๋ก์ธ์ค๋ฅผ ๋ชจ๋ ์ข ๋ฃํ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค.
fork ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ํฌ๊ฒ ๋ ๊ฐ์ง์ด๋ค.
- ๋ถ๋ชจ์ ๋์ผํ ์์์ ๋ณต์ ํ๋ ๊ฒ
- fork ๋ช ๋ น์ด๋ฅผ ํธ์ถํ ํ exec ๋ช ๋ น์ด๋ฅผ ์ฐ๋ฌ์ ํธ์ถํ์ฌ ์์ ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ๋ณ๋ ํ๋ก๊ทธ๋จ ์ฃผ์ ๊ณต๊ฐ์ผ๋ก ๋ฎ์ด์ฐ๋ ๊ฒ์ด๋ค.
์ ๋์ค์๋ ๊ฐ ํ๋ก์ธ์ค๋ง๋ค ์ ์๋ก ๋ ๊ณ ์ ํ ํ๋ก์ธ์ค ์๋ณ์๊ฐ ์๋ค. fork ๋ช ๋ น์ด๋ก ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ฉด ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ๋ณต์ฌํ์ฌ ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์์ ํ๋ก์ธ์ค์ ์ ๋ณด๋ฅผ ์ฝ๊ฒ ๊ตํํ ์ ์๋ค. ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์์ ํ๋ก์ธ์ค๊ฐ fork ๋ช ๋ น์ด๋ฅผ ๋์์ ์ํํ์ฌ ์คํ์ ๊ณ์ํ๋ฉด ์์ ํ๋ก์ธ์ค๋ ์๋ณ์๊ฐ 0์ด ๋๊ณ , ์์ ํ๋ก์ธ์ค์ ์๋ณ์๋ ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์๋ณ์๊ฐ ๋๋ค. ์ฆ, fork ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ์์ ํ๋ก์ธ์ค์๋ 0์ ๋ฐํํ์ง๋ง, ๋ถ๋ชจ ํ๋ก์ธ์ค์๋ ์์ ํ๋ก์ธ์ค์ ์๋ณ์๋ฅผ ๋ฐํํ๋ค. ๋ฐ๋ฉด ์๋์ฐ NT ๊ณ์ด ์ด์์์๋ ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ๋ณต์ฌํ๊ฑฐ๋ ๋ณ๋์ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ๋(์ฃผ์ ๊ณต๊ฐ์ ์ ์ฌํ๋ ํ๋ก๊ทธ๋จ์ ์ด๋ฆ์ ์ด์์ฒด์ ์์ ์ง์ ) ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ง์ํ๋ค.
fork ๋ช ๋ น์ด๋ ํ์ฌ ํ๋ก์ธ์ค(๋ถ๋ชจ)๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์์ ๋ณต์ฌํ ํ๋ก์ธ์ค(์์)๋ฅผ ๋ง๋ค๊ณ , ์์์ ๋ถ๋ชจ์ ๋ณ์, ์คํ, ํ์ ๋ด์ฉ์ ๋ณต์ฌํ๋ฉฐ PCB๋ ํจ๊ป ๋ณต์ฌ๋๋ค.
์ ๋์ค ์ฒด๊ณ์์ init ํ๋ก์ธ์ค๊ฐ ์คํ์ด ๋๋ฉด init์ fork๋ฅผ ํ๊ณ fork๋ ํ๋ก์ธ์ค๋ฅผ exec์ผ๋ก ๋ฎ์ด์์ฐ๋๋ก ํ์ฌ ํ๋ก์ธ์ค๋ฅผ ๊ณ์ ์์ฑํ๋ ๋ฐฉ์์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
ํ๋ก์ธ์ค์ ์ข ๋ฃ
ํ๋ก์ธ์ค๊ฐ ๋ง์ง๋ง ๋ช ๋ น์ ์คํํ๋ฉด ์ข ๋ฃํ์ฌ ์ด์์ฒด์ ์ ํ๋ก์ธ์ค์ ์ญ์ ๋ฅผ ์์ฒญํ๋ค.
์ผ๊ด ์ฒ๋ฆฌ ํ๊ฒฝ์์๋ ์์
์ข
๋ฃ๋ฅผ ์๋ฏธํ๋ ์ ํธ๋ก ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์ํ๊ฑฐ๋ ์์คํ
ํธ์ถ๋ก ์ค๋จ ๋ช
๋ น์ ์ ๋ฌํ์ฌ ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃํ๋ค.
๋ํํ ํ๊ฒฝ์์๋ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์คํํ๊ฑฐ๋ ํฐ๋ฏธ๋์ ๋ซ์ผ๋ฉด ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃํ๋ค.
์ด์ธ์ ์ค๋ฅ๋ abort ๋ช ๋ น์ด๋ก๋ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ ์ ์๋ค. abort ๋ช ๋ น์ด๋ ์ข ๋ฃํ ํ๋ก์ธ์ค์ ๋ถ๋ชจ ํ๋ก์ธ์ค๋ง ํธ์ถํ๋๋ฐ, ๋ถ๋ชจ๊ฐ ์๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์์๋ก ํด๋น ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ํ๋ก์ธ์ค๋ ์ข ๋ฃํ ๋ ์์ ์ ์๋ณ์๋ฅผ ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์ ๋ฌํ๋ค.
๋ถ๋ชจ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๋ฉด ๋ณดํต ์์ ํ๋ก์ธ์ค๋ ํ์์น ์์ผ๋ฏ๋ก ์ด์์ฒด์ ๊ฐ ์์ ํ๋ก์ธ์ค๋ ์ข ๋ฃํ๋๋ฐ, ์ด๋ฅผ ์ฐ์ ์ข ๋ฃ๋ผ๊ณ ํ๋ค.
ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๋ ์ํฉ
- ์ ์ ์ข ๋ฃ : ํ๋ก์ธ์ค๊ฐ ์ด์์ฒด์ ์ ์๋น์ค๋ฅผ ํธ์ถํ ๋
- ์๊ฐ ์ด๊ณผ : ํ๋ก์ธ์ค๊ฐ ๋ช ์๋ ์ ์ฒด ์๊ฐ์ ์ด๊ณผํ์ฌ ์คํํ๊ฑฐ๋ ๋ช ์๋ ์๊ฐ์ ์ด๊ณผํ๋ฉด์ ์ด๋ค ์ด๋ฒคํธ ๋ฐ์์ ๊ธฐ๋ค๋ฆด ๋
- ์คํจ : ํ์ผ ๊ฒ์ ์คํจ, ์ ์ถ๋ ฅ์ด ๋ช ์๋ ํ์๋ฅผ ์ด๊ณผํ์ฌ ์คํจํ ๋
- ์ฐ์ ์ค๋ฅ, ๋ณดํธ ์ค๋ฅ, ๋ฐ์ดํฐ ์ค๋ฅ ๋ฑ
- ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ, ์ก์ธ์ค ์๋ฐ ๋ฑ
์ ๋์ค์์๋ exit ๋ช ๋ น์ด๋ก ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๊ณ , ๋ถ๋ชจ ํ๋ก์ธ์ค๋ wait ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ๋ก์ธ์ค์ ์ข ๋ฃ๋ฅผ ๊ธฐ๋ค๋ฆฐ๋ค. wait ๋ช ๋ น์ด๋ ์์ ํ๋ก์ธ์ค์ ์๋ณ์๋ฅผ ๋ถ๋ชจ ํ๋ก์ธ์ค์ ๋๋ ค์ฃผ๋ฏ๋ก ์ด๋ค ์์ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๋์ง ์๋ ค์ค๋ค.
ํ๋ก์ธ์ค์ ์ ๊ฑฐ
ํ๋ก์ธ์ค ์ ๊ฑฐ๋ ํ๋ก์ธ์ค๋ฅผ ํ๊ดดํ๋ ๊ฒ์ด๋ค. ํ๋ก์ธ์ค๋ฅผ ์ ๊ฑฐํ๋ฉด ์ฌ์ฉํ๋ ์์์ ์์คํ ์ ๋๋ ค์ฃผ๊ณ , ํด๋น ํ๋ก์ธ์ค๋ ์์คํ ๋ฆฌ์คํธ๋ ํ ์ด๋ธ์์ ์ฌ๋ผ์ ธ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ํ์ํ๋ค. ํ์ง๋ง ํ๋ก๊ทธ๋จ์ ์ฌ์ ํ ๋์คํฌ์ ์ ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ํ๋ก์ธ์ค๋ ๋ถ๋ชจ ํ๋ก์ธ์ค๋ฅผ ์ ๊ฑฐํ๋ฉด ์๋์ผ๋ก ์ ๊ฑฐ๋๋ค.
ํ๋ก์ธ์ค์ ์ค๋จ๊ณผ ์ฌ์์
์์ ์ดํด๋ณธ ํ๋ก์ธ์ค์ ์ค๋น, ์คํ, ๋๊ธฐ ์ํ๋ง ์ด์ฉํ๋ฉด ์ ์ถ๋ ฅ ๋์์ด ์ผ๋ฐ ์ฐ์ฐ๋ณด๋ค ๋๋ ค ์์คํ ์ด ๋๋ถ๋ถ ์ ํด ์ํ์ด๋ค. ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์์๋ ํ๋ก์ธ์์ ๋์์๊ฐ์ด ์ ์ถ๋ ฅ๋ณด๋ค ์งง์ ํ๋ก์ธ์ค ๋ฌธ๋งฅ ๊ตํ์ด ์ผ์ด๋ ํ์๋ ๊ธฐ๋ค๋ฆฌ๊ฒ ๋๋ฏ๋ก ๋๋ถ๋ถ ์ ํด์๊ฐ์ด ๋๋ค.
์์คํ ์ ํด์๊ฐ ๋ฌธ์ ๋ ํ๋ก์ธ์ค ์ค๋จ(์ผ์์ ์ง) ์ํ๋ฅผ ์ด์ฉํ์ฌ ํด๊ฒฐํ ์ ์๋ค. ์ด์์ฒด์ ๋ ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์์ฑํ์ฌ ์คํํ๊ฑฐ๋ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ๋ค๊ฐ ๋ค์ ์คํํ์ฌ ์ฌ์ฉํ ์ ์๋ค. ํ์์ ๋ฐฉ๋ฒ์ ์ด์ฉํ๋ฉด ์์คํ ์ ์ฒด์ ๋ถํ๋ฅผ ์ฆ๊ฐ์ํค์ง ์์ผ๋ฉด์ ํ๋ก์ธ์ค์ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค. ์คํ์์ ๋๊ธฐ๊ฐ ์๋ ์ค๋จ ์ํ๋ฅผ ์ถ๊ฐํ๋ฉด ํน์ ์ด๋ฒคํธ์ ๋ฐ์์ ๊ธฐ๋ค๋ฆฌ๋ฉด์ ๋๊ธฐ ์ํ๊ฐ ๋๋ค. ๊ทธ๋ฌ๋ฉด ํด๋น ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์ฆ์ ์คํ ์ํ๋ก ๋ฐ๊ฟ ์ ์๋ ์ด์ ์ด ์๋ค.
๋ค์ค ํ๋ก๊ทธ๋๋ฐ์์ ์ค๋จ์ ํ๋ก์ธ์ค ์ ์ถ๋ ฅ ์๊ตฌ ์ธ์ ๋ค๋ฅธ ์์ธ์ผ๋ก ํ๋ก์ธ์ค๊ฐ ์คํ์ ์ค๋จํ ์ํ, ์ฆ ์์ ๋ถ์กฑ(๋๊ธฐ) ์ํ๋ฅผ ์๋ฏธํ๊ธฐ๋ ํ๋ค. ๋ฌผ๋ก ์ค๋จ๋ ํ๋ก์ธ์ค๋ ๊ธฐ๋ค๋ฆฌ๋ ์ด๋ฒคํธ(์ : ์ ์ถ๋ ฅ ์๋ฃ ์ธํฐ๋ฝํธ ๋ฐ์)๊ฐ ๋ฐ์ํ๋ฉด ์ค๋จ ์ด์ ์ ์ํ๋ก ๋๋์๊ฐ ์ ์๋ค. ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ ์์ธ์ ์ ๊ฑฐํ์ฌ ๋ค์ ์คํํ๋ ๊ฒ์ ์ฌ์์์ด๋ผ๊ณ ํ๋ค.
ํ๋ก์ธ์ค์ ์ค๋จ๊ณผ ์ฌ์์์ด ์ผ์ด๋๋ ์ํฉ
- ์์คํ ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด, ์ค๋จํ๋ค๊ฐ ์์คํ ์ด ๊ธฐ๋ฅ์ ํ๋ณตํ๋ฉด ๋ค์ ์ฌ์์ ํ ์ ์๋ค.
- ํ๋ก์ธ์ค์ ์์ฌ์ค๋ฌ์ด ๋ถ๋ถ์ด ์์ผ๋ฉด ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ์ฌ ํ์ธํ ํ ์ฌ์์ํ๊ฑฐ๋ ์ข ๋ฃํ ์ ์๋ค.
- ์ฒ๋ฆฌํ ์์ ์ด ๋๋ฌด ๋ง์ ์์คํ ์ ๋ถ๋ด์ด ๋๋ฉด(๋๋ฌด ๋ง์ ์ ์ฌ) ํ๋ก์ธ์ค ๋ช ๊ฐ๋ฅผ ์ค๋จํ๋ค๊ฐ ์์คํ ์ด ์ ์ ์ํ๋ก ๋์์์ ๋ ์ฌ์์ํ ์ ์๋ค.
๋๋ค์ ์์คํ ์ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ธฐ ์ ์ ์์์ ํ ๋น๋ฐ๊ณ ์คํ์ ์์ํ์ง๋ง, ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์์๋ ์์์ ์ด์ฉ๋ฅ ๊ณผ ์์คํ ํจ์จ์ ๋์ด๋ ค๊ณ ์์์ ๋์ ์ผ๋ก ํ ๋นํ๋ค. ์ด๋ ์์์ ํ ๋น๋ฐ์ผ๋ ค๊ณ ๊ธฐ๋ค๋ฆฌ๋ ์ํ๊ฐ '๋๊ธฐ'์ด๊ณ , ํ ๋น๋ฐ์ ์์์ ๊ธฐ๋ค๋ฆฌ๋ ์ํ๊ฐ '์ค๋จ'์ด๋ค.
๋๊ธฐ ์ํ๋ ๋๋ถ๋ถ ์๊ฐ์ด ์ง๋๋ฉด ์์ฒญํ ์์์ ์ฌ์ฉํ ์ ์์ด ์ค๋น ์ํ๊ฐ ๋๋ค. ๊ทธ๋ฌ๋ ํ๋์จ์ด๊ฐ ๊ณ ์ฅ ๋๊ฑฐ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ํด๋น ์์์ ๋ฐํํ ์ ์๋ ์ํ, ์ฆ ๊ต์ฐฉ ์ํ๊ฐ ๋๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
ํ๋ก์ธ์ค์ ์ค๋จ๋ ์ค๋น ์ํ์ ์ค๋จ๋ ๋๊ธฐ ์ํ๋ฅผ ์ถ๊ฐํ์ฌ ์ํ๋ ์๋์ ๊ฐ๋ค.
์ค๋จ์ ํ๋ก์ธ์ค ์์ ์ด๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก ๊ฐ๋ฅํ๋ฐ, ๋จ์ผ ์ฒ๋ฆฌ ์์คํ ์์๋ ์ค์ค๋ก ์ค๋จํ๋ ๋ฐ๋ฉด, ๋ค์ค ์ฒ๋ฆฌ ์์คํ ์์๋ ๋ค๋ฅธ ํ๋ก์ธ์๊ฐ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ ์ ์๋ค. ์ค๋จ๋ ํ๋ก์ธ์ค๋ ๋ค๋ฅธ ํ๋ก์ธ์๊ฐ ์ฌ์์ํ๊ธฐ ์ ์๋ ์คํํ ์ ์๋ค.
ํ๋ก์ธ์ค์ ์ฐ์ ์์ ๋ณ๊ฒฝ
ํ๋ก์ธ์ค ์ค์ผ์ค๋ฌ๋ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ์๋ ์ฐ์ ์์๋ฅผ ์ด์ฉํ์ฌ ์ค๋น ๋ฆฌ์คํธ์ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ค. ์ค๋น ๋ฆฌ์คํธ์ ํ๋ก์ธ์๋ ํ๋ก์ธ์ ์ค์ฌ ํ๋ก์ธ์ค์ ์ ์ถ๋ ฅ ์ค์ฌ ํ๋ก์ธ์ค๋ก ๊ตฌ๋ถํ ์ ์๋ค. ์ ์ถ๋ ฅ ์ค์ฌ ํ๋ก์ธ์ค๋ ์๋๊ฐ ๋๋ฆฌ๋ฉด์ ๋น ๋ฅธ ์๋ต์ ์๊ตฌํ๋ ๋จ๋ง๊ธฐ ์ ์ถ๋ ฅ์ ๋์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๊ณ , ์๋๊ฐ ๋น ๋ฅธ ๋์คํฌ ์ ์ถ๋ ฅ ํ๋ก์ธ์ค์๋ ๋ฎ์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋ค. ์ด๋ ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค์๋ ์๊ฐ์ ๋ง์ด ํ ๋นํ๊ณ , ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค์๋ ์๊ฐ์ ์ ๊ฒ ํ ๋นํ๋ค. ๋ฐ๋ผ์ ์ ์ถ๋ ฅ ์ค์ฌ ํ๋ก์ธ์ค๋ ํ๋ก์ธ์๋ฅผ ์งง๊ฒ ์์ฃผ ์ฌ์ฉํ๋๋ก ํ๊ณ , ํ๋ก์ธ์ ์ค์ฌ ํ๋ก์ธ์ค๋ ํ๋ก์ธ์๋ฅผ ๊ธธ๊ฒ ์ฌ์ฉํ๋ ์ฌ์ฉ ํ์๋ฅผ ์ค์ฌ์ ๊ท ํ์ ์ ์งํ ์ ์๋ค.
ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ ๊ตํ
ํ์ฌ ์คํํ๋ ํ๋ก์ธ์ค์ ๋ณ๋๋ก ์ธ๋ถ์์ ์ด๋ฒคํธ(์ : ์ ์ถ๋ ฅ ๋์์ ์ข ๋ฃ)๊ฐ ์ผ์ด๋๋ฉด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ค.
- ์ ์ถ๋ ฅ ์ธํฐ๋ฝํธ : ์ ์ถ๋ ฅ ๋์์ด ๋ฐ์ํ์์ ํ์ธํ๊ณ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค๋ฅผ ์ค๋น ์ํ๋ก ๋ฐ๊พผ ํ ์คํํ ํ๋ก์ธ์ค๋ฅผ ๊ฒฐ์ ํ๋ค.
- ํด๋ก ์ธํฐ๋ฝํธ : ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ํ ๋น ์๊ฐ์ ์กฐ์ฌํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ค๋น ์ํ๋ก ๋ฐ๊พธ๊ณ , ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์คํ ์ํ๋ก ๋ฐ๊พผ๋ค.
์คํ ์ค์ธ ํ๋ก์ธ์ค์ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด ์ด์์ฒด์ ๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์คํ ์ํ๋ก ๋ฐ๊พธ๊ณ ์ ์ด๋ฅผ ๋๊ฒจ์ฃผ์ด ํ๋ก์ธ์ค ๋ฌธ๋งฅ ๊ตํ์ด ์ผ์ด๋๋ค. ์ธํฐ๋ฝํธ๋ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด์ ์คํํ ํ ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ฌ์คํํ ์ ์์ผ๋ฏ๋ก ์ธํฐ๋ฝํธ๊ฐ ๊ณง ํ๋ก์ธ์ค ๋ฌธ๋งฅ ๊ตํ์ผ๋ก ๋ฐ์ ํ์ง๋ ์๋๋ค. ๋ฐ๋ฉด์ ํธ๋ฉ(trap)์ ๋ถ์ ์ ํ ํ์ผ ์ ๊ทผ์ด๋ ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค ์ค๋ฅ๋ ์์ธ ์ํฉ์ผ๋ก ๋ฐ์ํ ์ ์๋ค. ์์คํ ์ ์น๋ช ์ ์ธ ์ค๋ฅ์ธ์ง ํ๋จํ์ฌ ์น๋ช ์ ์ด๋ฉด ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๊ณ ๊ตํํ๋ค.
์ด์ ํ๋ก์ธ์ค์ ์ํ ๋ ์ง์คํฐ ๋ด์ฉ์ ๋ณด๊ดํ๊ณ ๋ค๋ฅธ ํ๋ก์ธ์์ ๋ ์ง์คํฐ๋ฅผ ์ ์ฌํ์ฌ ํ๋ก์ธ์ค๋ฅผ ๊ตํํ๋๋ฐ, ์ด๋ฐ ์ผ๋ จ์ ๊ณผ์ ์ ๋ฌธ๋งฅ ๊ตํ(context switching)์ด๋ผ๊ณ ํ๋ค. ๋ฌธ๋งฅ ๊ตํ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋๋ฐ, ์ด๋ ๋ฉ๋ชจ๋ฆฌ ์๋, ๋ ์ง์คํฐ ์, ํน์ ๋ช ๋ น์ด์ ์ ๋ฌด์ ๋ฐ๋ผ ๋ค๋ฅด๋ค. ๊ทธ๋์ ์ด์์ฒด์ ๋ฅผ ์ค๊ณํ ๋ ๋ถํ์ํ ๋ฌธ๋งฅ ๊ตํ์ ์ค์ด๋ ๊ฒ์ผ๋ก ์ฃผ์ ๋ชฉํ๋ก ์ ํ๋ค.
๋ฌธ๋งฅ ๊ตํ์ด ๋ฐ์ํ ๋
- ์ค๋น → ์คํ
- ์คํ → ์ค๋น
- ์คํ → ๋๊ธฐ
ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค Pj์์ ๋ฌธ๋งฅ ๊ตํ์ ์์ฒญํ๋ฉด, ์ฐ์ ์ฌ์ฉ์ ๋ชจ๋์์ ์ปค๋ ๋ชจ๋๋ก Pj์ ์ ์ด๊ฐ ๋์ด๊ฐ๋ฉด์ ํ๋ก์ธ์ค Pj๋ฅผ ์ข ๋ฃํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์์ ํ ์ ์๋๋ก Pj์ ํ์ฌ ํ๋์จ์ด ์ํ๋ฅผ PCBj์ ์ ์ฅํ๊ณ ๋ค์์ ์คํํ ํ๋ก์ธ์ค๋ก Pk๋ฅผ ์ ํํ๋ค. Pk ์ ๋ณด๋ฅผ PCBk์์ ์ป์ด ์ ํ๋ก์ธ์์ ์ฌ์ ์ฅํ๊ณ ๋ ์ฌ์ฉ์ ๋ชจ๋๋ก ๋์์์ ํ๋ก์ธ์ Pk๋ฅผ ์คํํ๋ค.
๋ฌธ๋งฅ ๊ตํ์ ๋ ์ง์คํฐ ๋ฌธ๋งฅ ๊ตํ, ์์ ๋ฌธ๋งฅ ๊ตํ, ์ค๋ ๋ ๋ฌธ๋งฅ ๊ตํ, ํ๋ก์ธ์ค ๋ฌธ๋งฅ ๊ตํ์ด ๊ฐ๋ฅํ๋ค. ํ๋ก์ธ์ค์ ์ด์์ฒด์ ๊ฐ ๋ฌธ๋งฅ์ ๊ตฌ์ฑ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ฏ๋ก ์ด์์ฒด์ ๋ฅผ ์ค๊ณํ ๋ ์ฃผ์ ๊ด์ฌ์ฌ๋ ๊ฐ๋ฅํ ํ ๋ถํ์ํ ๋ฌธ๋งฅ ๊ตํ์ ์ค์ด๋ ๊ฒ์ด๋ค. ์ค์ ๋ก ๊ตฌํํ๊ธฐ๊ฐ ์ฝ์ง ์๋ค. ์ค๋ ๋๋ฅผ ์ด์ฉํ์ฌ ๋ฌธ๋งฅ ๊ตํ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ค.
'๐CS > OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] ์ค์ผ์ค๋ฌ์ ์ข ๋ฅ: ์ฅ๊ธฐ, ์ค๊ธฐ, ๋จ๊ธฐ ์ค์ผ์ค๋ฌ (0) | 2021.08.04 |
---|---|
[OS] ๋ธ๋ญ/๋ ผ๋ธ๋ญ, ๋๊ธฐ/๋น๋๊ธฐ (0) | 2021.07.28 |
[OS] ์ํธ๋ฐฐ์ ๋ฐฉ๋ฒ : ๋ฎคํ ์ค, ์ธ๋งํฌ์ด, ๋ชจ๋ํฐ (0) | 2021.05.02 |
[OS] ํ๋ก์ธ์ค ๊ฐ ํต์ ๋ฐฉ๋ฒ(Inter Process Communication, IPC) (1) | 2021.05.02 |
[OS] ์ค๋ ๋ (0) | 2021.04.04 |
๋๊ธ