์ด์์ฒด์ ๋ ์ฌ์ฉ์๊ฐ ํ๋ก๊ทธ๋จ์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ค. ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ ์๋น์ค๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ ๊ณต : CLI, GUI, ํฐ์น ์คํฌ๋ฆฐ
- ํ๋ก๊ทธ๋จ ์ํ
- ์ ์ถ๋ ฅ ์ฐ์ฐ
- ํ์ผ ์์คํ ์กฐ์
- ํต์ : ํ๋ก์ธ์ค๊ฐ ํต์ (๊ณต์ ๋ฉ๋ชจ๋ฆฌ & ๋ฉ์์ง ์ ๋ฌ ๊ธฐ๋ฒ)
- ์ค๋ฅ ํ์ง
- ์์ ํ ๋น
- ๊ธฐ๋ก ์์ฑ(๋ก๊น )
- ๋ณดํธ์ ๋ณด์
์์ ์ด์์ฒด์ ๋ ์ ์ ๋ชจ๋์ ์ปค๋๋ชจ๋, ๋ ๊ฐ์ง ๋ชจ๋๋ฅผ ์ ๊ณตํ๋ค๊ณ ๋ฐฐ์ ๋ค. ์ ์ ๋ชจ๋์์ ์ปค๋๋ชจ๋๋ก ์ ๊ทผํ๊ธฐ ์ํด ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๋ฅผ ์์คํ
์ฝ์ด๋ผ๊ณ ํ๋ค.
์์คํ
์ฝ์ ํ๋ก์ธ์ค ์ ์ด, ํ์ผ ์กฐ์, ์ฅ์น ์กฐ์, ์ ๋ณด ์ ์ง ๋ณด์, ํต์ , ๋ณดํธ์ ๋ฒ์ฃผ๋ก ๋๋ ์ ์๋ค๊ณ ํ๋ค.(์ด ์ ๋๋ฉด ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ์ธํ๊ณ OS์ ๋ชจ๋ ๊ธฐ๋ฅ)
์์๋ก ์ด์ง ๋ค๋ฉด ํ๋ก์ธ์ค ์ ์ด์ ๊ด๋ จ๋ ์์คํ ์ฝ์, Windows์ createProcess(), ExitProcess(), WaitForSingleObject() / Unix์ fork(), exit(), wait()๋ฑ์ด ์๋ค.
์ปดํจํฐ ์์คํ
์ ๊ตฌ์ฑ์์๋ ํ๋์จ์ด <-> ์ด์์ฒด์ <-> ์์ฉํ๋ก๊ทธ๋จ <-> ์ฌ์ฉ์ ๋ก ๋์ด์๋ค. ์ด์์ฒด์ ์ ์์ฉํ๋ก๊ทธ๋จ ์ฌ์ด์ ์์คํ
์๋น์ค๋ผ๋ ๊ฐ๋
์ด ์๋๋ฐ, ์์คํ
์๋น์ค๋ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ๊ณผ ์คํ์ ์ํด ๋ ํธ๋ฆฌํ ํ๊ฒฝ์ ์ ๊ณตํด์ฃผ๋ฉฐ, ์์คํ
์ฝ ์ธํฐํ์ด์ค๋ ์ด ๋ฒ์ฃผ์ ์ํ๋ค.
- ํ์ผ ๊ด๋ฆฌ ๋ฐ ๋ณ๊ฒฝ
- ์ํ ์ ๋ณด : ๋ ์ง, ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์ ๋ณด ๋ฑ์ ์ ๊ณต
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ง์ : ์ปดํ์ผ๋ฌ, ์ด์ ๋ธ๋ฌ ๋๋ฒ๊ฑฐ ๋ฑ
- ํ๋ก๊ทธ๋จ ์ ์ฌ ๋ฐ ์ํ
- ํต์ : ์ปดํจํฐ ์์คํ ๋ค๊ฐ์ ํต์ - ๊ฐ์์ ์(์๊ฒฉ ๋ก๊ทธ์ธ ๋ฑ)
- ๋ฐฑ๊ทธ๋ผ์ด๋ ์๋น์ค
์์คํ ์๋น์ค๋ ๋์คํฌ์ ์ ์ฅ๋ ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์ค๋ก ๋ง๋ค๊ธฐ ์ํด ์ปดํ์ผ๋ฌ, ๋ง์ปค, ๋ก๋๋ฅผ ์ฌ์ฉํ๋ค.
์ปค๋์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๋จ์ผ ์ ์ ์ด์ง ํ์ผ์ ๋ฃ๋ ๋ฐฉ์์ด๋ค. ์ฅ์ ์ ์ปค๋ ์์์์ ํต์ ์๋๊ฐ ๋น ๋ฅด๊ณ , ์ค๋ฒํค๋๊ฐ ์๋ค๋ ๊ฒ์ด๋ค.(๋น์ฐํจ. ํ ํ์ผ์ ๋ค ์ค์ ๋ฃ์.) ๋จ์ ์ ์๋ก์ด ๊ธฐ๋ฅ์ ํ์ฅํ๊ธฐ๊ฐ ์ด๋ ต๋ค. ํ ๋ถ๋ถ์ ๋ณ๊ฒฝํ๋ฉด ๋ค๋ฅธ ๋ถ๋ถ์๋ ์ํฅ์ ๋ผ์น ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ธฐ๋ฅ์ ํ ๊ณณ์ผ๋ก ๋ชฐ์๋ฃ์ด ํ์ฅ์ด ์ด๋ ต๋ค๋ฉด, ๊ธฐ๋ฅ์ ๊ณ์ธต์ผ๋ก ๊ตฌ๋ถํด์ ๊ณ์ธต๋ณ๋ก ํ์ฅํ๊ธฐ ์ฌ์ด ๊ตฌ์กฐ๋ก ๋ง๋ค ์ ์๋ค. ์ด์์ฒด์ ๋ํ ๊ธฐ๋ฅ์ ๊ณ์ธต ๋ณ๋ก ๋๋ ์ค๊ณํ ์ ์๋ค. ๋จ, ๊ฐ ๊ณ์ธต์ ์ด๋ค ๊ธฐ์ค์ผ๋ก ๋๋ ๊ฒ์ธ์ง ์ ์ ํ ๊ธฐ์ค์ ์ ์ ํด์ผ ํ๊ณ , ๊ณ์ธต๊ฐ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์์์ ๊ณ ๋ คํด์ผ ํ๋ค.
์ปค๋์ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉ์ ์์ค ํ๋ก๊ทธ๋จ์ผ๋ก ๋ถ๋ฆฌํ ๊ตฌ์กฐ. ์ปค๋์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, CPU ์ค์ผ์ค๋ง ๋ฑ ์ต์ํ์ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ฒ ๋๊ณ , ํ์ผ ์์คํ ๊ด๋ฆฌ๋ ์ฅ์น ๋๋ผ์ด๋ฒ ์ธํฐํ์ด์ค๋ฑ์ ๊ธฐ๋ฅ์ ์ปค๋์์ ๋ถ๋ฆฌ๋ผ ๋ณ๋์ ๋ชจ๋๋ก ์ ๊ณตํ๋ค.
๊ฐ ๋ชจ๋์ ์ฌ์ฉ์ ์์ค ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌํ๋๋ค. ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์กด์ฌํ๋ ์๋น์ค๋ค์ด ์ปค๋์ ํตํด ํต์ ์ ์ฃผ๊ณ ๋ฐ๊ฒ ๋๋ค. (์ด๋ค ์๋น์ค๋ค์ ์ฌ์ฉ์ ๊ณต๊ฐ์ ๋ ๊ฒ์ธ์ง๋ ์๊ฒฌ์ด ๋ง์ด ๊ฐ๋ฆฌ๋ ๋ฏ)
์ฅ์ ์ ๋ชจ๋๋ณ๋ก ํ์ฅ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ, ๋จ์ ์ ๊ณ์ธต์ ๊ตฌ์กฐ์ ๋๊ฐ์ด ๊ฐ ์๋น์ค๊ฐ์ ํต์ ๋น์ฉ์ด ์กด์ฌํ๋ค๋ ๊ฒ์ด๋ค.
(์ฑ
์์๋ ๊ทธ ๋น์ฉ์ผ๋ก ๋ฉ์์ง ๋ณต์ฌ ๋น์ฉ๊ณผ ํ๋ก์ธ์ค ์ ํ ๋น์ฉ์ ์ฃผ๋ก ๊ผฝ์๋๋ฐ macOS์ Mach ๋ง์ดํฌ๋ก ์ปค๋์ ๋ชจ๋ ์ปค๋ ํ์ฅ์ ๋จ์ผ ์ฃผ์ ๊ณต๊ฐ์ผ๋ก ๊ฒฐํฉํด์ ํด๊ฒฐํ๋ค๊ณ ํ๋ค. ๊ทผ๋ฐ ์ด๊ฑธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋? ์ฑ
์์๋ ์ด๊ฑฐ ๋๋ฌธ์ Mach๋ ์์ํ ๋ง์ดํฌ๋ก์ปค๋์ ์๋๋ผ๊ณ ๋งํ๊ณ ์๊ธดํจ. ์ด๋ ต๋ค. ๋ชจ๋ฅด๊ฒ ์.)
์ปค๋์ ํต์ฌ ๊ธฐ๋ฅ๋ง ์ ๊ณตํ๊ณ , ๋๋จธ์ง ๊ธฐ๋ฅ๋ค์ ๋ชจ๋๋ก ๋ถ๋ฆฌํ์ฌ ๋์ ์ผ๋ก ๊ตฌํํ๋ค. ์ด๋ฅผ ์ ์ฌ๊ฐ๋ฅ ์ปค๋ ๋ชจ๋LKM)์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ , LKM์ ์ํด ์ ๊ณต๋๋ ๊ธฐ๋ฅ์ด ๋ ์ด์ ์๊ตฌ๋์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์์์ ํ ๋น ํด์ ํ๊ธฐ ์ํด ์ธ๋ก๋์ํฌ ์ ์๋ค๊ณ ํ๋ค. (๊ทผ๋ฐ ๋ฌด์จ ๊ธฐ์ค์ผ๋ก ์ธ๋ก๋?)
์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด ์ปค๋๊ณผ ๋ค๋ฅธ ์๋น์ค๋ค์ ์ฐ๊ฒฐํ๋ค๋ ์ ์์ ๊ณ์ธต ๊ตฌ์กฐ์ ๋ฎ์์ผ๋, ํ ๋ชจ๋์์ ์์๋ก ๋ค๋ฅธ ๋ชจ๋์ ํธ์ถํ ์ ์๋ค๋ ์ ์์ ๊ณ์ธต ๊ตฌ์กฐ๋ณด๋ค ์ ์ฐํ๋ค๊ณ ํ๋ค. (๊ทผ๋ฐ ์๋ค๋ ๋ง ์๋ฐฉํฅ์ผ๋ก ์์กดํ๊ณ ๊ทธ๋ฐ ๊ฑด ํ๋ค์ง ์์๊น?) ๋ง์ดํฌ๋ก ์ปค๋๊ณผ๋ ์ ์ฌํ๊ฒ ๋๊ปด์ง๋, ๋ฉ์์ง ์ ๋ฌ์ ํธ์ถํ ํ์๊ฐ ์๊ธฐ์ ๋ ํจ์จ์ ์ด๋ผ๊ณ ํ๋ค. (๋ฉ์์ง๋ฅผ ์ด๋ค ํํ๋ก ์ฃผ๊ณ ๋ฐ๋์ง ๋ ์ฐพ์๋ณด๋ฉด ์ข์๋ฏ - ์์คํ ์ฝ์ธํฐํ์ด์ค & IPC)


