κ΅μ°©μν(Deadlock)
λ μ΄μμ νλ‘μΈμ€κ° 곡μ μμμ 무νμ κΈ°λ€λ¦¬κ³ μκ³ κ³΅μ μμμ μ¬μ© μ€μΈ νλ‘μΈμ€λ μ§μ λκΈ° μ€μΈ νλ‘μΈμ€κ° μ§νλΌμΌλ§ λΉ μ Έλμ¬ μ μλ μν©
1. 4κ°μ§ 쑰건
- μνΈ λ°°μ (Mutual Exclusion): ν λ²μ ν νλ‘μΈμ€λ§ μμ μ¬μ©
- μ μ μ λκΈ°(Hold & Wait): 곡μ μμμ λν μ κ·Ό κΆνμ κ°κ³ μλ νλ‘μΈμ€κ° λ€λ₯Έ μμμ λν μ κ·Ό κΆνμ μꡬ
- λΉμ μ (Non-preemptive): λ€λ₯Έ νλ‘μΈμ€κ° μμ μ κ·Ό κΆνμ κ°μ λ‘ λΉΌμμ μ μλ€.
- νν λκΈ°(Circular Wait): λ κ° μ΄μμ νλ‘μΈμ€κ° μμ μ κ·Όμ κΈ°λ€λ¦¬λλ° κ·Έ κ΄κ³μ μ¬μ΄ν΄ μ‘΄μ¬
2. ν΄κ²°λ²
- μλ°© κΈ°λ²: 4κ°μ§ 쑰건 λΆμ
- ννΌ κΈ°λ²: κ΅μ°© μν λ°μ μ νΌν΄λκ°λ λ°©λ²
- μνμ μκ³ λ¦¬μ¦: νλ‘μΈμ€κ° μμμ μꡬν λ μμ€ν μ μμμ ν λΉν νμλ μμ μνλ‘ λ¨μμκ² λλμ§ μ¬μ μ κ²μ¬νμ¬ κ΅μ°© μνλ₯Ό ννΌνκ³ λΆμμ μνλ©΄ λ€λ₯Έ νλ‘μΈμ€λ€μ΄ μμμ ν΄μ§ν λκΉμ§ λκΈ°νλ€.
- λ°κ²¬ κΈ°λ², ν볡 κΈ°λ²