์๋ก
๋๋ถ๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ํ๋ก์ธ์ค๊ฐ ๋ฉ์์ง๋ฅผ ์๋ก์๊ฒ ๋ณด๋ด๋ ํต์ ํ๋ก์ธ์ค ์์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ํ๋์ ํ๋ก์ธ์ค๋ก๋ถํฐ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก ๋ณด๋ด๋ ๋ฉ์์ง๋ ๋คํธ์ํฌ๋ฅผ ํตํด ์์ง์ ๋๋ค. ํ๋ก์ธ์ค๋ ์์ผ(socket)์ ํตํด ๋คํธ์ํฌ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ ๋ฐ์ต๋๋ค.
์ด์์ฒด์ ๊ด์ ์์ ๋ณธ ํ๋ก์ธ์ค์ ํต์ ์ ์ด์ ์ ํ๋ฒ ์ ๋ฆฌํด ๋ณธ ์ ์ด ์์ผ๋ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ๋์์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
[OS] ํ๋ก์ธ์ค ๊ฐ ํต์ (Interprocess Communication, IPC)
ํ๋ก์ธ์ค ๊ฐ ํต์ (IPC) ์ด์์ฒด์ ๋ด์์ ์คํ๋๋ ๋ณํ ํ๋ก์ธ์ค๋ค์ ๋ ๋ฆฝ์ ์ด๊ฑฐ๋ ๋๋ ํ๋ ฅ์ ์ธ ํ๋ก์ธ์ค ๋ค์ผ ์ ์์ต๋๋ค. ํ๋ก์ธ์ค๊ฐ ์์คํ ์์ ์คํ ์ค์ธ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค๊ณผ ๋ฐ์ดํฐ๋ฅผ ๊ณต
dkswnkk.tistory.com
์์ผ(socket)
์ ์ด๋ฏธ์ง๋ ์ธํฐ๋ท์์ ํต์ ํ๋ ๋ ํ๋ก์ธ์ค ์ฌ์ด์ ์์ผ ํต์ ์ ๋ณด์ฌ์ค๋๋ค. ์ ์ด๋ฏธ์ง๋ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ํ์ ์ ์ก ํ๋กํ ์ฝ์ด ์ธํฐ๋ท์ TCP ํ๋กํ ์ฝ์ด๋ผ๊ณ ๊ฐ์ ํฉ์๋ค. ์ด๋ฏธ์ง์ ๋ณด์ด๋ฏ์ด, ์์ผ์ ํธ์คํธ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต๊ณผ ํธ๋์คํฌํธ ๊ณ์ธต ๊ฐ์ ์ธํฐํ์ด์ค์ ๋๋ค. ๋ํ ์์ผ์ ๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ธํฐ๋ท์ ๋ง๋ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค์ด๋ฏ๋ก, ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋คํธ์ํฌ ์ฌ์ด์ API(Application Programming Interface)๋ผ๊ณ ๋ ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ ์์ผ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ๋ํ ๋ชจ๋ ํต์ ๊ถ์ ๊ฐ์ง๋ง ์์ผ์ ํธ๋์คํฌํธ ๊ณ์ธต์ ๋ํ ํต์ ๊ถ์ ๊ฑฐ์ ๊ฐ์ง ๋ชปํฉ๋๋ค.
ํธ๋์คํฌํธ ๊ณ์ธต์ ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ํต์ ๋ ์๋์ ๊ฐ์ต๋๋ค.
- ํธ๋์คํฌํธ ํ๋กํ ์ฝ์ ์ ํ
- ์ต๋ ๋ฒํผ์ ์ต๋ ์ธ๊ทธ๋จผํธ์ ๊ฐ์ ์ฝ๊ฐ์ ํธ๋์คํฌํธ ๊ณ์ธต ๋งค๊ฐ๋ณ์์ ์ค์
์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๊ฐ ํธ๋์คํฌํธ ํ๋กํ ์ฝ์ ์ ํํ๋ฉด, ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋กํ ์ฝ์ด ์ ๊ณตํ๋ ์ ์ก ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค.
์์ผ์ ์ธ๋ถ์ ์ธ ๊ตฌ์ฑ์ ๋ํด์๋ ์ดํ์ ํ๋ฒ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ค์๊ธ
[๋คํธ์ํฌ] ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต(3) - ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด์ฉ ๊ฐ๋ฅํ ํธ๋์คํฌํธ ์๋น์ค(TCP, UDP)
์๋ก [๋คํธ์ํฌ] ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต(2) - ํ๋ก์ธ์ค ๊ฐ ํต์ (์์ผ) ์๋ก ๋๋ถ๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ํ๋ก์ธ์ค๊ฐ ๋ฉ์์ง๋ฅผ ์๋ก์๊ฒ ๋ณด๋ด๋ ํต์ ํ๋ก์ธ์ค ์์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ํ๋์ ํ๋ก์ธ์ค๋ก
dkswnkk.tistory.com
๋๊ธ