๐ฅ๏ธ Computer Science
[์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ด์์ฒด์ ] ch.6 ํ๋ก์ธ์ค ๋๊ธฐํ - ์ฐ์ต & ์ฌํ ๋ฌธ์
GroovyArea
2022. 11. 6. 00:53
์ฐ์ต ๋ฌธ์
1. 2๊ฐ ์ด์์ ํ๋ก์ธ์ค๊ฐ ์๋ก์ ์์ ์ด ๋๋๊ธฐ๋ง ๊ธฐ๋ค๋ฆฌ๋ฉฐ ์์ ์ ๋ ์ด์ ์งํํ์ง ๋ชปํ๋ ์ํ๋ฅผ ๋ฌด์์ด๋ผ ํ๋๊ฐ?
- ๊ต์ฐฉ ์ํ (dead lock)
2. ํ๋ก์ธ์ค๊ฐ ์ด๋ค ์์์ ์ฌ์ฉ ์ค์ด๊ณ ์ด๋ค ์์์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋์ง๋ฅผ ๋ํ๋ด๋ ๋ฐฉํฅ์ฑ์ด ์๋ ๊ทธ๋ํ?
- ์์ ํ ๋น ๊ทธ๋ํ (resource allocation graph)
3. ๋ค ๊ฐ์ง ๊ต์ฐฉ ์ํ ํ์์กฐ๊ฑด์ ๋ํ ์ค๋ช
- ์ํธ ๋ฐฐ์ (mutual exclusion) :
- ํ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ์์์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๊ณต์ ํ ์ ์๋ ๋ฐฐํ์ ์์์ด์ด์ผ ํจ.
- ๋น์ ์ (non-preemption):
- ํ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉ์ค์ธ ์์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๋นผ์์ ์ ์๋ ๋น์ ์ ์์์ด์ด์ผ ํ๋ค.
- ์ ์ ์ ๋๊ธฐ (hold and wait):
- ํ๋ก์ธ์ค๊ฐ ์ด๋ค ์์์ ํ ๋น ๋ฐ์ ์ํ์์ ๋ค๋ฅธ ์์์ ๊ธฐ๋ค๋ฆฌ๋ ์ํ์ฌ์ผ ํ๋ค.
- ์ํ ๋๊ธฐ (circular wait):
- ์ ์ ์ ๋๊ธฐ๋ฅผ ํ๋ ํ๋ก์ธ์ค ๊ฐ์ ๊ด๊ณ๊ฐ ์์ ์ด๋ฃจ์ด์ผ ํ๋ค. ์ ์ ์ ๋๊ธฐ๋ฅผ ํ๋ ํ๋ก์ธ์ค๋ค์ด ์๋ก ๋ฐฉํดํ๋ ๋ฐฉํฅ์ด ์์ ์ด๋ฃจ๋ฉด ํ๋ก์ธ์ค๋ค์ด ์๋ก ์๋ณดํ์ง ์๋๋ค.
4. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค, ๊ต์ฐฉ ์ํ๋ฅผ ์ ๋ฐํ๋ ๋ค ๊ฐ์ง ์กฐ๊ฑด์ ๋ฌด๋ ฅํํ๋ ๋ฐฉ๋ฒ?
- ๊ต์ฐฉ ์ํ ์๋ฐฉ
- ์คํจ์ฑ์ด ์ ์.
5. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค, ๊ต์ฐฉ ์ํ๊ฐ ๋ฐ์ํ์ง ์๋ ์์ค์ผ๋ก ์์์ ํ ๋นํ๋ ๋ฐฉ๋ฒ?
- ๊ต์ฐฉ ์ํ ํํผ
- ์์์ ํ ๋นํ๋ค๊ฐ ๊ต์ฐฉ ์ํ๋ฅผ ์ ๋ฐ ๊ฐ๋ฅ์ฑ์ด ๋ณด์ด๋ฉด ์์ ํ ๋น์ ์ค๋จํ๊ณ ์ง์ผ ๋ด.
- ์คํจ์ฑ์ด ์ ์.
6. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค, ์์ ํ ๋น ๊ทธ๋ํ๋ฅผ ์ฌ์ฉํ์ฌ ๊ต์ฐฉ ์ํ๋ฅผ ๋ฐ๊ฒฌํ๋ ๋ฐฉ๋ฒ?
- ๊ต์ฐฉ ์ํ ๊ฒ์ถ
- ๊ต์ฐฉ ์ํ ๋ฐ์ ์ ๊ต์ฐฉ ์ํ ํ๋ณต ๋จ๊ณ ์งํ
7. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค, ํ์์์์ ์ด์ฉํ์ฌ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ?
- ํ์ ์์์ ์ด์ฉํ ๊ต์ฐฉ ์ํ ๊ฒ์ถ
- ์ผ์ ์๊ฐ ์์ ์ด ๋ฏธ์งํ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ๊ต์ฐฉ ์ํ๊ฐ ๋ฐ์ํ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ ๋ค ์ฒ๋ฆฌ.
- ๋ฌธ์ ์ :
- ์๋ฑํ ํ๋ก์ธ์ค ๊ฐ์ ์ข
๋ฃ
- ๊ต์ฐฉ ์ํ ์ธ์ ๋ค๋ฅธ ์ด์ ๋ก ์์ ์ด ์งํ๋์ง ๋ชปํ๋ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ์ข ๋ฃ ๋ ์ ์๋ค.
- ๋ฐ์ดํฐ๊ฐ ๋๋์ด์ง ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ์ฐ, ํ์์์ ๋ฐฉ๋ฒ์ ์ ์ฉํ๊ธฐ ์ด๋ ต๋ค. ์๊ฒฉ์ง์ ํ๋ก์ธ์ค ์๋ต์ด ๊ต์ฐฉ ์ํ ๋๋ฌธ์ธ์ง, ๋คํธ์ํฌ ๋๋ฌธ์ธ์ง ๋ชจ๋ฆ.
- ์๋ฑํ ํ๋ก์ธ์ค ๊ฐ์ ์ข
๋ฃ
8. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค, ์ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ?
- ๊ต์ฐฉ ์ํ ํํผ
9. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค, ๋ชจ๋ ์์์ ๋ฒํธ๋ฅผ ๋ถ์ฌํ๊ณ ๋ฎ์ ๋ฒํธ์ ์์์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ?
- ๊ต์ฐฉ ์ํ ์๋ฐฉ
10. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค, ํ๋ก์ธ์ค๊ฐ ์์ ์ด๊ธฐ์ ์์ ์ด ์ฌ์ฉํ๋ ค๋ ๋ชจ๋ ์์์ ํ๊บผ๋ฒ์ ์ ์ ํ๊ฑฐ๋, ๊ทธ๋ ์ง ๋ชปํ ๊ฒฝ์ฐ ์์์ ๋ชจ๋ ๋ฐ๋ฉํ๋ ๋ฐฉ๋ฒ?
- ์ ์ ์ ๋๊ธฐ ์๋ฐฉ
- ํ๋ก์ธ์ค๋ ์ด๊ธฐ์ ์ฌ์ฉํ๋ ค๋ ๋ชจ๋ ์์์ ํ๊บผ๋ฒ์ ์ ์ ํ๊ฑฐ๋, ๋ฏธ์ฌ์ฉ์ ๋ชจ๋ ๋ฐ๋ฉํด์ผ๋จ.
- ๋จ์ :
- ํ๋ก์ธ์ค ์์ ์ด ์ฌ์ฉํ๋ ๋ชจ๋ ์์์ ์์ธํ ์๊ธฐ ์ด๋ ค์
- ์์์ ํ์ฉ์ฑ์ด ๋จ์ด์ง. ์ฌ์ฉํ์ง ์๋ ์์๊น์ง ์ก๊ณ ์๋ค.
- ๋ง์ ์์์ ์ฌ์ฉํ ์๋ก ๋ถ๋ฆฌํ๋ค.
- ๊ฒฐ๊ตญ ์ผ๊ด ์์ ๋ฐฉ์์ผ๋ก ๋์ํจ.
11. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค, ๊ต์ฐฉ ์ํ๊ฐ ๊ฒ์ถ๋๋ฉด ๊ต์ฐฉ ์ํ๋ฅผ ์ผ์ผํจ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๋ ๋ฐฉ๋ฒ?
- ๊ต์ฐฉ ์ํ ํ๋ณต
12. ์์ ํ ๋น ๊ทธ๋ํ์์ ๋ฌด์์ด ๋ฐ๊ฒฌ๋๋ฉด ๊ต์ฐฉ ์ํ๋ผ๊ณ ํ๋จํ ์ ์๋๊ฐ?
- ๋จ์ผ ์์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์์ ํ ๋น ๊ทธ๋ํ์ ์ฌ์ดํด์ด ์์ผ๋ฉด ๊ต์ฐฉ ์ํ์ด๋ค.
- ๋ค์ค ์์์ ๊ฒฝ์ฐ ๋๊ธฐ ๊ทธ๋ํ์ ๊ทธ๋ํ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ด์ฉํ์ฌ ์ฌ์ดํด์ ์ฐพ๋๋ค.
์ฌํ ๋ฌธ์
1. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค ํ๋ก์ธ์ค๊ฐ ์์ ์ด๊ธฐ์ ์์ ์ด ์ฌ์ฉํ๋ ค๋ ๋ชจ๋ ์์์ ํ๊บผ๋ฒ์ ์ ์ ํ๊ฑฐ๋, ๊ทธ๋ ์ง ๋ชปํ ๊ฒฝ์ฐ ์์์ ๋ชจ๋ ๋ฐ๋ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ด ๋ฐฉ๋ฒ์ ๋จ์ ์ ์ค๋ช ํ์์ค
- ํ๋ก์ธ์ค๊ฐ ์์ ์ด ์ฌ์ฉํ๋ ๋ชจ๋ ์์์ ์์ธํ ์๊ธฐ ์ด๋ ต๋ค.
- ์์์ ํ์ฉ์ฑ์ด ๋จ์ด์ง๋ค. ํ์ฌ ์ฌ์ฉํ์ง๋ ์์ ์์์ ๋ฏธ๋ฆฌ ์ก๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ง์ ์์์ ์ฌ์ฉํ๋ ํ๋ก์ธ์ค๊ฐ ์ ์ ์์์ ์ฌ์ฉํ๋ ํ๋ก์ธ์ค๋ณด๋ค ๋ถ๋ฆฌํ๋ค.
- ๊ฒฐ๊ตญ ์ผ๊ด ์์ ๋ฐฉ์์ผ๋ก ๋์ํ๋ค.
2. ๊ต์ฐฉ ์ํ ํํผ ๋ฐฉ๋ฒ์ธ ์ํ์ ์๊ณ ๋ฆฌ์ฆ์ ๋จ์ ์ ์ค๋ช ํ์์ค
- ํ๋ก์ธ์ค๊ฐ ์์ ์ด ์ฌ์ฉํ ๋ชจ๋ ์์์ ๋ฏธ๋ฆฌ ์ ์ธํด์ผ ํ๋ค. ์ค์ ๋ก ๋ถ๊ฐ๋ฅํ๋ค.
- ์์คํ ์ ์ ์ฒด ์์ ์๊ฐ ๊ณ ์ ์ ์ด์ด์ผ ํ๋ค.
- ์์์ด ๋ญ๋น๋๋ค. ๋ชจ๋ ๋ถ์์ ์ํ๊ฐ ๊ต์ฐฉ ์ํ๊ฐ ๋๋ ๊ฒ์ด ์๋๋ฐ๋ ์์์ ํ ๋นํ์ง ์๋ ๊ฒ์ ์์ ๋ญ๋น์ด๋ค.
3. ๊ต์ฐฉ ์ํ ๊ฒ์ถ ์ ํ์์์์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฅ๋จ์ ์ ์ค๋ช ํ์์ค
- ์ฅ์ :
ํน๋ณํ ์๊ณ ๋ฆฌ์ฆ ์์ด ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค. - ๋จ์ :
- ์๋ฑํ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ์ข ๋ฃ๋ ์ ์์: ๊ต์ฐฉ ์ํ ์ธ์ ๋ค๋ฅธ ์ด์ ๋ก ์์ ์ด ์งํ๋์ง ๋ชปํ๋ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ์ข ๋ฃ๋ ์ ์๋ค.
- ์ฌ๋ฌ ๊ตฐ๋ฐ์ ๋ฐ์ดํฐ๊ฐ ๋๋์ด ์๋ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ์ฐ์๋ ํ์์์์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ฉํ๊ธฐ๊ฐ ์ด๋ ต๋ค. ์๊ฒฉ์ง์ ์๋ ํ๋ก์ธ์ค์ ์๋ต์ด ๊ต์ฐฉ ์ํ ๋๋ฌธ์ธ์ง, ๋คํธ์ํฌ ๋๋ฌธ์ธ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฐ์ํ