process๋ ๋ ๋ฆฝ์ ์ธ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ๊ธฐ ๋๋ฌธ์, ๋ค๋ฅธ process์ ์ฃผ์ ๊ณต๊ฐ์ ์ฐธ์กฐํ ์ ์๋ค.
ํ์ง๋ง, ๊ฒฝ์ฐ์ ๋ฐ๋ผ OS ๋ process๊ฐ์ ์์ ์ ๊ทผ์ ์ํ ๋งค์ปค๋์ฆ์ธ ํ๋ก์ธ์ค ๊ฐ ํต์ (IPC)๋ฅผ ์ ๊ณตํ๋ค.
IPC ๋ฐฉ๋ฒ : ํ์ดํ, ํ์ผ, ์์ผ, ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ ์ด์ฉํ ๋ฐฉ๋ฒ
IPC ๋ชจ๋ธ
๊ณต์ ๋ฉ๋ชจ๋ฆฌ
process๋ค์ด ์ฃผ์ ๊ณต๊ฐ์ ์ผ๋ถ๋ฅผ ๊ณต์
๊ณต์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ kernal์ ์์ฒญ -> ๊ตฌ์ถํ์๋ kernal์ ๊ด์ฌ X
์ฆ, IPC์๋๊ฐ ๋น ๋ฅด๋ค๋ ์ฅ์ ์ด ์๋ค.
ํ์ง๋ง, ๋์์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์น์ ์ ๊ทผํ๋ฉด ์ผ๊ด์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
๋ฉ์์ง ์ ๋ฌ
System Call์ ์ฌ์ฉํ์ฌ ๊ตฌํ ๋๋ค.
Kernal์ ํตํด Send(message)์ Receive(message)๋ผ๋ ๋ ๊ฐ์ง ์ฐ์ฐ์ ์ ๊ณต๋ฐ๋๋ค.
message ์ ์ก - process1 -> kernal -> process2
์๋๊ฐ ๋๋ฆฌ๋ค.
์ถฉ๋์ ํํผํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ์์์ ๋ฐ์ดํฐ ๊ตํ์ ์ ์ฉ
์์ ) Pipe, Socket, message queue
์ฅ์ | ๋จ์ | |
---|---|---|
๊ณต์ ๋ฉ๋ชจ๋ฆฌ | ๋น ๋ฆ | ๋ฉ๋ชจ๋ฆฌ ๋์ ์ ๊ทผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ด ๋๊ธฐํ ๊ณผ์ ํ์ |
๋ฉ์์ง์ ๋ฌ | kernal์ด ์ ์ดํ๊ธฐ ๋๋ฌธ์ ์์ ํ๋ฉฐ, kernal์ด ๋๊ธฐํ๋ฅผ ์ ๊ณต | ๋๋ฆผ |