[OS] ํ๋ก์ธ์ค ๊ฐ ํต์ ์ ์ฌ์ฉ๋๋ IPC (Inter Process Communication)์ ์ข ๋ฅ
by rlaehddnd0422IPC ( Inter Process Communication )
ํ๋์ ์ปดํจํฐ ์์์ ์คํ๋๋ ํ๋ก์ธ์ค ๊ฐ์ ๋ฐ์ํ๋ ํต์ ์ IPC๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
๋ฉํฐ ํ๋ก์ธ์ค์์ ํ๋ก์ธ์ค๋ ์ค๋ ๋์ ๋ฌ๋ฆฌ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ์ฃผ์๊ณต๊ฐ์ ๊ฐ์ง๊ณ ์ํ๋๊ธฐ ๋๋ฌธ์ ์๋ก๊ฐ์ ํต์ ์ด ๋ถ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํ ์ ์์ง๋ง, IPC๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฒ ์๊ฐ์๋ IPC์ ์ข ๋ฅ์ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ IPC์ ์ข ๋ฅ๋ก๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ, ์์ผ, ํ์ดํ, ๋ฉ์์ง ํ, ์ธ๋ง ํฌ์ด ๋ฑ์ด ์์ต๋๋ค.
๊ทธ ์ค ์ฃผ์ํ ๊ฒ๋ค๋ง ๋ช ๊ฐ ๋ฝ์์ ์์๋ด ์๋ค.
1. ๊ณต์ ๋ฉ๋ชจ๋ฆฌ
์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ์๋ก ํต์ ํ ์ ์๋๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ด๋ค ๋งค๊ฐ์ฒด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ ์๋๋ผ, ๋ฉ๋ชจ๋ฆฌ ์์ฒด๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋ถํ์ํ ๋ฐ์ดํฐ ๋ณต์ฌ์ ๊ฐ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ๋น ๋ฅด๋ค๊ณ ๋ณผ ์ ์์ผ๋ฉฐ, ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ์ฝ๊ณ ์ฐ๋ ๊ณผ์ ์์์ ๋๊ธฐํ๊ฐ ํ์ํฉ๋๋ค.
2. ์์ผ
๋คํธ์ํฌ ์ธํฐํ์ด์ค (TCP, UDP, HTTP ๋ฑ) ์ ๊ธฐ๋ฐ์ผ๋ก ํต์ ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ณธ๋ ๋ชฉ์ ์ ๋คํธ์ํฌ๊ฐ ํต์ ์ด์ง๋ง, IPC์๋ ํ์ฉ.
- ํ ์ปดํจํฐ ๋ด์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ํต์ ์ด ์๋, ๊ฐ๊ฐ์ ๋ค๋ฅธ ์ปดํจํฐ์ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ ์ PC๊ฐ ์๋ก port๋ฅผ ์ ํด ๋ํํ๊ธฐ ๋๋ฌธ์, ์๋ฒ - ํด๋ผ์ด์ธํธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค.
- ์์ผ์ ์ฌ์ฉํ๋ฉด ํต์ ์ ์ด๋ ๊ฒ ๊ณ์ธต์ ํ๊ณ ๋ด๋ ค๊ฐ๋ฉด์ ์ก์ ์ ํ๊ณ , ์ก์ ๋ฐ์ ์ปดํจํฐ์์๋ ์๋ ๊ณ์ธต๋ถํฐ ์๋ก ์ฌ๋ผ๊ฐ์ ๋์ ํ๋ก์ธ์ค๊ฐ ์์ ์ ํ๋ ๋ฐฉ์์ผ๋ก IPC๊ฐ ์ด๋ฃจ์ด์ง๋๋ค.
3. ํ์ดํ
ํ์ดํ๋ ๋ค์๋ ํ์ดํ์, ์ต๋ช ํ์ดํ๋ก ๋๋ฉ๋๋ค. ํ์ดํ๋ ๋ถ๋ชจ, ์์ ํ๋ก์ธ์ค๊ฐ ํต์ ์ ์ํด ์ฌ์ฉ๋๋ฉฐ ๋ค๋ฅธ ๋คํธ์ํฌ ์์์๋ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅ ํฉ๋๋ค. ํ์ดํ ๋ด์ ๋ฐ์ดํฐ ์ฉ๋๋ ์ ํ๋์ด ์์ผ๋ฉฐ, ์ฐ๊ธฐ ํ๋ก์ธ์ค๊ฐ ์ฝ๊ธฐ ํ๋ก์ธ์ค๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค๋ ๊ฒ์ด ํน์ง์ ๋๋ค.
- ์ต๋ช
ํ์ดํ : ํ๋ก์ธ์ค ์ฌ์ด์ FIFO ( First In First Out, ๋จผ์ ๋ค์ด์จ๊ฑฐ ๋จผ์ ๋๊ฐ๋ ํ์ ๊ฐ์ ๊ตฌ์กฐ ) ๊ธฐ๋ฐ์ ํต์ ์ฑ๋์ ๋ง๋ค์ด ํต์ ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ํ์ดํ๋ ๋จ๋ฐฉํฅ ํต์ ์ด๊ธฐ ๋๋ฌธ์ ๋ง์ฝ ์๋ฐฉํฅ ํต์ ์ ํ๊ณ ์ ํ๋ค๋ฉด ์๋์ ๊ฐ์ด ๋ ๊ฐ์ ์ต๋ช ํ์ดํ๋ฅผ ๋ง๋ค๋ฉด ๋ฉ๋๋ค.
- ๋ค์๋ ํ์ดํ : ์ต๋ช ํ์ดํ์์ ํ์ฅ๋ ๊ฐ๋ ์ผ๋ก, ๋ถ๋ชจ-์์ ํ๋ก์ธ์ค ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋คํธ์ํฌ ์์์๋ ํต์ ํ ์ ์๋ ํ์ดํ๋ฅผ ์๋ฏธํฉ๋๋ค. ๋ณดํต ์๋ฒ์ฉ ํ์ดํ, ํด๋ผ์ด์ธํธ์ฉ ํ์ดํ๋ฅผ ๊ตฌ๋ถํด์ ๋์.
์ต๋ช ํ์ดํ์ ๋ค์๋ ํ์ดํ์ ์ฐจ์ด
> ์ต๋ช ํ์ดํ : ๋ถ๋ชจ-์์ ํ๋ก์ธ์ค๊ฐ์์๋ง ์ฌ์ฉ๋๋ฉฐ ๋คํธ์ํฌ ๊ฐ ํต์ ์์ ์ฌ์ฉ X.
> ๋ค์๋ ํ์ดํ : ๋ถ๋ชจ-์์์์ ํ์ฅ๋์ด ๋คํธ์ํฌ ๊ฐ ํต์ ์์๋ ์ฌ์ฉ O
4. ๋ฉ์์ง ํ
๋ฉ์์ง๋ฅผ ํ ์๋ฃ๊ตฌ์กฐ ํํ๋ก ๊ด๋ฆฌํ๋ ๋ฒํผ๋ฅผ ๋ง๋ค์ด ํต์ ํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
๋ฉ์์ง ์งํฅ ๋ฏธ๋ค์จ์ด๋ฅผ ๊ตฌํํ ์์คํ (Message Oriented Middleware / MOM )์ ๊ตฌํํ ์์คํ ์ผ๋ก ์๋์ ๊ฐ์ ๊ณผ์ ์ ๊ฐ์ง๋๋ค.
- ํ๋ก์ธ์ค๊ฐ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ฐ๊ธฐ ์ ํ๋ฅผ ์ด๊ธฐํ.
- ๋ณด๋ด๋ ํ๋ก์ธ์ค์ ๋ฉ์์ง๋ ํ์ ๋ณต์ฌ๋์ด ๋ฐ๋ ํ๋ก์ธ์ค์ ์ ๋ฌ.
๋ฉ์์ง ํ, ์ธ์ ์ฌ์ฉํ๋๊ฐ?
์ผ๋ฐ์ ์ธ ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ์์๋ ์ฌ์ฉ์๊ฐ ์์ฒญ์ ํ๋ฉด ์๋ฒ๊ฐ ์ฒ๋ฆฌ ํ ์ฆ๊ฐ์ ์ผ๋ก ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ฉ์์ง ํ์์๋ ์๋น์(ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ๋ก ์น๋ฉด ์๋ฒ)๊ฐ ๋ฉ์์ง๋ฅผ ์ด๋ ์์ ์ ๊ฐ์ ธ๊ฐ์ ์ฒ๋ฆฌํ๋ ์ง ๋ณด์ฅํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ํด๋ผ์ด์ธํธ ์ ์ฅ์์๋ ์ธ์ ๊ฐ๋ ๋ฉ์์ง ํ์ ๋ฃ์ด๋ ๋ฐ์ดํฐ๊ฐ ์ธ์ ์ฒ๋ฆฌ๋๋์ง๋ ์ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋น๋๊ธฐ์ ์ธ ํน์ฑ์ ๊ฐ์ง ๋ฉ์์ง ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฆ๊ฐ์ ์ธ ์ฒ๋ฆฌ์ ํผ๋๋ฐฑ์ด ํ์ํ ์์ฒญ์ ๋ํด์ ์ฌ์ฉํ๊ธฐ๋ณด๋ค๋ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ํฉํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค..
์๋ฅผ ๋ค๋ฉด ๋น๋ฐ๋ฒํธ๋ฅผ ์ฐพ๊ธฐ ์ํด ๋๋ ํ์๊ฐ์ ์ธ์ฆ์ ๋ฐ๊ธฐ ์ํ ์ด๋ฉ์ผ ์์ ์ ์์ฒญํ์ ๋, ์์ฒญํ์๋ง์ ์ธ์ฆ ๋ฉ์ผ์ด ์ค์ง ์๋ ๊ฒ๊ณผ ๊ฐ์ด ์ฌ์ฉ์์๊ฒ ์ด๋์ ๋์ ์๋ต์ง์ฐ์ด ํ์ฉ๋๋ ๊ฒฝ์ฐ ๋ฉ์์ง ํ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฉ์์ง ํ์ ์ฅ์
- ๋น๋๊ธฐ : ๋ฉ์์ง ํ๋ ํ๋ก์ธ์ค์ ์๋ฃ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋์์ ๋ค๋ฅธ ์์
์ ์ฒ๋ฆฌํ๋ ๋น๋๊ธฐ์ ์ฒ๋ฆฌ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์, ํ์ ๋ฃ์ด๋๊ณ ๋์ค์ ์ฒ๋ฆฌํด๋ ๋๋ค๋ ๊ฑฐ. ๋ฐ๋ผ์ ๋๊ธฐ์ฒ๋ฆฌ๊ฐ ๊ฐ์ง๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ์์ฒญ๋๋ ๊ฒฝ์ฐ์ ๋ํด์๋ ์๋ต์ง์ฐ์ด ๋ฐ์ํ์ง ์๋๋ค๋ ๊ฑฐ
- ๋ถ๊ฐ์ ์ผ๋ก ๋น๋๊ธฐ์ ์ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์๋น์ค๊ฐ ๊ฒฐํฉ๋๊ฐ ๋ฎ์์ง๊ณ , ๊ฒฐํฉ๋๊ฐ ๋ฎ์์ง๊ธฐ ๋๋ฌธ์ ํ์ฅ์ฑ๋ ์ข์์ง๋ค๊ณ ๋ณผ ์ ์๊ฒ ๋ค์.
- ๋ณด์ฅ์ฑ : ๋ฉ์์ง ํ์ ๋ณด๊ด๋ ๋ฐ์ดํฐ๋ ๊ฒฐ๊ตญ์๋ ๋ชจ๋ ์ฒ๋ฆฌ๊ฐ ๋๋ค๋ ํ์คํ ๋ณด์ฅ์ ์ ๊ณตํ๋ค๋ ๊ฑฐ.
๊ณต์ ๋ฉ๋ชจ๋ฆฌ, ์์ผ, ํ์ดํ, ๋ฉ์์ง ํ ์ด์ธ์๋ ์ธ๋งํฌ์ด, ๋ฉ๋ชจ๋ฆฌ ๋งต ๋ฑ์ด ์์ง๋ง, ๊ธฐ๋ณธ์ ์ผ๋ก IPC์ ์์ฃผ ์ฌ์ฉ๋๋ ๊ฒ๋ค์ ์์๋ณด์์ต๋๋ค. ๋ค์์๋ ํ๋ก์ธ์ค ๊ฐ ํต์ , ์ค๋ ๋ ๊ฐ ํต์ ์์ ๋ฐ์ํ ์ ์๋ ๊ฒฝ์์ํ์ ๋ํด ์์๋ณด๊ณ ์ด ๊ฒฝ์ ์ํ์ ๋ํ ํด๊ฒฐ์ฑ ๋ค์ ๊ณต๋ถํด๋ณด๊ฒ ์ต๋๋ค.
<์ฐธ๊ณ ์๋ฃ>
'๐ CS > OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] Deadlock๊ณผ Banker's Algorithm (0) | 2024.05.23 |
---|---|
[OS] ํ๋ก์ธ์ค, ์ค๋ ๋์์ ๋ฐ์ํ๋ ๊ฒฝ์์ํ์ ํด๊ฒฐ์ฑ ์ ๋ํด (1) | 2024.05.22 |
[OS] ๋ฉํฐํ๋ก์ธ์ค์ ๋ฉํฐ ์ค๋ ๋์ ์ฐจ์ด์ ์ฅ/๋จ์ (0) | 2024.05.21 |
[OS] Process์ ๋ํด ์์๋ณด์. (0) | 2024.05.17 |
[OS] ๋ฉ๋ชจ๋ฆฌ 4 ๊ณ์ธต ๊ตฌ์กฐ / ๋ ์ง์คํฐ, ์บ์, ์ฃผ๊ธฐ์ต์ฅ์น, ๋ณด์กฐ๊ธฐ์ต์ฅ์น (0) | 2024.05.17 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
Study Repository
rlaehddnd0422