โ 1. ๋ณํ ํ๋ก์ธ์ค์ ๊ฐ์
(1) ๋ณํ์ฑ(concurrency) ๋ฐ ๋ณํ ํ๋ก์ธ์ค

- ๋ณํ์ฑ: ๋ค์ํ ํ๋ก์ธ์ค ๋ฐ ์ฐ๋ ๋๊ฐ ๋์์ ์ํ๋๋ ์์คํ ์์ฒด์ ํน์ฑ์ ์๋ฏธํจ.
- ๋ณํ ํ๋ก์ธ์ค: ๋์์ ์ํ๋๋ ์ํ๋ฅผ ๊ฐ์ง๋ ์ฌ๋ฌ ๊ฐ์ ์ค์ ํ๋ก์ธ์ค ๋๋ ์ฐ๋ ๋๋ฅผ ์๋ฏธํจ.
(2) ๋ณํ ํ๋ก์ธ์ค์ ์คํ ํํ

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

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

- ๋ ๋ฆฝ ํ๋ก์ธ์ค: ํด๋น ํ๋ก์ธ์ค ํ๋๋ง ๋ฐ๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์ํ์ด ๋๋ฉฐ, ๋ฐ์ดํฐ ๋ฐ ์ํ๋ฅผ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๊ณต์ ํ์ง ์์.
- ** ์คํ๊ฒฐ๊ณผ๋ ์ ๋ ฅ์ ์ํด์๋ง ๊ฒฐ์ ์ด๋๋ฉฐ, ๊ฐ์ ์ ๋ ฅ์ ๋ํด ํญ์ ๋์ผํ ์คํ๊ฒฐ๊ณผ๊ฐ ๋ํ๋จ. **
- ** ์ฝ๊ฒ๋งํด, ๊ทธ๋ฅ ๋ ๋ฆฝ์ ์ธ ํ๋ก์ธ์ค๋ก ๋ด๋ถ์ ์ผ๋ก ์์ ์ ์์๋ง ์ฌ์ฉํ๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํธ์์ฉ์ด ์ผ์ฒด ์์. **
- ๋ํ์ ์ผ๋ก ๋ฉ๋ชจ์ฅ, ๊ณ์ฐ๊ธฐ, ๊ทธ๋ฆผํ ๋ฑ์ด ์์ผ๋ฉฐ, ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ ํ ์ํธ์์ฉ์ ํ์ง ์์.

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

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

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

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

- ํ๋ก์ธ์ค ๊ฐ ํต์ (IPC): ์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉํ๋ ํ๋ก์ธ์ค ๊ฐ ํต์ ๊ฐ๋ ์.
- ์ฝ๊ฒ๋งํด, ํ๋ก์ธ์ค๋ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ์ง ์๊ณ ๋ ๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ํ๋ก์ธ์ค ๊ฐ์๋ ์๋ก ์ ๊ทผ์ ํ ์ ์์. ํ์ง๋ง, ํ๋ก์ธ์ค๋ผ๋ฆฌ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด IPC ๋ผ๋ ๊ฐ๋ ์ ์ด์ฉํจ.
[ IPC๋ฅผ ๊ตฌํํ๋ ๋ํ์ ์ธ ํต์ ๋ฐฉ์ ]
- ์ด๋ป๊ฒ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๊ฒ์ด๋์ ๋ํ ๋ด์ฉ์.
- ํ๋์ ๋ณ์ ์ฌ์ฉ: ํน์ ๋ณ์๋ฅผ CPU ์ฌ๋ฌ๊ฐ๊ฐ ๊ณต์ ํ๋ ๋ฐฉ์์ด๋ฉฐ, ๊ฐ๊ฒฐํฉ ์์คํ ์์ ์ฌ์ฉ ํ ์ ์๋ ๋ฐฉ๋ฒ์.
- ๋ฉ์์ง๋ฅผ ์๋ก ์ฃผ๊ณ ๋ฐ์: ๊ฐ๊ฒฐํฉ ๋๋ ์ฝ๊ฒฐํฉ ๋ ๋ค ๊ฐ๋ฅํ๋ฉฐ, ํ๋ก์ธ์ค๊ฐ ๋ฉ์์ง๋ฅผ ํตํด์ ํต์ ์ ํ๋ ๋ฐฉ๋ฒ์.
(4) ๋ณํ์ฑ ๋ฌธ์ ์ด ์ ๋ฆฌ
- ํ๋ก์ธ์ค ๊ฐ ํต์ (IPC) ๋ฅผ ๊ตฌํํ ํต์ ์ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์ ์์.
- IPC ๋ฅผ ํตํด์ ํ๋ก์ธ์ค ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ฑฐ๋ ์์์ ๊ณต์ ํ ๋ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ๋์์ ๊ณต์ ์์์ ์ ๊ทผํ๋ฉด์ ์ํธ๋ฐฐ์ , ๋๊ธฐํ์ ๊ฐ์ ํต์ฌ ๋ฌธ์ ๊ฐ ์๊น.
- ** ์ฆ, ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ์์์ ๋์ ์ ๊ทผํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ์์ ํ๊ฒ ์ ์ดํ๋ ๊ฒ์ด ๋ณํ์ฑ ์ ์ด์ ๊ทผ๋ณธ ๋ชฉ์ ์. **
- ** ์ด๋ฌํ ๋ณํ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์ด์์ฒด์ ๋ ๋ด๋ถ์ ์ผ๋ก ์ธ๋งํฌ์ด, ๋ฎคํ ์ค ๋ฑ์ผ๋ก ํด๊ฒฐ ํ๊ณ ์์. **
โ 3. ์ธ๋งํฌ์ด
(1) ์ธ๋งํฌ์ด(semaphore)

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

- P ์ฐ์ฐ: ์์์ ์ฌ์ฉํ๊ธฐ ์ ์ ํธ์ถํจ. ์ธ๋งํฌ์ด ๊ฐ์ 1 ๊ฐ์์ํค๋ฉฐ, ๋ง์ฝ ๊ฐ์ด 0๋ณด๋ค ์์์ง๋ฉด ์์์ด ์๊ธธ ๋๊น์ง ๋๊ธฐํจ.
- V ์ฐ์ฐ: ์์ ์ฌ์ฉ์ ๋ง์น ํ ํธ์ถํจ. ์ธ๋งํฌ์ด ๊ฐ์ 1 ์ฆ๊ฐ์ํค๋ฉฐ, ๋๊ธฐ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด ๊นจ์์ ์์์ ์ฌ์ฉํ๊ฒ ํจ.
- ** P์ V์ฐ์ฐ์ ์ธํฐ๋ฝํธ๊ฐ ๋์ง์๊ณ , ํ๋์ ๋จ์๋ก ์ฒ๋ฆฌ๊ฐ ๋จ. ์ฆ, ๋ฐฉํด๋ฐ์ง ์๊ณ ํ๋์ ๋จ์๋ก ์ฒ๋ฆฌ๊ฐ ๋จ. **
[ P ์ฐ์ฐ - ๋์ ์๋ฆฌ ]
- ** ์์์ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ถํ์ ํ๋ํ๋ ๊ณผ์ ์. **
- (1) ์ธ๋งํฌ์ด ๊ฐ(S)์ ํ์ธ
- (2) S๊ฐ 0๋ณด๋ค ํฌ๋ฉด: ๊ฐ์ 1 ๊ฐ์์ํค๊ณ ๋ค์ ์ฝ๋๋ฅผ ์คํํจ (์์ ์ ์ )
- (3) S๊ฐ 0์ด๋ฉด: ์์์ด ์์ผ๋ฏ๋ก ๊ฐ์ด ์ปค์ง ๋๊น์ง ๊ธฐ๋ค๋ฆผ (๋๊ธฐ ์ํ)
[ V ์ฐ์ฐ - ๋์ ์๋ฆฌ ]
- ** ์์ ์ฌ์ฉ์ ๋ง์น ํ ๊ถํ์ ๋ฐ๋ฉํ๋ ๊ณผ์ ์. **
- (1) ์ธ๋งํฌ์ด ๊ฐ(S)์ 1์ฆ๊ฐ ์ํด.
- (2) ๋ง์ฝ ํด๋น ์์์ ๊ธฐ๋ค๋ฆฌ๋ฉฐ ๋๊ธฐ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด, ๊ทธ์ค ํ๋๋ฅผ ๊นจ์ ์คํํ๊ฒ ๋จ.
[ ์ ๋ฆฌ ]
- ์ธ๋งํฌ์ด ์ ์๊ฐ ์์ฒด๋ ๊ณต์ ์์์ ๋ํด์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ํ ์ ์๊ฐ์ ๋ํ๋.
- ํด๋น ์ ์๊ฐ์ ๋ค๋ฃจ๋ ์ฐ์ฐ์ด P์ฐ์ฐ๊ณผ V์ฐ์ฐ์.
- ์ธ๋งํฌ์ด ์ ์๊ฐ 0: ํน์ ํ๋ก์ธ์ค๊ฐ ํด๋น ๊ณต์ ์์์ ์ฌ์ฉ์ค์ ๋ํ๋.
- ์ธ๋งํฌ์ด ์ ์๊ฐ 1: ์๋ฌด ํ๋ก์ธ์ค๋ ํด๋น ๊ณต์ ์์์ ์ฌ์ฉํ์ง ์์์ ๋ํ๋.
- P ์ฐ์ฐ์ ํตํด์ ์์์ ์ฌ์ฉํ๊ธฐ ์ ์ ์ธ๋งํฌ์ด์ ๊ฐ์ ํ์ธ ํ 0๋ณด๋ค ํฌ๋ฉด 1 ๊ฐ์ ์ํค๋ฉด์ ์์์ ์ ์ ํด ์ฝ๋๋ฅผ ์ํํ๋ฉฐ, ์ธ๋งํฌ์ด์ ๊ฐ์ด 0์ด๋ฉด ๋๊ธฐ ์ํ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค.
- V ์ฐ์ฐ์ ํตํด์ ์์์ ๋ค ์ฌ์ฉํ ๋ค ์ธ๋งํฌ์ด ๊ฐ์ 1 ์ฆ๊ฐ์ํด์ผ๋ก์จ, ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ ์ ๋ฅผ ํ ์ ์๋๋ก ์ํ๋ฅผ ๋ฐ๊ฟ.
- ** ํ๋ก์ธ์ค ๊ฐ์ ์์ ์ ๊ทผ(IPC)์์ ์๋ก ๋ ๋ฆฝ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ง ๋ ํ๋ก์ธ์ค๊ฐ ํ์ผ, ํ๋ฆฐํฐ ๊ฐ์ ์์คํ ์์์ ๋์์ ์ฐ๋ ค๊ณ ํ ๋ ํด๋น ์ธ๋งํฌ์ด๋ฅผ ์ปค๋ ๋ด๋ถ์ ๋๊ณ , ํ๋ก์ธ์ค๋ค์ด ์ปค๋์ ์ธ๋งํฌ์ด๋ฅผ ๊ฑฐ์ณ๊ฐ๊ฒ ํจ์ผ๋ก์จ ์ถฉ๋์ ๋ง์ **
- ** ๋ํ, ํ๋ก๊ทธ๋๋ฐ์์ ํ๋์ ํ๋ก์ธ์ค ์์ ์๋ ์ฌ๋ฌ ์ค๋ ๋๋ ํ์์ญ์ด๋ ์ ์ญ ๋ณ์๋ฅผ ๊ณต์ ํ๋๋ฐ, ์ด๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฝ๋ ๋ด์์ ์ธ๋งํฌ์ด๋ฅผ ์ ์ธํ์ฌ ์ค๋ ๋๋ค์ด ๊ณต์ ๋ณ์๋ฅผ ์์ ํ๊ฒ ์์ ํ๋๋ก ์ ์ดํ ์ ์์. ( OS ์์คํ ์ฝ ) **
- **** ๋ง์ง๋ง์ผ๋ก ์ธ๋งํฌ์ด๋ ์ฌ๋ฌ๊ฐ ์กด์ฌ ํ ์ ์์ผ๋ฉฐ, ํด๋น ์ธ๋งํฌ์ด์ ๋์์ด ๋๋ ๋๊ธฐ ํ๊ฐ ํ์ํจ. ****
(2) ์ธ๋งํฌ์ด(semaphore) - ์ํธ๋ฐฐ์ ํด๊ฒฐ

- (1) ์๊ณ์์ญ์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ง์ ํ์ง ๋ชปํ๊ฒ ๋ง์์ค์ผํจ.
- (2) ์๊ณ์์ญ์ ๋ํ ์ํ์ ์๋ฃ ํ๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์๋ก์ด ์ํ ๋ ์ ์๊ฒ ํด์ค์ผํจ.
- (3) ๋ฌดํ์ ๋๊ธฐ๋ฅผ ๋ง๊ณ ์ ์ ํ ์๊ฐ ๋ด์ ์๊ณ์์ญ ์ํ์ ์์ํ ์ ์๊ฒ ๋ง๋ค์ด์ค์ผํจ.
- ** ์์ ๊ฐ์ด ์ํธ๋ฐฐ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ผ๋ฐ์ ์ธ ์๊ตฌ์ฌํญ์ด 3๊ฐ์ง๊ฐ ์กด์ฌํจ. **

- ์ํธ๋ฐฐ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์๊ตฌ์ฌํญ 3๊ฐ์ง๋ฅผ "์ธ๋งํฌ์ด" ๋ฅผ ์ด์ฉํด์ ํด๊ฒฐ ํ ์ ์์ ๊ฒ์ด๋ผ ํ๋จ.
- ์๊ณ์์ญ์ ๋ค์ด๊ฐ์ง ๋ชปํ๋๋ก ์ง์ ์์ญ์ด ์กด์ฌํ๋ฉฐ, ์ดํ์ ์์ญ์ ๋์ ํด์ ์์ญ์ ํตํด ๋์ ์๋ฆด ์ ์์.

- ์ง์ ์์ญ์๋ P์ฐ์ฐ ํด์ ์์ญ์๋ V์ฐ์ฐ์ ๋ฃ์์ผ๋ก์จ ์ธ๋งํฌ์ด๋ฅผ ํ์ฉํ ์ ์์.
- ** 1(์ ์ ํ์ง ์์ ์ํ), 0(ํน์ ํ๋ก์ธ์ค๊ฐ ์ ์ ํ ์ํ) **
- V์ฐ์ฐ: ๋ง์ง๋ง์ 1๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉฐ, ๋ค์ ๋๊ธฐ ํ๋ก์ธ์ค๋ฅผ ์๊ณ์์ญ์ ๋ฃ์ด๋ ๋จ์ ์๋ฆผ.

- (1) ์ธ๋งํฌ์ด mutex ์ด๊ธฐ๊ฐ์ "1"
- (2) ๋๊ธฐ ํ์ A, B, C ์์ผ๋ก ์กด์ฌํ ๋, A๊ฐ ๋จผ์ ์ํ
- (3) A ํ๋ก์ธ์ค ์ํ -> P์ฐ์ฐ์ ํตํด ์ธ๋งํฌ์ด mutex ๊ฐ 0์ผ๋ก ๋ณ๊ฒฝ ํ ์๊ณ ์์ญ ์ํ
- (4) A ํ๋ก์ธ์ค ์ํ ์ค B, C ํ๋ก์ธ์ค๊ฐ P์ฐ์ฐ์ ๋ค์ด์ค๊ฒ ๋๋ฉด mutex ๊ฐ์ ํ์ธ ํ "0" ์ธ ๊ฒฝ์ฐ ๋๊ธฐ ํ์ ๋ฑ๋ก๋จ.
- (5) B, C ํ๋ก์ธ์ค๋ P์ฐ์ฐ์์ ๋ฉ์ถฐ ์๋ ์ํ์ธ ๊ฒ์.
- (6) A ํ๋ก์ธ์ค ์๊ณ์์ญ ์ํ ํ -> V์ฐ์ฐ์ ํตํด์ ์ธ๋งํฌ์ด mutex ๊ฐ "1" ๋ณ๊ฒฝ ํ ๋๊ธฐ ํ์ ํ๋ก์ธ์ค ๋ค์ P ์ฐ์ฐ์์ ๋๊ธฐ ํ๋ก ๋ค์ด๊ฐ ์ํ์์ ๋๋ฌ๊ธฐ ๋๋ฌธ์ ์ดํ์ ์์ ์ธ ์๊ณ์์ญ์ ๋ฐ๋ก ์ํ
- 2~6๋ฒ ๋ฐ๋ณตํ๋ฉด์ ์ํ
- mutex 0: ์ด๋ฏธ ์๊ณ์์ญ ์ํ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์กด์ฌํ๋ ์ํ
- mutex 1: ์๊ณ์์ญ ์ํ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์กด์ฌํ์ง ์๋ ์ํ
- ** ์ด๋ ๋ฏ ์ํธ ๋ฐฐ์ ์ ๋ฌธ์ ์ธ ์๊ณ์์ญ์ ๋ํ ์ ์ ๋ฅผ ํ์คํ๊ฒ ํด์ค **
(3) ์ธ๋งํฌ์ด(semaphore) - ๋๊ธฐํ ํด๊ฒฐ

- ** ๋๊ธฐํ ๋ฌธ์ ์ ๋ ผ๋ฆฌ์ ์ธ ๋ฐ์ดํฐ ์ผ์น์ ๋ฐ๋ฅธ ์คํ ์์๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด์ ์ธ๋งํฌ์ด๋ P์ฐ์ฐ, V์ฐ์ฐ์ ์๋ค๋ก ๋ฐฐ์นํ์ผ๋ฉฐ, ๋๊ธฐ ํ๋ฅผ ํตํด ์์ ๋ฐ ํจ์จ์ ๋ณด์ฅํ๊ณ ์์. *
[ ์ธ๋งํฌ์ด๋ฅผ ํตํ ๋๊ธฐํ ํด๊ฒฐ์ ๋ํ ๊ฐ์ธ์ ์ธ ๊ฒฌํด ]
- TIP: "์ธ๋งํฌ์ด๋ '์ํธ๋ฐฐ์ '๋ผ๋ ๊ฐ๋ ฅํ ์ ๊ธ/๋๊ธฐ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ๋ ๋๊ตฌ์ผ ๋ฟ์ด๊ณ , ์ด๋ฅผ ๋ฐฐ์นํ์ฌ '๋๊ธฐํ(์์ ์ ์ด)'๋ผ๋ ์๋๋ฆฌ์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ ๊ฐ๋ฐ์์ ์ค๊ณ(๋ ผ๋ฆฌ)๋ค."
'๐๋ฐฉ์กํต์ ๋ํ๊ต > โ๏ธ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์ด์์ฒด์ ] 6๊ฐ - ๊ต์ฐฉ์ํ(1) (0) | 2026.03.20 |
|---|---|
| [์ด์์ฒด์ ] 5๊ฐ - ๋ณํ ํ๋ก์ธ์ค(2) (0) | 2026.03.18 |
| [์ด์์ฒด์ ] 3๊ฐ - ํ๋ก์ธ์ค ์ค์ผ์ค๋ง (0) | 2026.02.27 |
| [์ด์์ฒด์ ] 2๊ฐ - ํ๋ก์ธ์ค์ ์ฐ๋ ๋ (0) | 2026.02.19 |
| [์ด์์ฒด์ ] 1๊ฐ - ์ด์์ฒด์ ์๊ฐ (0) | 2026.02.18 |