Deadlock
μλ―Έ
λκ° μ΄μμ νλ‘μΈμ€ νΉμ μ€λ λκ° μλ‘κ° κ°μ§ 리μμ€λ₯Ό κΈ°λ€λ¦¬λ μν
λ°μ 쑰건
1. Mutual exclusion
리μμ€λ₯Ό 곡μ ν΄μ μ¬μ©ν μ μμ
νΉμ μμ μ νΉμ κ°μ²΄λ§ 리μμ€λ₯Ό μ μ ν μ μμ
2. Hold and wait
νλ‘μΈμ€λ μ°λ λκ° μ΄λ―Έ νλ μ΄μμ 리μμ€λ₯Ό μ·¨λν(hold) μνμμ λ€λ₯Έ νλ‘μΈμ€κ° μ¬μ©νκ³ μλ 리μμ€λ₯Ό μΆκ°λ‘ κΈ°λ€λ¦Ό(wait)
3. No preemption
리μμ€ λ°ν(releas)μ μ€μ§ κ·Έ 리μμ€λ₯Ό μ·¨λν νλ‘μΈμ€λ§ ν μ μμ
4. Circular wait
νλ‘μΈμ€λ€μ΄ μν(circular) ννλ‘ μλ‘μ 리μμ€λ₯Ό κΈ°λ€λ¦Ό
OSκ° λ°λλ½μ ν΄κ²°νλ λ°©λ²
1. λ°λλ½ λ°©μ§
λ°μ 쑰건 4κ°μ§ μ€ νλκ° μΆ©μ‘±λμ§ μκ² μμ€ν μ λμμΈ
Mutual exclusion : 리μμ€λ₯Ό 곡μ κ°λ₯νκ² ν¨
Hold and wait : μ¬μ©ν 리μμ€λ€μ λͺ¨λ νλν λ€μ μμ or λͺ¨λ 리μμ€λ₯Ό μ ν κ°μ§ μμ μνμμλ§ λ¦¬μμ€ μμ²
No preemption : μΆκ°μ μΈ λ¦¬μμ€λ₯Ό κΈ°λ€λ €μΌ νλ€λ©΄ μ΄λ―Έ νλν 리μμ€λ₯Ό λ€λ₯Έ νλ‘μΈμ€κ° μ μ κ°λ₯νλλ‘ ν¨
Circular wait : λͺ¨λ 리μμ€μ μμ 체κ³λ₯Ό λΆμ¬ν΄μ μ€λ¦μ°¨μμΌλ‘ 리μμ€λ₯Ό μμ²
2. λ°λλ½ ννΌ (Deadlock avoidance)
μ€ν νκ²½μμ μΆκ°μ μΈ μ 보λ₯Ό νμ©ν΄μ λ°λλ½μ΄ λ°μν κ² κ°μ μν©μ ννΌνλ κ²
3. λ°λλ½ κ°μ§μ 볡ꡬ
λ°λλ½μ νμ©νκ³ λ°λλ½μ΄ λ°μνλ©΄ 볡ꡬνλ μ λ΅
λ°©λ² 1 : λ°λλ½ κ΄λ ¨ νλ‘μΈμ€ κ°μ μ’ λ£
λ°©λ² 2 : 리μμ€μ μΌμμ μΈ μ μ μ νμ©(λ€λ₯Έ νλ‘μΈμ€κ° νλν 리μμ€λ₯Ό λΊμ΄κ° μ μλλ‘ νμ©)
4. λ°λλ½ λ¬΄μ
μ무κ²λ μν¨
κ°λ°μκ° μ΄ν리μΌμ΄μ κ³μΈ΅μμ μμμ νκ² νλ κ²
Last updated