1.Deadlock
Resource
Resource-Allocation Graph
Deadlock ์์
2.Deadlock ๋ฐ์ ์กฐ๊ฑด
3.Deadlock ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
Deadlock Prevention
Deadlock Avoidance
Resource Alloc Algorithm, Banker's Algorithm
Deadlock Detection and Recovery
Deadlock Ignorance
โ ์ผ๋ จ์ ํ๋ก์ธ์ค๋ค์ด ์๋ก๊ฐ ๊ฐ์ง ์์์ ๊ธฐ๋ค๋ฆฌ๋ฉฐ block๋ ์ํ, ๊ต์ฐฉ์ํ
- ํ๋์จ์ด, ์ํํธ์จ์ด ๋ฑ์ ํฌํจํ๋ ๊ฐ๋
- IO device, CPU cycle, memory space, semaphore
- ํ๋ก์ธ์ค๊ฐ ์์์ ์ฌ์ฉํ๋ ์ ์ฐจ(์ผ๋ จ์ ๊ณผ์ )
- request -> allocate -> use -> release
์์ ํ ๋น ๊ทธ๋ํ๋ ๊ต์ฐฉ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ ํฅ ๊ทธ๋ํ
G = (V, E)
V : ์ ์ (vertex์ ์งํฉ)
1. ํ๋ก์ธ์ค ์งํฉ P = {P1, P2, ..., Pn}
2. ์์ ํํ ์งํฉ R = {R1, R2, ..., Rn}
E : ๊ฐ์ (edge)์ ์งํฉ, Pi -> P, Rj -> R
์์ฒญ ์์ง : Pi -> Rj
ํ ๋น ์์ง : Rj -> Pi
1. ์์ฒญ :์์ฒญ ์์ง๋ฅผ ์์ฑ
2. ์ฌ์ฉ :์์ฒญ ์์ง๋ฅผ ํ ๋น ์์ง๋ก ๋ณํ
3. ํด์ :ํ ๋น ์์ง๋ฅผ ์ญ์
์์ ํ ๋น ๊ทธ๋ํ๋ฅผ ํตํ ๊ต์ฐฉ ์ํ ํ๋ณ
- ์์ ํ ๋น ๊ทธ๋ํ๊ฐ ์ฌ์ดํด์ ๊ฐ์ง๊ณ ์์ง ์์ผ๋ฉด, ๊ต์ฐฉ ์ํ๊ฐ ์๋
- ์์ ํ ๋น ๊ทธ๋ํ๊ฐ ์ฌ์ดํด์ ๊ฐ์ง๊ณ ์์ผ๋ฉด, ๊ต์ฐฉ ์ํ์ผ ์๋ ์๋ ์๋ ์์
- ๊ฐ ์์ ์ ํ์ ์๊ฐ ํ๋์ธ ๊ฒฝ์ฐ :ํ์ ์ถฉ๋ถ ์กฐ๊ฑด (deadlock)
- ๊ฐ ์์ ์ ํ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ :ํ์ ์กฐ๊ฑดo, ์ถฉ๋ถ ์กฐ๊ฑดx (deadlock O, deadlock X)
- ๊ต์ฐฉ ์ํ์ ์์ ํ ๋น ๊ทธ๋ํ
์ฌ์ดํด 2๊ฐ ์กด์ฌ, ๊ต์ฐฉ ์ํ์
1. P1 -> R1 -> P2 -> R3 -> P3 -> R2 -> P1
2. P2 -> R3 -> P3 -> R2 -> P2
- ์ฌ์ดํด์ด ์์ผ๋ ๊ต์ฐฉ ์ํ๊ฐ ์๋ ์์ํ ๋น ๊ทธ๋ํ
์ฌ์ดํด 1๊ฐ ์กด์ฌ, ๊ต์ฐฉ ์ํ ์๋
- P4์ ํ ๋น๋ R2๊ฐ ํด์ ๋์ด P2์ ํ ๋น๋ ์ ์๊ธฐ ๋๋ฌธ
- P2, P4๊ฐ ์์๊ณผ ๋ฌด๊ดํ๊ฒ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ deadlock ์๋
์์์ ๋์ ์ถฉ์กฑํ ์ ์์ ๋ ๋ฒ์ด์ง
- deadlock first case
- ์์คํ ์ 2๊ฐ์ tape drive๊ฐ ์๋ค.
- ํ๋ก์ธ์ค p1๊ณผ p2 ๊ฐ๊ฐ ํ๋์ ๋ค๋ฅธ tape drive๋ฅผ ๋ณด์ ํ ์ฑ ๋ค๋ฅธ ํ๋๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค.
- deadlock second case
- ์ด์ง ์ธ๋งํฌ์ด A์ B๊ฐ ์๋ค.
- ํ๋ก์ธ์ค P1์ด ์์์ ์ป์ ์ํ์์ context switch๊ฐ ๋ฐ์ํ์ฌ ํ๋ก์ธ์ค P2์๊ฒ cpu ์ ์ด๊ถ์ด ๋์ด๊ฐ๊ณ , ํ๋ก์ธ์ค p2๊ฐ B ์์์ ์ป์๋ค.
- ๋ค์ context switch๊ฐ ๋ฐ์ํ์ฌ ํ๋ก์ธ์ค p1์๊ฒ cpu ์ ์ด๊ถ์ด ๋์ด๊ฐ๊ณ , ํ๋ก์ธ์ค p1์ด b ์์์ ์ป๊ณ ์ถ์ดํ์ง๋ง ์ด๋ฏธ ํ๋ก์ธ์ค p2๊ฐ B์์์ ๊ฐ์ง๊ณ ์๋ค.
- ๋ง์ฐฌ๊ฐ์ง๋ก ํ๋ก์ธ์ค P2๊ฐ A์์์ ์ป๊ณ ์ถ์ดํ์ง๋ง ์ด๋ฏธ ํ๋ก์ธ์ค P1์ด A์์์ ๊ฐ์ง๊ณ ์๋ค.
- ๋ฌดํํ ์๋ก๋ฅผ ๊ธฐ๋ค๋ฆฐ๋ค.
- ์ํธ ๋ฐฐ์ , Mutual exclusion
- ๋์์ ๋ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ์์์ ์ ๊ทผํ ์ ์๋ค.
- ๋น์ ์ , No preemption
- ํ๋ก์ธ์ค๋ ์์์ ๋ด๋์ ๋ฟ ๊ฐ์ ๋ก ๋นผ์๊ธฐ์ง ์์
- ์ ์ ๋๊ธฐ, Hold and wait
- ์์์ ๊ฐ์ง ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ์์์ ๊ธฐ๋ค๋ฆด ๋ ๋ณด์ ์์์ ๋์ง ์๊ณ ๊ณ์ ๊ฐ์ง๊ณ ์์
- ์ํ ๋๊ธฐ, Circular wait
- ์์์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค ๊ฐ์ ์ฌ์ดํด์ด ํ์ฑ๋์ด์ผ ํจ.
- ํ๋ก์ธ์ค {P0, P1, ... Pn}๊ฐ ์๋ค๋ฉด P0 โ P1 โ P2 โ ..Pn โ P0
์ 4๊ฐ์ง ์กฐ๊ฑด์ด ๋์์ ์ฑ๋ฆฝํ ๋ ๋ฐ์ํฉ๋๋ค.
- Deadlock Prevention, ๊ต์ฐฉ ์ํ ์๋ฐฉ
- ์์ ํ ๋น ์ ๋ฐ๋๋ฝ์ 4๊ฐ์ง ํ์ ์กฐ๊ฑด ์ค ์ด๋ ํ๋๊ฐ ๋ง์กฑ๋์ง ์๋๋ก ํ๋ ๊ฒ
- Deadlock Avoidance, ๊ต์ฐฉ ์ํ ํํผ
- ์์ ์์ฒญ์ ๋ํ ๋ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ด์ฉํด์ ๋ฐ๋๋ฝ์ ๊ฐ๋ฅ์ฑ์ด ์๋ ๊ฒฝ์ฐ์๋ง ์์์ ํ ๋น
- ์์คํ ์ํ๊ฐ ์๋ ์ํ๋ก ๋์์ฌ ์ ์๋ ๊ฒฝ์ฐ์๋ง ์์ ํ ๋น
- Deadlock Detection and recovery, ๊ต์ฐฉ ์ํ ํ์ง
- ๋ฐ๋๋ฝ ๋ฐ์์ ํ์ฉํ๋ ๊ทธ์ ๋ํ ํ์ง ๋ฃจํด์ ๋์ด ๋ฐ๋๋ฝ ๋ฐ๊ฒฌ์ ํ๋ณต
- Deadlock Ignorance, ๊ต์ฐฉ ์ํ ๋ฌด์
- ๋ฐ๋๋ฝ์ ์์คํ ์ด ์ฑ ์์ง์ง ์์
- unix๋ฅผ ํฌํจํ ๋๋ถ๋ถ์ os๊ฐ ์ฑํ
โ ์ํํํ
๊ต์ฐฉ ์ํ ๋ฐ์ ์กฐ๊ฑด ์ค ํ๋๋ฅผ ์ ๊ฑฐํจ์ผ๋ก ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ. ์์์ ๋ญ๋น๊ฐ ์ฌํ๋ค๋ ๋จ์ ์ด ์กด์ฌํ๋ค.
- Mutual exclusion, ์ํธ ๋ฐฐ์ ๋ถ์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ์์์ ์ฌ์ฉํ๋๋ก ํ๋ค.
- ๊ณต์ ํด์๋ ์๋๋ ์์์ ๊ฒฝ์ฐ ๋ฐ๋์ ์ฑ๋ฆฝํด์ผ ํจ.
- Hold and wait, ์ ์ ๋๊ธฐ ๋ถ์ ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ธฐ ์ ํ์ํ ๋ชจ๋ ์์์ ํ ๋นํ๋ค.
- ํ๋ก์ธ์ค๊ฐ ์์์ ์์ฒญํ ๋ ๋ค๋ฅธ ์ด๋ค ์์๋ ๊ฐ์ง๊ณ ์์ง ์์์ผ ํจ.
- ํ๋ก์ธ์ค ์์ ์ ๋ชจ๋ ํ์ํ ์์์ ํ ๋น ๋ฐ๊ฒ ํ๋ ๋ฐฉ๋ฒ
- ์์์ด ํ์ํ ๊ฒฝ์ฐ ๋ณด์ ์์์ ๋ชจ๋ ๋๊ณ ๋ค์ ์์ฒญ
- ํ๋ก์ธ์ค๊ฐ ์์์ ์์ฒญํ ๋ ๋ค๋ฅธ ์ด๋ค ์์๋ ๊ฐ์ง๊ณ ์์ง ์์์ผ ํจ.
- No preemption, ๋น์ ์ ๋ถ์ ์์ ์ ์ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ์์์ ์๊ตฌํ ๋ ์ ์ ์ค์ธ ์์์ ๋ฐ๋ฉํ๊ณ ์๊ตฌํ ์์์ ์ฌ์ฉํ๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๊ฒ ํ๋ค.
- ํ๋ก์ธ์ค๊ฐ ์ด๋ค ์์์ ๊ธฐ๋ค๋ ค์ผ ํ๋ ๊ฒฝ์ฐ ์ด๋ฏธ ๋ณด์ ํ ์์์ด ์ ์ ๋จ
- ๋ชจ๋ ํ์ํ ์์์ ์ป์ ์ ์์ ๋ ๊ทธ ํ๋ก์ธ์ค๋ ๋ค์ ์์๋จ
- ์ํ๋ฅผ ์ฝ๊ฒ ์ ์ฅํ๊ณ ๋ณต๊ตฌํ ์ ์๋ ์์์์ ์ฃผ๋ก ์ฌ์ฉ(CPU(context๋ฅผ ์ ์ฅํด๋๊ธฐ ๋๋ฌธ์ ๋บ๊ธฐ ๊ฐ๋ฅ), memory๋ ๋นผ์์ ์ ์์)
- Circular wait, ์ํ ๋๊ธฐ ๋ถ์ ์์์ ๊ณ ์ ํ ๋ฒํธ๋ฅผ ํ ๋นํ๊ณ ๋ฒํธ ์์๋๋ก ์์์ ์๊ตฌํ๋๋ก ํ๋ค.
- ๋ชจ๋ ์์ ์ ํ์ ํ ๋น ์์๋ฅผ ์ ํ์ฌ ์ ํด์ง ์์๋๋ก๋ง ์์์ ํ ๋น
- ex) ์์๊ฐ 3์ธ ์์ Ri๋ฅผ ๋ณด์ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์์๊ฐ 1์ธ ์์ Rj๋ฅผ ํ ๋น ๋ฐ๊ธฐ ์ํด์๋ ์ฐ์ Ri๋ฅผ ๋ฐ๋ฉํด์ผ ํจ
- ๋ชจ๋ ์์ ์ ํ์ ํ ๋น ์์๋ฅผ ์ ํ์ฌ ์ ํด์ง ์์๋๋ก๋ง ์์์ ํ ๋น
์๋ฐฉ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ฒ ๋ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ์ โ utilization ์ ํ(system ์ ์ฅ), throughput ๊ฐ์(system ์ ์ฅ), starvation ๋ฌธ์ (process ์ ์ฅ)
๊ต์ฐฉ ์ํ๊ฐ ๋ฐ์ํ๋ฉด ํผํด๋๊ฐ๋ ๋ฐฉ๋ฒ.
- ํ๋ก์ธ์ค๊ฐ ์์์ ์๊ตฌํ ๋, ์์คํ ์ ์์์ ํ ๋นํ ํ์๋ ์์ ์ํ๋ก ๋จ์์๊ฒ ๋๋์ง๋ฅผ ๊ฒ์ฌํ์ฌ ๊ต์ฐฉ ์ํ๋ฅผ ํํผํ๋ ๊ธฐ๋ฒ์ด๋ค.
- ์์ ์ํ์ ์์ผ๋ฉด ์์์ ํ ๋นํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ด ์์์ ํด์ ํ ๋๊น์ง ๋๊ธฐํ๋ค.
- ์์คํ ์ด ์์ ์ํ์ ์์ผ๋ฉด ๋ฐ๋๋ฝ์ด ์๋๊ณ , ๋ถ์์ ์ํ์ ์์ผ๋ฉด ๋ฐ๋๋ฝ์ ๊ฐ๋ฅ์ฑ์ด ์๋ค. ๋ฐ๋๋ฝ ํํผ๋ ์์คํ ์ด ๋ถ์์ ์ํ์ ๋ค์ด๊ฐ์ง ์๋ ๊ฒ์ ๋ณด์ฅ.
์์ ์ ํ 1๊ฐ ๋น 1๊ฐ์ ์ธ์คํด์ค ์กด์ฌ โ ์์ ํ ๋น ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ
์์ ์ ํ 1๊ฐฑ ๋น 2๊ฐ ์ด์์ ์ธ์คํด์ค ์กด์ฌ โ ์ํ์ ์๊ณ ๋ฆฌ์ฆ, bankerโs algorithm๊ต์ฐฉ ์ํ ํํผ๋ฅผ ํ๊ธฐ ์ํด ์์์ผํ๋ ์ถ๊ฐ์ ์ธ ์ ๋ณด
- safe state, ์์ ์ํ
- ์์คํ ๋ด์ ํ๋ก์ธ์ค๋ค์ ๋ํ safe sequence๊ฐ ์กด์ฌํ๋ ์ํ
- safe sequence, ์์ ์์์ด
- ํ๋ก์ธ์ค sequence <P1, P2, P3, ..., Pn>์ด safe ํ๋ ค๋ฉด Pi์ ์์ ์์ฒญ์ด ๊ฐ์ฉ ์์ + ๋ชจ๋ Pj(j < i)์ ๋ณด์ ์์ ์ ์ํด ์ถฉ์กฑ๋์ด์ผ ํจ
- ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ๋ค์ ๋ฐฉ๋ฒ์ผ๋ก ๋ชจ๋ ํ๋ก์ธ์ค์ ์ํ ๋ณด์ฅ
- Pi์ ์์ ์์ฒญ์ด ์ฆ์ ์ถฉ์กฑ๋ ์ ์์ผ๋ฉด ๋ชจ๋ Pj๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค.
- Pi-1์ด ์ข ๋ฃ๋๋ฉด Pi์ ์์ ์์ฒญ์ ๋ง์กฑ์์ผ ์ํํ๋ค.
- ์์ ํ ๋น ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ
- ์ํ์ ์๊ณ ๋ฆฌ์ฆ
- Claim edge Pi -> Rj
- ํ๋ก์ธ์ค Pi๊ฐ ์์ Rj๋ฅผ ๋ฏธ๋์ ์์ฒญํ ์ ์์์ ๋ปํจ(์ ์ )
- ํ๋ก์ธ์ค๊ฐ ํด๋น ์์ ์์ฒญ์ request edge๋ก ๋ฐ๋(์ค์ )
- Rj๊ฐ release๋๋ฉด assignment edge๋ ๋ค์ claim edge๋ก ๋ฐ๋๋ค.
- request edge์ assignment edge ๋ณ๊ฒฝ ์ (์ ์ ์ ํฌํจํ์ฌ) cycle์ด ์๊ธฐ์ง ์๋ ๊ฒฝ์ฐ์๋ง ์์ฒญ ์์์ ํ ๋นํ๋ค.
- cycle ์์ฑ ์ฌ๋ถ ์กฐ์ฌ์ ํ๋ก์ธ์ค์ ์๊ฐ n์ผ ๋ O(n^2) ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
- 5๊ฐ์ ํ๋ก์ธ์ค, processes => P0, P1, P2, P3, P4
- 3๊ฐ์ ์์ ํํ, resource types => A(10), B(5), C(7) / 10 5 7
- safety algorithm์ ์ํด์ sequence <P1, P3, P4, P2, P0>๊ฐ ์กด์ฌํ๋ฏ๋ก ์์คํ ์ safe state
- banker's๋ ์์์ ์ค ์ ์์์๋ ๋ถ๊ตฌํ๊ณ ๋ถ์์ ์ด ๋ฐ์ํ ์ ์์ผ๋ฉด ์์์ ์ฃผ์ง ์๋๋ค. ์ ๋ฆฌํ๋ฉด ์์์ ์ต๋๋ก ์์ฒญํ์ ๋ ๊ทธ๊ฒ์ ๊ฐ์ฉ์์์ผ๋ก ์ถฉ์กฑํ ์ ์๋ ์ํฉ์ด๋ผ๋ฉด ์์ ์์์ ๋ด๋์ง ์์.
- Need <= Available์ด๋ผ๋ฉด ์์์ ๋ด์ค
๋ฐ๋๋ฝ ๋ฐ์์ ํ์ฉํ๋ ๊ทธ์ ๋ํ ํ์ง ๋ฃจํด์ ๋์ด ๋ฐ๋๋ฝ ๋ฐ๊ฒฌ์ ํ๋ณต
ํ์ง๋ ์๋ฐฉ์๊ณผ ๋๊ฐ์ด ํจ
- Resource type ๋น single instance์ธ ๊ฒฝ์ฐ
- ์์ํ ๋น ๊ทธ๋ํ์์์ cycle์ด ๊ณง deadlock์ ์๋ฏธ
- Resource type ๋น multiple instance์ธ ๊ฒฝ์ฐ
- banker's algorithm๊ณผ ์ ์ฌํ ๋ฐฉ๋ฒ ํ์ฉ
- Resource type ๋น single instance์ธ ๊ฒฝ์ฐ
- Wait-for graph
- ์์ํ ๋น ๊ทธ๋ํ์ ๋ณํ (์์์ ๋นผ๊ณ ๊ทธ๋ฆฌ๋ฉด ๋จ!)
- ํ๋ก์ธ์ค๋ง์ผ๋ก node ๊ตฌ์ฑ
- PJ๊ฐ ๊ฐ์ง๊ณ ์๋ ์์์ Pk๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒฝ์ฐ Pk -> Pj
- Algorithm
- Wait for graph์ ์ฌ์ดํด์ด ์กด์ฌํ๋์ง๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์กฐ์ฌ
- O(n^2)
- 5 processes :P0, P1, P2, P3, P4
- 3 resource types : A(7), B(2), C(6)
- No deadlock sequence <P0, P2, P3, P1, P4> ๋ก ๋์ ๊ฐ๋ฅ
- request๋ ์ถ๊ฐ ์์ฒญ๊ฐ๋ฅ๋์ด ์๋๋ผ ํ์ฌ ์ค์ ๋ก ์์ฒญํ ์์๋์ ๋ํ๋
- bankers๋ ํญ์ ์ต๋ ์์ ์์ฒญ์ ๋ง์กฑ์ํค๋ ๊ฒ์ ์ฐ์ ํ ๋น์ ํ๊ณ ๊ทธ๋ ์์ด ์ข ๋ฃํ๋ฉด ๊ฐ์ฉ์์์ด ์ฆ๊ฐํ๊ณ ๋ ์ต๋ ์์ ์์ฒญ์ ๋ง์กฑํ ์ ์๋ ์์๋ฅผ ์ฐพ์์ ์ํํ๋ ๋ฐฉ์, safeํ๋ ๊ฒ์ ๋ณด์ฅ! => deadlock ๋ฐ์ x
- Process termination
- ๋ชจ๋ ๊ต์ฐฉ ์ํ์ ํ๋ก์ธ์๋ฅผ ์ค๋จํ๋ค.
- ๋ฐ๋๋ฝ ์ฌ์ดํด์ด ์์ด์ง ๋๊น์ง ํ๋์ฉ ํ๋ก์ธ์ค๋ฅผ ์ค๋จ
- Resource Preemption
- ๋น์ฉ์ ์ต์ํํ victim ์ ์
- safe state๋ก rollbackํ์ฌ process restart
- Starvation ๋ฌธ์
- ๋์ผํ ํ๋ก์ธ์ค๊ฐ ๊ณ์ํด์ victim์ผ๋ก ์ ์ ๋๋ ๊ฒฝ์ฐ
- cost factor์ rollback ํ์๋ ๊ฐ์ด ๊ณ ๋ ค, ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ๊ณ ๋ คํด๋ณด์.
๋ฐ๋๋ฝ์ ์์คํ ์ด ์ฑ ์์ง์ง ์์
- ๋ฐฉ๋ฒ๋ ์๋๋ผ๊ณ ํ์ฌ.. ํ์ง๋ง ํ๋ ์ด์์ฒด์ ๋ ์ด ๋ฐฉ๋ฒ์ ๊ณ ์ํ๊ณ ์์. ๊ทธ๋ผ ์ฐ๋ฆฐ ์ฌํ ์ ์ด๊ฒ์ ๋ฐฐ์ด ๊ฒ์ธ๊ฐ.. ์ด์์ฒด์ ์์ ๊ณ ์ ์ ์ธ ๋ฌธ์ deadlock์ด๋๊น ๊ทธ๋๋ ์์๋ผ.. ์ค์์ฑ์ด ๋ฎ์ chapter๋ผ๊ณ ํ์ฌ..
- deadlock์ด ์ผ์ด๋์ง ์๋๋ค๊ณ ์๊ฐํ๊ณ ์๋ฌด๋ฐ ์กฐ์น๋ ์ทจํ์ง ์์
- deadlock์ด ๋งค์ฐ ๋๋ฌผ๊ฒ ๋ฐ์ํ๋ฏ๋ก deadlock์ ๋ํ ์กฐ์น ์์ฒด๊ฐ ์ค๋ฒํค๋์ผ ์ ์์
- ๋ง์ฝ ์์คํ ์ ๋ฐ๋๋ฝ์ด ๋ฐ์ํ ๊ฒฝ์ฐ ๋น์ ์์ ์ผ๋ก ์๋ํ๋ ๊ฒ์ด ์ฌ๋์ด ์ง์ process๋ฅผ ์ฃฝ์ด๋ ๋ฑ์ ๋ฐฉ๋ฒ์ผ๋ก ๋์ฒ.. ์ญ์ ์ ์ ๋๊ธฐ ๊ตญ๋ฃฐ
- unix, windows ๋ฑ ๋๋ถ๋ถ์ ๋ฒ์ฉ os๊ฐ ์ฑํ
- Deadlock์ด๋ ๋ฌด์์ธ๊ฐ์?
- deadlock ๋ฐ์ ์กฐ๊ฑด์ด ์๋์? ์๋ค๋ฉด ์กฐ๊ฑด์ ๋งํด์ฃผ์ธ์
- deadlock ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์๋ ๋ฌด์์ด ์๋์?
3-1. deadlock prevention์ด ๋ฌด์์ธ๊ฐ์?
3-2. deadlock avoidance๊ฐ ๋ฌด์์ธ๊ฐ์?
3-3. deadlock detection and recovery๊ฐ ๋ฌด์์ธ๊ฐ์?






