๋ ์ค๋ ๋๊ฐ ์๋ก ์๋๋ฐฉ์ด ์ฅ๊ณ ์๋ ์๋ฌผ์ ๊ฐ ํ๋ฆฌ๊ธฐ๋ง์ ๊ธฐ๋ค๋ฆฌ๋ฉด์ ์๋ก ๊ฐ๋ก๋ง๊ณ ์๋ ์ํฉ.
- ๋๊ฐ์ ์๋ก ๋ค๋ฅธ ์ค๋ ๋์์ ์๋ก ์๋๋ฐฉ์ด ํ์๋ก ํ๋ ์์์ ๋ํ ๋ฝ์ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ์ ๋ฐ์
- ๋ฉํฐ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์์ ํ์ ๋ ์์์ ์ฌ์ฉํ๋ ค๊ณ ๊ฒฝ์ํ๋ ์ํฉ(
Race Condition
)์์ ๋ฐ์ํ ์ ์๋ค.
- ํ๋ก์ธ์ค๊ฐ ์์์ ์์ฒญํ์ ๋ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ํ๋ก์ธ์ค๋ ๋๊ธฐ ์ํ๊ฐ ๋๋ค.
- ๋๊ธฐ ์ํ์์ ํ๋ก์ธ์ค๋ค์ด ์คํ ์ํ๋ก ๋ณ๊ฒฝ๋ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ผ์ปซ๋๋ค.
- ์๋ฅผ ๋ค๋ฉด
Process1
๊ณผProcess2
๊ฐ ๊ฐ๊ฐResource A, B
๋ฅผ ์ป์ด์ผ ํ๋ค๋ฉด,P1
์ดA
๋ฅผ ์ ์ ํ๊ณP2
๊ฐB
๋ฅผ ์ ์ ํ๋ค๋ฉด ๋ ํ๋ก์ธ์ค๋ ๋ฌดํ์ ๊ธฐ๋ค๋ฆฌ๊ฒ ๋๋ค.
- ๋ณดํต ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํ ์ค๋ ๋๋ฅผ ๊ฐ์ ๋ก ์ข ๋ฃ ์ํค๋๊ฒ
- ๊ฐ์ฅ ์ข์ ํด๊ฒฐ์ฑ ์ ๋ฐ๋๋ฝ์ด ์ผ์ด๋ ์ํฉ์ ํผํ๋ ๊ฒ์ด๋ค.
- ์ํธ ๋ฐฐ์ (Mutual Exclusion)
: ์์์ ํ๋ฒ์ ํ ํ๋ก์ธ์ค๋ง ์ฌ์ฉํ ์ ์๋ค. - ์ ์ ๋๊ธฐ(Hold and wait)
: ์ต์ ํ๋์ ์์์ ์ ์ ํ๊ณ ์์ผ๋ฉด์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ํ ๋น๋์ด ์ฌ์ฉํ๊ณ ์๋ ์์์ ์ถ๊ฐ๋ก ์ ์ ํ๊ธฐ ์ํด ๋๊ธฐํ๋ ํ๋ก์ธ์ค๊ฐ ์์ด์ผํ๋ค. - ๋น์ ์ (No Preemption)
: ๋ค๋ฅธ ํ๋ก์ธ์ค์ ํ ๋น๋ ์์์ ์ฌ์ฉ์ด ๋๋ ๋๊น์ง ๊ฐ์ ๋ก ๋บ์ ์ ์๋ค. - ์ํ ๋๊ธฐ(Circular wait)
: ๋๊ธฐํ๊ณ ์๋ ํ๋ก์ธ์ค๋ค์ ์์ฐจ์ ์ผ๋ก ์์ ํ๋ก์ธ์ค๊ฐ ์ ์ ํ ์์์ ๋๊ธฐํ๋ฉฐ ๋ง์ง๋ง ํ๋ก์ธ์ค๋ ์ฒซ๋ฒ์งธ ํ๋ก์ธ์ค๊ฐ ์ ์ ํ ์์์ ์๊ตฌํ๋ค.
: ๊ต์ฐฉ ์ํ ๋ฐ์ ์กฐ๊ฑด์ ์ ๊ฑฐํด ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ.
- ์ํธ ๋ฐฐ์ ๋ถ์
: ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ์์์ ์ฌ์ฉํ๋๋กํ๋ค. - ์ ์ ๋๊ธฐ ๋ถ์
: ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ธฐ ์ ์ ํ์ํ ๋ชจ๋ ์์์ ํ ๋นํ๋. - ๋น์ ์ ๋ถ์
: ์์์ ์ ์ ํ๊ณ ์๋ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ์์์ ์๊ตฌํ ๋ ์ ์ ํ๊ณ ์๋ ์์์ ๋ฐ๋ฉํ๊ณ ์๊ตฌํ ์์์ ์ฌ์ฉํ๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๊ฒํ๋ค. - ์ํ๋๊ธฐ ๋ถ์
: ์์์ ๊ณ ์ ํ ๋ฒํธ๋ฅผ ํ ๋นํด ๋ฒํธ ์์๋๋ก ์์์ ์๊ตฌํ๋๋ก ํ๋ค.
: ๊ต์ฐฉ ์ํ๊ฐ ๋ฐ์ํ๋ฉด ํผํ๋ ๋ฐฉ๋ฒ.
- ์ํ์ ์๊ณ ๋ฆฌ์ฆ(Banker's Algorithm) : ํ๋ก์ธ์ค๊ฐ ์์์ ์๊ตฌํ ๋ ์์คํ ์ ์์์ ํ ๋นํ ํ์๋ ์์ ์ํ์ธ์ง ์ฌ์ ์ ๊ฒ์ฌํ๋ค. : ์์ ์ํ์ ์๋ ๊ฒฝ์ฐ ์์์ ํ ๋นํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ด ์์์ ํด์งํ ๋๊น์ง ๋๊ธฐํ๋ค.
: ์์ ํ ๋น ๊ทธ๋ํ๋ฅผ ํตํด ๊ต์ฐฉ ์ํ๋ฅผ ํ์งํ๋ค.
- ์์ ์์ฒญํ ๋๋ง๋ค ํ์ง ์๊ณ ๋ฆฌ์ฆ์ ์คํํ๊ธฐ ๋๋ฌธ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋ค.
: ๊ต์ฐฉ ์ํ๋ฅผ ์ผ์ผํจ ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃ
ํ๊ฑฐ๋, ํ ๋น๋ ์์์ ํด์
ํด ํ๋ณตํ๋ ๋ฐฉ๋ฒ.
- ํ๋ก์ธ์ค ์ข
๋ฃ
- ๊ต์ฐฉ ์ํ์ ํ๋ก์ธ์ค๋ฅผ ๋ชจ๋ ์ค์งํ๋ค.
- ๊ต์ฐฉ ์ํ๊ฐ ์ ๊ฑฐ๋ ๋๊น์ง ํ ํ๋ก์ธ์ค์ฉ ์ค์งํ๋ค.
- ์์ ์ ์
- ๊ต์ฐฉ ์ํ์ ํ๋ก์ธ์ค๊ฐ ์ ์ ํ๊ณ ์๋ ์์์ ์ ์ ํด ๋ค๋ฅธ ํ๋ก์ธ์ค์์ธ ํ ๋นํด ํด๋น ํ๋ก๋ ์ค๋ฅผ ์ผ์ ์ ์ง ์ํจ๋ค.
- ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค, ์ํ๋ ํ์๊ฐ ์ ์ ํ๋ก์ธ์ค ๋ฑ์ ์์ฃผ๋ก ํ๋ก์ธ์ค ์์์ ์ ์ ํ๋ค.