IPC ๊ฐ๋จ ์ ๋ฆฌ
IPC๋ OS์์ ์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ด ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ณ ํต์ ํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฉ์ปค๋์ฆ์ด๋ค.
ํ๋ก์ธ์ค๋ค์ IPC๋ฅผ ํตํด ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ๊ณ ์๋ฒ๊ฐ ์๋ตํ๋ ๋ฐฉ์๋ IPC์ ๋ํ์ ์ธ ์์์ด๋ค.
ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๊ฒ ์ง๋ง, 2๊ฐ์ง๋ฅผ ๊ฐ๋จํ๊ฒ ๋ค๋ฃฌ๋ค.
1. message passing

OS๋ ๊ณต์ ๋ฒํผ์ ๊ฐ์ ํต์ ์ฑ๋์ ์ค์ ํ๊ณ process๋ ํด๋น buffer์ ๋ฉ์์ง๋ฅผ ์ฐ๊ฑฐ๋ ์ ์กํด์ ์ฑ๋๊ณผ ์ํธ์์ฉ ํ๋ค.
๋ํ ํ๋ก์ธ์ค๋ ๊ณต์ ํต์ ์ฑ๋์์ ๋ฉ์์ง๋ฅผ ์ฝ๊ฑฐ๋ ๋ฐ์ ์ ์๋ค.
์ด ๋ฐฉ์์ ์ฅ์ ์ ์ฑ๋์ OS์์ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์ ๋ฌ์ด ์ปค๋์ ํตํด ์ด๋ฃจ์ด์ ธ ์์ ์ฑ์ด ํ๋ณด๋๋ค.
๋จ์ ์ ์ค๋ฒํค๋๊ฐ ํฌ๋ค. ์ ๋ฌํ๋ ค๋ ํ๋ก์ธ์ค์ ์ ๋ณด(๋ฐ์ดํฐ)๋ฅผ OS ์ปค๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์ฑ๋๋ก ๋ณต์ฌํด์ผ ํ๋ค.
๋ํ์ ์ผ๋ก pipe, sokcet, message queue ๋ฑ์ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๊ณ kafka๋ ์ฌ๊ธฐ์ ํด๋นํ๋ค.
2. ๊ณต์ ๋ฉ๋ชจ๋ฆฌ(Shared Memory)

์ด๊ฒ์ด ๋์ํ๋ ๋ฐฉ์์ OS๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ฑ๋์ ์ค์ ํ, ๋ ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ mappingํ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด ํ๋ก์ธ์ค๋ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ์ผ๋ถ์ธ ์์์ ๋ฉ๋ชจ๋ฆฌ ์์น์ ์ง์ ์ฝ๊ณ ์ธ ์ ์๋ค.
OS๋ ๊ด์ฌํ์ง ์๋๊ฒ์ด ์ฅ์ ์ด๋ค. ํ๋ก์ธ์ค๊ฐ ํต์ ํ๋ ๋์ OS์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
๋จ์ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๊ณ ๊ฐ๋ฐ์๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฌ๋ฐ๋ฅธ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ๊ตฌํํด์ผ ํ๋ค.
๋ ๋ฐฉ์์ ์ฐจ์ด
a๋ ๋ฉ์์ง ํจ์ฑ, b๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ์ด๋ค.
ํต์ ๋ฐฉ์
OS ์ปค๋์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌ ์ ๋ฌํ๊ณ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ์
ํ๋ก์ธ์ค๋ค์ด ๋์ผํ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ณต์ ํ๋ฉฐ, ์ง์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฝ๊ธฐ/์ฐ๊ธฐ
์ฑ๋ฅ
์ปค๋์ ๊ฑฐ์น๋ ๊ณผ์ ์์ ๋ฐ์ดํฐ ๋ณต์ฌ๋ก ์ธํ ์ค๋ฒํค๋ ๋ฑ์ผ๋ก ์๋์ ์ผ๋ก ๋๋ฆผ
์ปค๋ ๊ฐ์ ์์ด ์ง์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ์ฌ ์๋๊ฐ ๋น ๋ฅด๋ค.
๋๊ธฐํ
OS์ ๊ธฐ๋ณธ์ ์ธ ๋๊ธฐํ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๊ณ ๋๊ธฐํ ๋ฌธ์ ๊ฐ ๋ ๋ฐ์
์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋์์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ ์ ์๋ ๋ฉํฐ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์ด๊ธฐ ๋๋ฌธ์ ๋๊ธฐํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค.
๋ ๋ฐฉ์ ๋ชจ๋ ์ฅ๋จ์ ์ด ์์ผ๋ฉฐ, ์ํฉ์ ๋ฐ๋ผ ์ ์ ํ ๋ฐฉ์์ ์ ํํ๋ ๊ฒ์ด ์ค์ํ๋ค. ๋ฉ์์ง ์ ๋ฌ์ ์์ ์ฑ์ด ๋์ง๋ง ์๋๊ฐ ๋๋ฆฌ๊ณ , ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ ์๋๊ฐ ๋น ๋ฅด์ง๋ง ๋๊ธฐํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค.
Last updated