โ 1. ์์ฐ์-์๋น์ ๋ฌธ์
(1) ๋ฌธ์ ์ ์

- ํ๋ ฅ ํ๋ก์ธ์ค: ์์ฐ์ ํ๋ก์ธ์ค์ ์๋น์ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธํ ์ ์์ผ๋ฉฐ, ์ฌ์ด์ ๋ฒํผ๋ฅผ ๋๊ณ ์์.
- ์์ฐ์: ๋ฒํผ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ํ๋ก์ธ์ค
- ์๋น์: ๋ฒํผ์์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ํ๋ก์ธ์ค
- TIP: ๊ฑฐ์ ๋ชจ๋ ํ๋ก์ธ์ค ํต์ ์ด ํด๋น ์์ฐ์-์๋น์ ๊ตฌ์กฐ๋ฅผ ๋๊ณ ์์ผ๋ฉฐ, ์ค๊ฐ์ ๋ฒํผ๋ ๊ณต์ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ก์จ, ๊ณต์ ๋ฐ์ดํฐ๋ ๋ฒํผ, ์ ์ญ ๋ณ์, ํ์ผ ๋ฑ ํ๋ก์ธ์ค๋ค์ด ํจ๊ป ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฒ์ ์๋ฏธํ๋ ๊ฐ๋ ์.
- TIP: ๋ํ, ํด๋น ํ๋ก์ธ์ค ๊ฐ ํต์ (IPC) ๋ ๋ฒํผ๋ผ๋ ํํ์ ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ๊ฑฐ์ณ์ ์ผ์ด๋๊ธฐ ๋๋ฌธ์ ์์์ผํจ.
(2) ๋ฌธ์ ํด๊ฒฐ ์กฐ๊ฑด

- ์์ฐ์-์๋น์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐ๋์ ์ง์ผ์ผ ํ๋ ๋ ๊ฐ์ง ํต์ฌ ์กฐ๊ฑด์ ์๋ฏธํ๋ค.
- ๋ฒํผ์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋์์ ์ ๊ทผํ ์ ์์: ๋ฒํผ ์์ฒด๋ ํ๋ก์ธ์ค๋ค์ด ๊ณต์ ํ๋ ๊ณต์ ๋ฐ์ดํฐ์ด๊ธฐ ๋๋ฌธ์ ๋์์ ์ ๊ทผ์ ํ๊ฒ ๋๋ฉด ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ด ๋ฌด๋์ง ์ ์์.
- ์ํธ๋ฐฐ์ ํ์: ์ฆ, ์ํธ๋ฐฐ์ ๋ฅผ ํตํด ํ๋ก์ธ์ค(ํ๋ ฅ ํ๋ก์ธ์ค)๊ฐ ๋์์ ์๊ณ์์ญ์ ์ํํ์ง ๋ชปํ๋๋ก ๋ง์์ค์ผํจ.
- ๋ฒํผ์ ํฌ๊ธฐ๊ฐ ์ ํ (์ ํ ๋ฒํผ ๋ฌธ์ ): ๋ฒํผ๊ฐ ๊ฐ๋ ์ฐฌ ๊ฒฝ์ฐ์๋ ๋ ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ ๊ณต๊ฐ์ด ์์ผ๋ฏ๋ก, ์์ฐ์๋ ๋๊ธฐ๋ฅผ ํด์ผํ๊ณ ๋ฐ๋๋ก ๋ฒํผ๊ฐ ๋น ๊ฒฝ์ฐ์๋ ๋ ์ด์ ๊ฐ์ ธ๊ฐ ๋ฐ์ดํฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋น์๋ ๋๊ธฐ๋ฅผ ํด์ผํจ.
- ๋๊ธฐํ ํ์: ํด๋น ๋ฒํผ์ ๋ฐ์ดํฐ๊ฐ ์ผ๊ด๋ ์ ๋ณด๋ฅผ ๊ฐ์ง๋๋ก ๋ง์ถ๊ธฐ ์ํด์๋ ๋ฒํผ์ ์์ฌ๋, ์ ์ ์ฌ๋ถ ๊ฐ์ ์ํ ์ ๋ณด๊ฐ ๋ชจ๋ ํ๋ก์ธ์ค์๊ฒ ์ผ๊ด๋๊ฒ ๋ณด์ด๋๋ก ๋ง๋ค์ด์ผํจ.
- TIP: ๋๊ธฐํ๋? ๋ ๊ฐ ์ด์ ๊ฐ์ฒด๊ฐ ๋์ผํ ์ ๋ณด๋ฅผ ๊ฐ์ง๋๋ก ๋ง์ถ๋ ์์ ์ ์๋ฏธํจ. ( ์ฒ๋ฆฌ ์์๋ฅผ ๋ง์ถค์ผ๋ก์จ ํด๊ฒฐ )
(3) ์์ฐ์-์๋น์ ๋ฌธ์ - ํด๊ฒฐ ๋ฐฉ๋ฒ

- ์ํธ๋ฐฐ์ ํด๊ฒฐ: ์ธ๋งํฌ์ด๋ฅผ ํตํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉฐ, ์ธ๋ถ์ ์ผ๋ก๋ ์์ฐ์๋ ์๋น์๋ ์๊ณ์์ญ์ ์ ๊ทผ ํ ๋ mutex ๊ฐ์ ํ์ธ ํ ๋ค, mutex = 1 ์ธ ๊ฒฝ์ฐ ์๊ณ์์ญ์์ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ๋ง์ฝ mutex = 0 ์ ์ด๋ฏธ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์๊ณ์์ญ์์ ์ฒ๋ฆฌ๋ฅผ ์งํํ๊ณ ์์ผ๋ฏ๋ก, ๋๊ธฐ ํ์ ๋ค์ด๊ฐ๊ฒ ๋จ.

- ๋ฒํผ๊ฐ ๊ฐ๋ ์ฐฌ ๊ฒฝ์ฐ ๋๊ธฐํ: ๊ธฐ์ด์ ์ธ ์ธ๋งํฌ์ด์ ๊ฐ๋ ์ empty ๋ผ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ฒํผ์ ์ํ๊ฐ ๋น์ด์๋๊ฐ์ ๋ฐ๋ฅธ ์ํ๋ฅผ ์ ์ํ์ฌ ๋ฒํผ์ ๋ํ ์ ๊ทผ์ empty ์ํ๊ฐ์ ๋ฐ๋ผ ์ ์ด ํ ์ ์์.
- empty: ๋ฒํผ์ค์ ๋น์ด์๋ ์นธ์ ๊ฐ์๋ฅผ ์๋ฏธํ๋ค.
- empty ์ด๊ธฐ๊ฐ: ๋ฒํผ์ ํฌ๊ธฐ์ธ N ์ผ๋ก ์ด๊ธฐํ
- ๋น์ด์๋ ์นธ์ ๊ฐ์๋ฅผ ํตํด์ ์ ๊ทผ์ ์ ์ดํ๋ฉฐ, 0์ธ ๊ฒฝ์ฐ ๋ฒํผ๊ฐ ๊ฝ ์ฐธ์ ์๋ฏธํ๊ณ 0 ์ด์์ ์ ์์ธ ๊ฒฝ์ฐ์๋ ๋ฒํผ๊ฐ ๊ทธ๋งํผ ๋น์ด์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฏ๋ก, ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฒํผ์ ์๋ฅผ ๋ํ๋ผ ์ ์์.
- ๋ํ, ์ด ์ฐ์ฐ์ ๊ธฐ๋ณธ ๋๊ตฌ(์ธ๋งํฌ์ด)๋ฅผ ์กฐ๋ฆฝํด์ ๋ง๋ ์์ ๋ ๋ฒจ์ ์๊ณ ๋ฆฌ์ฆ(์ ํ ๋ฒํผ ๋ฌธ์ ํด๊ฒฐ) ์ด๋ผ๊ณ ๋ณผ ์ ์์.
- ํต์ฌ: ๊ธฐ์กด์ P, V ์ฐ์ฐ์ full, empty ์ธ์ง ํ์ ์ ํ๋ ์ฐ์ฐ์ ํตํด์ ํ๋ก์ธ์ค๋ฅผ ๋๊ธฐ ์ํค๋ ๊ฒ์.

- ๋ฒํผ๊ฐ ๋น ๊ฒฝ์ฐ ๋๊ธฐํ: ๊ธฐ์ด์ ์ธ ์ธ๋งํฌ์ด์ ๊ฐ๋ ์ full ๋ผ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ฒํผ์ ์ํ๊ฐ ์ฐจ์๋๊ฐ์ ๋ฐ๋ฅธ ์ํ๋ฅผ ์ ์ํ์ฌ ๋ฒํผ์ ๋ํ ์ ๊ทผ์ full ์ํ๊ฐ์ ๋ฐ๋ผ ์ ์ด ํ ์ ์์.
- full: ๋ฒํผ์ค์ ์ฑ์์ ธ ์๋ ์นธ์ ๊ฐ์๋ฅผ ์๋ฏธํ๋ค.
[ ์ ๋ฆฌ ]
- ์๋น์: full ์ธ๋งํฌ์ด๋ฅผ ๋ณด๊ณ 0์ธ ๊ฒฝ์ฐ ์ฑ์์ ธ ์๋ ์นธ์ ๊ฐ์๊ฐ ์๋ ๊ฒฝ์ฐ์ด๋ฏ๋ก, ์๋น์๋ ๋ ์ด์ ๊บผ๋ผ ๋ฐ์ดํฐ๊ฐ ์๋ค๊ณ ํ๋จ์ ํด ๋๊ธฐ ์ํ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค. ๋ํ, 0์ด ์๋ ๊ฒฝ์ฐ ํด๋น ๋ฒํผ์์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ฉฐ empty ์ ๊ฐ์ ํ๋ ๋๋ ค์ฃผ๊ฒ ๋จ.
- ์์ฐ์: empty ์ธ๋งํฌ์ด๋ฅผ ๋ณด๊ณ ๋น์ด์๋ ์นธ์ ๊ฐ์๋ฅผ ํ์ ํ ๋ค 0์ผ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๊ฐ ๊ฝ์ฐผ๋ ๊ฒ์ ์ธ์ง๊ฒ ๋๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ๋ฒํผ์ ๋ชป๋ฃ๊ณ ๋๊ธฐํ๋ ์ํ๋ก ์ ์ด๋ค๊ฒ ๋๋ค. ์ดํ, empty ์ ๊ฐ์ด 1 ์ด์์ผ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฒํผ์ ๋ฃ์ผ๋ฉด์ empty ์ ๊ฐ์ ์ค์ฌ์ฃผ๊ฒ ๋๋ ์๋ฆฌ์ด๋ค.

- ์ํธ๋ฐฐ์ ํด๊ฒฐ: mutex ๋ฅผ ํ์ฉ
- ๋๊ธฐํ ํด๊ฒฐ: empty, full ํ์ฉ
โ 2. ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์
(1) ๋ฌธ์ ์ ์

- ํ๋ ๊ธฐ: ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ๋ง ํ๋ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธํ๋ค.
- ๊ธฐ๋ก๊ธฐ: ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ธฐ๋ง ํ๋ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธํ๋ค.
- ์์ฐ์-์๋น์ ๊ตฌ์กฐ์ ๋ค๋ฅธ์ : ์์ฐ์-์๋น์ ๊ตฌ์กฐ๋ ๋ฒํผ๋ฅผ ํตํด์ ๋ฐ์ดํฐ ์ฝ์ ๋๋ ๊บผ๋ด๋ ์ญํ ์ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ง์์ฃผ๋ ๊ณผ์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ก๊ธฐ๋ง ์กด์ฌํ๋ ๊ตฌ์กฐ๋ก ๋ณผ ์ ์์.
- ์ฆ, ์์ฐ์-์๋น์ ๋ ๋ค ๊ณต์ ์์์ ๋ํด์ ์ฐ๊ฑฐ๋ ์ฝ๊ธฐ ์์ ์ ๋ณํ๋ฅผ ์ฃผ๋ ํน์ง์ด ์์.
- ** ๋ฐ๋ฉด, ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์ ๋ ํ๋ ๊ธฐ์ ์ฝ๋ ๊ณผ์ ์์ ๋จ์ํ ์ฝ๊ธฐ๋ง ํ๊ธฐ ๋๋ฌธ์ ๊ณต์ ์์์ ๋ณํ๋ฅผ ์ฃผ์ง ์์. **
- ๋ํ, ๊ณต์ ์์์ ๋ณํ๋ฅผ ์ฃผ์ง ์๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ํ๋ ๊ธฐ ํ๋ก์ธ์ค๋ค์ ๋์์ ๊ณต์ ์์์ ์ ๊ทผํด์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์.
(2) ๋ฌธ์ ํด๊ฒฐ ์กฐ๊ฑด

- ์กฐ๊ฑด1: ํ๋์ ๊ธฐ๋ก๊ธฐ๊ฐ ๊ณต์ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ์ค์๋ ๋ค๋ฅธ ๊ธฐ๋ก๊ธฐ๋ ํ๋ ๊ธฐ๋ ๊ณต์ ์์์ ์ ๊ทผ ํ ์ ์์.
- ์ฆ, ๊ณต์ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ๋์์๋ ๋๊ตฌ๋ ์ ๊ทผ ํ ์ ์๋ค๋ ์๋ฏธ๊ฐ ๋๋ค.
- ์กฐ๊ฑด2: ๋ํ, ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๋์์๋ ๋๊ตฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ธ ์ ์์.
- ์กฐ๊ฑด3: ์ฌ๋ฌ ํ๋ ๊ธฐ๋ ๋์์ ๊ณต์ ์์์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์.
- ์ฆ, ํ๋ ๊ธฐ๊ฐ ์ฝ๋ ์ค ์๋ก์ด ํ๋ ๊ธฐ ์ฝ๊ธฐ ์๋๋ ๊ฐ๋ฅํ๋ฉฐ, ํ๋ ๊ธฐ๊ฐ ์ฝ๋ ์ค์๋ ๊ธฐ๋ก๊ธฐ๋ ๋๊ธฐ์ํ์ฌ์ผ ํจ.
- ** ๋ํ, ๊ธฐ๋ก๊ธฐ๊ฐ 1๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ค์ ํ๋ ๊ธฐ๊ฐ 2๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ถ๋ค๊ณ ํ์ ๊ฒฝ์ฐ ๊ธฐ๋ก๊ธฐ์ ํ๋ ๊ธฐ์ ์์ ์ด ๊ฒน์น์ง ์๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ํ ์๋ ์์. ( ๊ฐ๋ฅํ๊ฑฐ๋ ๋ถ๊ฐ๋ฅํจ ) -> ์ ์ฑ ์ ๋ฐ๋ผ์ ๋ฌ๋ผ ์ง ์ ์์. **
(3) ์ 1 ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์

- ์ 1 ํ๋ ๊ธฐ ๊ธฐ๋ก๊ธฐ ๋ฌธ์ : ํ๋ ๊ธฐ๊ฐ ๊ณต์ ์์์ ์ ๊ทผ ์ค์ด๋ผ๋ฉด ๊ธฐ๋ก๊ธฐ๋ณด๋ค ํ๋ ๊ธฐ์ ์ฐ์ ์์๋ฅผ ์ฃผ๋ ๋ฐฉ์์.
- ์ฆ, ๋๊ธฐ ํ์ ๊ธฐ๋ก๊ธฐ๊ฐ ๋ค์ด๊ฐ์๋ค๊ณ ํด๋ ํ๋ ๊ธฐ๊ฐ ๊ณ์ํด์ ์ฐ์ ์์๋ฅผ ๊ฐ์ ธ๊ฐ๋ ์๋ฆฌ์.
- ๋ฌธ์ ์ : ๊ธฐ๋ก๊ธฐ๊ฐ ๊ธฐ์์ํ๊ฐ ์ ๋ฐ์ด ๋ ์ ์์. ์ฆ, ๊ธฐ๋ก๊ธฐ๊ฐ ๊ณ์ํด์ ๋๊ธฐ์ํ๋ก ๋๊ธฐ ํ ์ ์๋ ๋ฌธ์ ๊ฐ ์์.
- ์ ๋ฆฌ: ํ๋ ๊ธฐ(์ฝ๊ธฐ) ๊ฐ ๊ณต์ ์์์ ์ ๊ทผ์ ๋ํ ์ฐ์ ์์๋ฅผ ํญ์ ์ฃผ๋ ๋ฐฉ์์ด๋ผ, ๊ธฐ๋ก๊ธฐ(์ฐ๊ธฐ) ํ์ ๋ชปํ ์ ์์.
(4) ์ 1 ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์ - ์ธ๋งํฌ์ด๋ฅผ ์ด์ฉํ ํด๊ฒฐ

- ๊ธฐ๋ก๊ธฐ ์๊ณ์์ญ: ๊ธฐ๋ก๊ธฐ(์ฐ๊ธฐ) ์์ ์์ฒด๋ ์๊ณ ์์ญ์ผ๋ก ๊ฐ์ฃผ ํ ์ ์์.
- ํ๋ ๊ธฐ ์๊ณ์์ญ: ํ๋ ๊ธฐ(์ฝ๊ธฐ) ์์ ์์ฒด๋ ์๊ณ ์์ญ์ผ๋ก ๊ฐ์ฃผ ํ ์ ์์.
- ์ํธ๋ฐฐ์ : ์ธ๋งํฌ์ด(wrt) ์ด๊น๊ฐ 1๋ก ๋๊ณ ์ํธ๋ฐฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์.
- ** ๋ฌธ์ ๋ ํ๋ ๊ธฐ๋ ์ฝ๊ธฐ ์์ ์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํ๋ ๊ธฐ๋ ์ฝ๊ธฐ ์์ ์ด ๋์์ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ค์ด์ฌ ์ ์๊ฒ ํด์ค์ผํจ. **

- ์ฌ๋ฌ ํ๋ ๊ธฐ์ ๊ณต์ ์์ ์ ๊ทผ: rcount ์ผ๋ฐ ๋ณ์๋ฅผ ์ ์ธ ํ ๋ค, rcount ๊ฐ 1์ธ ๊ฒฝ์ฐ์๋ ์ ์ผ ์ฒซ ๋ฒ์งธ ํ๋ ๊ธฐ๊ฐ ๋ค์ด์จ ๊ฒฝ์ฐ๋ก ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ ๋จผ์ P(wrt) ๋ฅผ ํตํด์ ๊ธฐ๋ก๊ธฐ๊ฐ ํ์ฌ ๊ณต์ ์์์ ์ฌ์ฉํ๊ณ ์๋์ง๋ฅผ ํ๋จํ๊ฒ ๋จ.
- ์ดํ, ๋ง์ฝ ์ฌ์ฉํ๊ณ ์์ง ์๋ค๋ฉด ๊ณต์ ์์์ ๋ํ ์ฝ๊ธฐ๋ฅผ ์ํํ๊ฒ ๋๋ค.
- ๋ํ, ์ด๋ ๋ค๋ฅธ ํ๋ ๊ธฐ๊ฐ ๋ค์ด์ค๊ฒ ๋๋ฉด rcount ๊ฐ 1์ด ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ ์์ ๊ฐ์ if (rcount == 1) ์ ๋ํด์ false ์ด๋ฏ๋ก, ๊ทธ๋ฅ ํต๊ณผ๋ฅผ ํ๋ฉฐ ํ๋ ๊ธฐ๋ฅผ ์ฝ๊ฒ ๋๋ ๊ณผ์ ์.
- ๋ง์ง๋ง์ผ๋ก ๊ณต์ ์์์ ๋ค์ฝ๊ฒ ๋๋ฉด rcount ๋ฅผ -1 ๊ฐ์ํจ์ผ๋ก์จ ํน์ ํ๋ ๊ธฐ์ ์ฝ๊ธฐ ์์ ์ด ๋๋จ์ ๋ช ์ํ๊ฒ ๋จ.
- ๋ฌธ์ ์ : ํ๋ ๊ธฐ(์ฝ๊ธฐ) ๊ฐ ๊ณต์ ์์์ ์ ๊ทผ์ ๋ํ ์ฐ์ ์์๋ฅผ ํญ์ ์ฃผ๋ ๋ฐฉ์์ด๋ผ, ๊ธฐ๋ก๊ธฐ(์ฐ๊ธฐ) ํ์ ๋ชปํ ์ ์์.

- ๊ฒฐ๋ก : ์ด์ ๊ฐ์ด 2๊ฐ์ ์ธ๋งํฌ์ด์ ์ผ๋ฐ๋ณ์๋ฅผ ํตํด์ ์ 1 ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์์.
- ์ ๋ฆฌ: P(wrt) ์ธ๋งํฌ์ด๋ฅผ ํ์ฉํด์, ๊ธฐ๋ก๊ธฐ๋ ํ๋ ๊ธฐ๊ฐ ์๊ณ์์ญ์ ์ํ์ค์์ ๊ฒ์ฌํ๋ฉฐ, ์ด๋ ํ๋ ๊ธฐ์ ์ฝ๋์๋ rcount ๋ณ์๋ฅผ ํตํด์ ์ ์ผ ์ฒ์ ํ๋ ๊ธฐ๊ฐ ์๊ณ์์ญ์ ์ํํ๊ธฐ ์ํด ๋ค์ด์จ๋ค๋ฉด rcount ์ ๊ฐ์ 1์ด๋ฏ๋ก, P(wrt) ๋ฅผ ์ํํ๊ฒ ๋๋ค.
- ์ด๋, P(wrt) ๋ ๊ธฐ๋ก๊ธฐ๊ฐ ๊ธฐ๋ก์ ํ๋ ์ค์ธ๊ฐ๋ฅผ ๋ณด๊ณ , ๋ง์ฝ ์ํ๊ณ ์๋ค๋ฉด ์๊ณ์์ญ์ ํ๋ ๊ธฐ๊ฐ ์ํ์ ํ๊ฒ ๋๋๋ฐ, ์ด ๊ณผ์ ์์ ์๋ก์ด ๊ธฐ๋ก๊ธฐ์ ํ๋ ๊ธฐ๊ฐ ๋ค์ด์จ๋ค๊ณ ํ๋ฉด ๊ธฐ๋ก๊ธฐ๋ P(wrt) ์ ์ํด์ ํ๋ ๊ธฐ๊ฐ ์๊ณ์์ญ์ ์ํ ์ค์์ ํ๋จํด ๋๊ธฐ ์ํ๋ก ๋ค์ด๊ฐ์ง๋ง, ์๋ก์ด ํ๋ ๊ธฐ๋ rcount = rcount + 1; ์ ํตํด ์ ์๊ฐ 2๊ฐ ๋๋ฏ๋ก, P(wrt) ์ฝ๋๋ฅผ ์คํํ์ง ์๊ณ ๋ฐ๋ก ์๊ณ์์ญ์์ ๊ณต์ ์์์ ์ฝ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ ์ฌ๋ฌ ํ๋ ๊ธฐ๊ฐ ํ๋์ ์๊ณ์์ญ์์ ์ฝ์ ์ ์๊ฒ ๋์์ฃผ๋ ์๋ฆฌ์ด๋ค.
- ** ์ด๋ ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ก๊ธฐ๋ ๋ฌดํ์ผ๋ก ๋๊ธฐ๋ฅผ ํ ์ ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ ํ ์ ์์. **
(5) ์ 2 ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์

- ์ 2 ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์ : ํ๋ ๊ธฐ๊ฐ ๊ณต์ ์์์ ์ ๊ทผ ์ค์ด๋ผ๋ฉด ํ๋ ๊ธฐ๋ณด๋ค ๊ธฐ๋ก๊ธฐ์ ์ฐ์ ์์๋ฅผ ์ฃผ๋ ๋ฐฉ์์.
- ** ์ฆ, ๋๊ธฐ ์ค์ธ ๊ธฐ๋ก๊ธฐ๊ฐ ์๋ค๋ฉด ์๋ก์ด ํ๋ ๊ธฐ๋ ๊ณต์ ์์์ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ ์๋ฆฌ์. **
- ๋ฌธ์ ์ : ํ๋ ๊ธฐ๊ฐ ๊ธฐ์์ํ(์ค๋ ๋๊ธฐ์๊ฐ)๊ฐ ๋ ์ ์์ผ๋ฉฐ, ์ด๋๋ฌธ์ ํ๋ ๊ธฐ์ ๋ณํ์ฑ์ด ๋จ์ด์ง ์ ์์.
(6) ์ 2 ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์ - ์ธ๋งํฌ์ด๋ฅผ ์ด์ฉํ ํด๊ฒฐ

- P(rd) ์ธ๋งํฌ์ด: ๊ธฐ๋ก๊ธฐ์๊ฒ ์ฐ์ ์์๋ฅผ ์ฃผ๊ธฐ ์ํด์ ๊ธฐ๋ก๊ธฐ๊ฐ ๋จผ์ ๋ค์ด์ ์๋์ง ์๋์ง ์ฒดํฌ๋ฅผ ํด์ฃผ๋ ์ฉ๋์.
- wcount: ์ฒ์ ๊ธฐ๋ก๊ธฐ๊ฐ ๋ค์ด์ฌ ๋น์ wcount ์ ๊ฐ์ด 1๋ก ๋์ด, P(rd) ๋ฅผ ํตํด ์ฒ์ ๋ค์ด์จ ๊ธฐ๋ก๊ธฐ๊ฐ ์๊ณ์์ญ์ ๋จผ์ ์ํํ๊ฒ ๋๋ค. ์ดํ, ๋ค์ ๊ธฐ๋ก๊ธฐ๊ฐ ๋ค์ด์ค๊ฒ ๋๋ค๋ฉด wcount ์ ๊ฐ์ด +1 ๋์ด ํญ์ 1์ด ์๋ ๋ ๋์ ์๋ก์จ P(rd) ๋ฅผ skip ํ ์ํ๋ก P(wrt) ๋ฅผ ํตํด ํ๋ ๊ธฐ๊ฐ ์๊ณ์์ญ์ ์ํ์ค์ธ๊ฐ๋ฅผ ํ์ ํ ๋ค ๊ณต์ ์์์ ์ฐ๋ ์๋ฆฌ์ด๋ค.
- ์ ๋ฆฌ: ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์ ๋ ํน์ ์ํฉ์์ ํ๋ ๊ธฐ์ ์ฐ์ ์์๋ฅผ ์ฃผ๋ ํํ์ ๋ฌธ์ ์ ๊ธฐ๋ก๊ธฐ์ ์ฐ์ ์์๋ฅผ ์ฃผ๋ ํํ์ ๋ฌธ์ ๋ก์จ ์ ์ ํ ์ ์์.
โ 3. ํ๋ก์ธ์ค ๊ฐ ํต์
(1) ํ๋ก์ธ์ค ๊ฐ ํต์ (IPC)

- IPC: ๋ณํ ํ๋ก์ธ์ค(ํ๋ ฅ ํ๋ก์ธ์ค)๊ฐ ์๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค.
- ๋ํ์ ์ผ๋ก ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๋ฐฉ๋ฒ, ๋ฉ์์ง ์ ๋ฌ๋ฐฉ๋ฒ ๋ฑ์ด ์์.
- ** ๋ ๋ฐฉ๋ฒ์ ๋ ๋ฆฝ์ ์ด์ง ์๊ธฐ ๋๋ฌธ์ ํ๋์ ์ด์์ฒด์ ๋ด์์ ๋ ๋ฐฉ๋ฒ์ ํจ๊ป ์ฌ์ฉ์ด ๊ฐ๋ฅํจ. **
(2) ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๋ฐฉ๋ฒ

- ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๋ฐฉ๋ฒ: ํ๋ ฅ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด์ ๋์ผํ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค.
- ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์: ์์ฐ์-์๋น์ ๋ฌธ์ ์ ์ ํ ๋ฒํผ, ํ๋ ๊ธฐ-๊ธฐ๋ก๊ธฐ ๋ฌธ์ ์ ๊ณต์ ์์์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๋ฐฉ์์ผ๋ก ํด๊ฒฐ์ด ๊ฐ๋ฅ.
- ๋๋ ๋ฐ์ดํฐ ๊ตํ: ์ปค๋์ ๊ฑฐ์น์ง ์๊ณ ๋ฐ์ดํฐ์ ์ง์ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ๋น ๋ฅธ ๊ฒ์ด๋ค. ์ฝ๊ฒ ๋งํด, ์ผ๋จ ๋ ํ๋ก์ธ์ค๊ฐ ํน์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ณต์ ํ๋๋ก ์ค์ (Mapping) ํ๊ณ ๋๋ฉด, ๊ทธ ์ดํ์๋ OS ์ ๊ฐ์ ์ด ์ ํ ์๊ณ ๊ทธ๋ฅ ๋ฉ๋ชจ๋ฆฌ์ ๊ธ์ ์ฐ๋ฏ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ผ๋ฉด ์๋๋ฐฉ์ด ์ฆ์ ๋ณผ ์ ์๋ ์๋ฆฌ์. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋นจ๋ผ ๋๋์ ๋ฐ์ดํฐ ๊ตํ์ ์ฉ์ดํจ.
- ํต์ ์ ๋ฐ์ ๊ฐ๋ฅ ๋ฌธ์ ํด๊ฒฐ: ์ด์์ฒด์ ์ ๊ฐ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ๋ณ์์ ๋ํ ํต์ ์ ๋ฐ์ ๊ฐ๋ฅํ ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํด์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด์ผ ํ๋ค๋ ๋จ์ ์ด ์์.
- ** ์ฆ, ๊ฐ๋ฐ์๊ฐ ์ง์ ์ธ๋งํฌ์ด(Semaphore)๋ ๋ฎคํ ์ค(Mutex)๋ฅผ ์ฌ์ฉํด ๋๊ธฐํ, ์ํธ๋ฐฐ์ ๋ฅผ ์ฒ๋ฆฌํ๋๋ก ์ฝ๋๋ฅผ ์ง์ผ ํจ. **
(3) ๋ฉ์์ง ์ ๋ฌ๋ฐฉ๋ฒ

- ๋ฉ์์ง ์ ๋ฌ๋ฐฉ๋ฒ: ํ๋ ฅ ํ๋ก์ธ์ค๊ฐ ์ปค๋ ์์คํ ์ฝ์ ํตํด์ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํจ.
- ์๋ ๋ฐ์ดํฐ ๊ตํ์ ์ ํฉ: ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์ปค๋ ๊ณต๊ฐ์ผ๋ก ๋ฐ์ดํฐ ๋ณต์ฌ ํ ์ปค๋ ๊ณต๊ฐ์์ ์ฌ์ฉ์ ๊ณต๊ฐ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋ณต์ฌ ๋๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ๋๋์ ๋ฐ์ดํฐ ๊ตํ์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๋ฐฉ์ ๋งค์ฐ ๋๋ฆด ์ ์์.
- ํต์ ์ ๋ฐ์ ๊ฐ๋ฅ ๋ฌธ์ ํด๊ฒฐ: ์ด์์ฒด์ ๊ฐ ์ง์ ๋๊ธฐํ, ์ํธ๋ฐฐ์ , ์ฃผ์ ์ง์ , ๋ฒํผ๋ง ๋ฑ ์น ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๊ธฐ ๋๋ฌธ์ ํต์ ์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ์ ๋ํด์ ์์ ํจ.
(4) ๋ฉ์์ง ์ ๋ฌ๋ฐฉ๋ฒ - ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ

- ํต์ ๋งํฌ: ํ๋ก์ธ์ค ์ฌ์ด์ ๋ฉ์์ง๊ฐ ์ค๊ฐ๋ "๋ ผ๋ฆฌ์ ์ธ ์ฐ๊ฒฐ ํต๋ก" ๋ฅผ ์๋ฏธํ๋ค.
- ํต์ ๋งํฌ์ ๊ตฌํ ํํ: ์ฐ๊ฒฐ ๋์, ๋ ํ๋ก์ธ์ค ์ฌ์ด ๋งํฌ ๊ฐ์, ๋ฐฉํฅ์ฑ, ์ฉ๋ ๋ฑ์ ์ ์ํด ํต์ ๋งํฌ๋ฅผ ์ ์ ํ ์ ์๋ค.

- ํต์ ๋งํฌ์ ์ฉ๋(๋ฌดํ): ์ค๊ฐ์ ํ, ๋ฒํผ ํฌ๊ธฐ๊ฐ ๋ฌดํํ ๊ฒฝ์ฐ์ด๋ฉฐ, ๋๊ธฐ์์ด ๋ฐ๋ก ๋ณด๋ผ ์ ์์.
- ํต์ ๋งํฌ์ ์ฉ๋(์ ํ): ์ค๊ฐ์ ํ, ๋ฒํผ ํฌ๊ธฐ๊ฐ ์ ํํ ๊ฒฝ์ฐ์ด๋ฉฐ, ํ๊ฐ ๊ฐ๋ ์ฐจ๋ฉด ๋๊ธฐ๋ฅผ ํด์ผํจ.
- ํต์ ๋งํฌ์ ์ฉ๋(O): ์ค๊ฐ์ ํ๊ฐ ์์ ์๋ ๊ฒฝ์ฐ์ด๋ฉฐ, ์ก์ ์๋ ์์ ์๊ฐ ๋ฉ์์ง๋ฅผ ๋ฐ์ ์ ์๋ ์ํ๊ฐ ๋๊ธฐ๊น์ง ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ณด๋ด์ค์ผํจ.

- ์ง์ ํต์ : ๋ ํ๋ ฅ ํ๋ก์ธ์ค๊ฐ ์ง์ ์๋ก๋ฅผ ์ง์ ํ์ฌ ์๋ฐฉํฅ์ผ๋ก ๋ฉ์์ง๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์์.
- ์ค์ง ํ๋์ ๋งํฌ: A์ B ์ฌ์ด์ ์ ์ฉ ๋ ผ๋ฆฌ์ ์ธ ํ์ ์ด ํ๋ ๊น๋ฆฌ๋ ๊ฐ๋
- ๋ ํ๋ก์ธ์ค ์ฌ์ด๋ง ์ฐ๊ด: ํด๋น ํ์ ์ C๋ D ๋ฑ์ ์ ๋ ๋ผ์ด๋ค ์ ์๋ 1:1 ๋ ผ๋ฆฌ์ ์ธ ํ์ ์.
- ์๋ฐฉํฅ: A์ B ์ฌ์ด์ ํ์ ์์ ์ก์ ๊ณผ ์์ ์ด ๋ ๋ฆฝ์ ์ธ ํต๋ก ์๋๋ฉด ํ๋์ ํต๋ก๋ฅผ ๋งค์ฐ ๋น ๋ฅต ใ ๋๋์ด ์จ์ ์ค์ฌ๊ฐ์ผ๋ก ์๋ก ๋์์ ํต์ ์ ํ๋ ๋ฐฉ์์ ์๋ฏธํจ.

send(P, message) : ํ๋ก์ธ์ค P์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ธ๋ค.
receive(Q, message) : ํ๋ก์ธ์ค Q๋ก๋ถํฐ ๋ฉ์์ง๋ฅผ ๋ฐ๋๋ค.
- ๋์นญํ ์ฃผ์ ์ง์ : ๋ํํ๋ ๋ ํ๋ก์ธ์ค๊ฐ ์๋ก์ ์ด๋ฆ(์ฃผ์)๋ฅผ ๋ชจ๋ ์๊ณ ์์ด์ผ ํ๋ ๋ฐฉ์์ด๋ฉฐ, ๋ณด๋ผ ๋์ ๋ฐ์ ๋ ๋๊ตฌ์๊ฒ ๋ณด๋ผ ๊ฒ์ธ์ง์ ๋ฐ์ ๊ฒ์ธ์ง๋ฅผ ๋ช ์๋ฅผ ํด์ค์ผํจ. ์๋ฐฉํฅ ํต์ ์ด ์์ฃผ ๋ช ํํด์ง์ง๋ง, ์๋๋ฐฉ์ ์ฃผ์๋ฅผ ๋ฏธ๋ฆฌ ์์์ผ ํ๋ฏ๋ก ํ๋ก๊ทธ๋จ์ ์ ์ฐ์ฑ์ด ๋จ์ด์ง ์ ์์.
- ์ฆ, ํ๋ก์ธ์ค A๊ฐ ํ๋ก์ธ์ค B์์ธ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ send(B, m) ์ ํตํด์ ์์คํ ์ฝ์ ํ๊ฒ ๋๋ฉด, ํ๋ก์ธ์ค B์์๋ receive(A, m) ์ ํตํด์ ๋ณด๋ธ ์ฌ๋์ ์ด๋ฆ์ ๋ช ์ํด์ ์์คํ ์ฝ์ ํด์ฃผ์ด์ผ ๋ฐ์ ์ ์์.
- ** ๊ฒฐ๋ก ์ ํ๋ก์ธ์ค B์ ํญ์ receive(A, m) ๊ณผ ๊ฐ์ด ๋๊ตฌ์๊ฒ ๋ฐ๋ ๊ฒ์ธ์ง์ ๊ณ์ํด์ ๋ฉ์์ง๊ฐ ๋์ฐฉํ๋๊ฐ๋ฅผ receive() ์์คํ ์ฝ์ ํตํด์ ํ์ธ ๋ฐ ๋ฐ์์์ผํจ. ๋งค์ฐ ๋นํจ์จ์ ์. **
- ๋์นญํ ๋ฐฉ์์ ์ ์ด์ ๋ณด์๊ณผ ์ค๋ฅ ๋ฐฉ์ง์ ์ฌ์ธํ ๋ฐฉ์์ผ๋ก, receive(A, m) -> A ๋ง๊ณ ๋ ์๋ฌดํ๊ณ ๋ ๋ง ์ํ๋ค๋ ๊ฐ๋ ฅํ ํํฐ๋ง์ ํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ค๊ณ ๋ณด๋ฉด ๋จ.
์ก์ ์ (Client ์ญํ ): ์ฌ์ ํ ๋ณด๋ผ ๋์์ ๋ช
์ํฉ๋๋ค.
- send(P, message) : "๋๋ ํ๋ก์ธ์ค P์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๊ฑฐ์ผ."
์์ ์ (Server ์ญํ ): ๋๊ฐ ๋ณด๋ผ์ง ๋ชจ๋ฅด๋ ์ด๋ฆ์ ๋น์๋ก๋๋ค.
- receive(id, message) : "๋๊ตฌ๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ฉด ์ผ๋จ ๋ฐ์๊ฒ. ๊ทธ๋ฆฌ๊ณ ๋ณด๋ธ ๋์ ์ด๋ฆ์ id๋ผ๋ ๋ณ์์ ์ข ๋ด์์ค."
- ๋น๋์นญํ ์ฃผ์ ์ง์ : ๋์นญํ์ ์์ชฝ ๋ค ์ด๋ฆ์ ์ ์ด์ผ ํ๋ ๋ฐฉ์์ด์ง๋ง, ํด๋น ๋น๋์นญํ ๋ฐฉ์์ ํ์ชฝ๋ง ์ด๋ฆ์ ์ ์ ์ ์์.
- ** ์์ ๋์นญํ ์ฃผ์ ์ง์ ๋ฐฉ์์ receive(A, m) ์ ๊ฐ์ด A ๋ผ๋ ๋ณด๋ธ ํ๋ก์ธ์ค์ ์ด๋ฆ(์ฃผ์)๋ฅผ ๊ณ์ํด์ ํ๋ ์ฝ๋ฉ ๋ฐฉ์์ ์์ ์ ์ธถ์์ receive(id, message) ๋ฅผ ํตํด์ ์ ์ฐํ๊ฒ ๊ฐ์ ํ ๋ฐฉ์์. **
- ์ฝ๊ฒ ๋งํด, ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ ๋ฐ์ ๋ ์ฃผ์๋ ๊ฐ์ด ๋ฐ๋ ๋ฐฉ์์ด๋ผ๊ณ ๋ณด๋ฉด ๋จ.

- ๊ฐ์ ํต์ : ๊ธฐ์กด ์ง์ ํต์ ๋ฐฉ์์ ์๋๋ฐฉ์ ์ง์ ์ง์ ํด์ ํต์ ์ ํ์ง๋ง, ๊ฐ์ ํต์ ๋ฐฉ์์ ์๋๋ฐฉ์ ์ง์ ํ์ง ์๊ณ , A ํ๋ก์ธ์ค๊ฐ ํน์ ์ฐํธํจ์ ๋ฉ์์ง๋ฅผ ๋ฃ์ผ๋ฉด B ํ๋ก์ธ์ค ํด๋น ์ฐํธํจ์์ ๋ฉ์์ง๋ฅผ ๊บผ๋ด๊ฐ๋ ๋ฐฉ์์.
- ํน์ ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฌ๊ฐ์ ์ฐํธํจ์ ์ด์ฉํ๋ฉด ํน์ ํ๋ก์ธ์ค์ ์ฐ๊ฒฐ ๋ ์ฌ๋ฌ ๊ฐ์ ํต์ ๋งํฌ๊ฐ ์กด์ฌ ํ ์ ์์.

- ์ฐํธํจ์ด ์์ ํ๋ก์ธ์ค์ ์์: ์์ ํ๋ก์ธ์ค์ ์์๋ ๊ฒฝ์ฐ ํ๋ก์ธ์ค ์์ฒด ๋ด๋ถ์ ์ฐํธํจ์ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ๋ก์จ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ send() ๋ง ํ ์ ์์ผ๋ฉฐ, ์์ ํ๋ก์ธ์ค๋ง receive() ๋ฅผ ํตํด ๊บผ๋ผ ์ ์์.
- ์ฐํธํจ์ด ์ด์์ฒด์ ์ ์์: ์ฐํธํจ์ด ์ด์์ฒด์ ์ ์์๋ ๊ฒฝ์ฐ ํ๋ก์ธ์ค๋ค์ ๊ณต์ฉ ์ฐํธํจ์ผ๋ก์จ send() ๋๋ receive() ๊ฐ๋ฅ.
[ ๊ฐ์ธ์ ์ธ ํด์ ]
๐น ํ์ดํ(pipe)
- ๋จ๋ฐฉํฅ
- ์ฉ๋ ์ ํ ์์
- 1:1 ํต์
๐ ์ปค๋์ด ์ด๋ ๊ฒ ๋ง๋ค์ด๋ ๊ตฌ์กฐ - pipe()
๐น ๋ฉ์์ง ํ
- ๋ค๋๋ค ๊ฐ๋ฅ
- ํ ๊ธฐ๋ฐ (์ฉ๋ ์์)
- ๊ฐ์ ํต์
๐ ์ด๊ฒ๋ ์ปค๋์ด ์ ์ํ ๋ฐฉ์ - msgget()
๐น ์์ผ(socket)
- ์๋ฐฉํฅ
- ๋คํธ์ํฌ๊น์ง ๊ฐ๋ฅ
- ์คํธ๋ฆผ ๊ธฐ๋ฐ
๐ ์ด๊ฒ๋ ์ด๋ฏธ ์ค๊ณ๋ ๋งํฌ ํน์ฑ - socket()
...
- ์ปค๋์ด ์ด๋ฏธ IPC ๋ชจ๋๋ค์ ์ค๊ณํด๋์ ์ํ์ด๋ฉฐ, ์ด ์ค ํ๋๋ฅผ ๊ณจ๋ผ์ ์์คํ ์ฝ๋ก ์ฌ์ฉํ๋ ๊ตฌ์กฐ์.
- ์ฆ, ๋ฐฉํฅ์ฑ, ์ฉ๋, ์ฐ๊ฒฐ๋ฐฉ์ ๋ฑ์ ๋ชจ๋ ๊ตฌํ์ ํด๋์ ์ํ์ด๋ฉฐ, ์ด๊ฒ์ ๊ณจ๋ผ์ ์ฌ์ฉํ๋ ๊ฐ๋ ์ผ๋ก ๋ณด๋ฉด ๋จ.
'๐๋ฐฉ์กํต์ ๋ํ๊ต > โ๏ธ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์ด์์ฒด์ ] 6๊ฐ - ๊ต์ฐฉ์ํ(1) (0) | 2026.03.20 |
|---|---|
| [์ด์์ฒด์ ] 4๊ฐ - ๋ณํ ํ๋ก์ธ์ค(1) (0) | 2026.03.06 |
| [์ด์์ฒด์ ] 3๊ฐ - ํ๋ก์ธ์ค ์ค์ผ์ค๋ง (0) | 2026.02.27 |
| [์ด์์ฒด์ ] 2๊ฐ - ํ๋ก์ธ์ค์ ์ฐ๋ ๋ (0) | 2026.02.19 |
| [์ด์์ฒด์ ] 1๊ฐ - ์ด์์ฒด์ ์๊ฐ (0) | 2026.02.18 |