ν°μ€ν 리 λ·°
μ΄μ체μ : νλ‘μΈμ€ λκΈ°ν - κ΅μ°©μν
dirmathfl 2020. 6. 20. 00:48νλ‘μΈμ€ λκΈ°νκ° μ μ ν μ€κ³λμ§ μμ, μμ¬νλ μ² νμ λ¬Έμ μ²λΌ λͺ¨λ νλ‘μΈμ€κ° λ μ΄μ μμ μ μ§νν μ μλ deadlock(κ΅μ°©μν)μ λΉ μ§ μ μλ€. λ¨μν νλ‘κ·Έλ¨μ΄ μλ, μ΄μ체μ μμ κ΅μ°©μνκ° λ°μνλ κ²μ λ€μ μΉλͺ μ μ΄λ€.
κ΅μ°©μν νμ 쑰건
-
Mutual Exclusion : ν νλ‘μΈμ€κ° μμμ μ¬μ© μ€μ΄λΌλ©΄, λ€λ₯Έ νλ‘μΈμ€λ μ¬μ©ν μ μλ€.
-
Hold and Wait : ν νλ‘μΈμ€κ° νΉμ μμμ κ°μ§ μνμμ λκΈ°μ λΉ μ§λ€.
-
No Preemption : ν νλ‘μΈμ€κ° μ§ν μ€μ΄λΌλ©΄, λ€λ₯Έ νλ‘μΈμ€κ° λΌμ΄λ€ μ μλ€.
-
Circular Wait : νλ‘μΈμ€κ° μμ νλμ μν΄ μν λ°©ν₯μ μ΄λ£¬λ€. (μμ¬νλ μ² νμ)
κ΅μ°© μνλ μμ 4κ°μ§ μ‘°κ±΄μ΄ μμ κ²½μ°, λ°μν κ°λ₯μ±μ΄ 컀μ§κ² λλ€.
(νμ 쑰건μ λ§μ‘±νλ€κ³ νμ¬ λ¬΄μ‘°κ±΄ λ°μνλ κ²μ μλλ€.)
κ΅μ°©μν μ²λ¦¬
κ΅μ°©μνλ₯Ό λ°μμν€μ§ μκΈ° μν΄μλ ν¬κ² 2κ°μ§ λ°©λ²μΌλ‘ ν΄κ²°ν μ μλ€. 첫 λ²μ§Έλ κ΅μ°©μνλ₯Ό λ°©μ§νλ λ°©λ²μ΄λ©°, λ λ²μ§Έλ κ΅μ°©μνλ₯Ό ννΌνλ λ°©λ²μ΄λ€.
κ΅μ°©μν λ°©μ§
-
Mutual Exclusion : μ΄λ₯Ό λ°©μ§νκΈ° μν΄μλ μμμ 곡μ κ°λ₯ν μνλ‘ λ§λ€λ©΄ λμ§λ§, λΆκ°λ₯ν κ²½μ°κ° μλ€.
-
Hold and Wait : μ¬λ¬ κ°μ μμ νλμ΄ νμνλ€λ©΄, νμν μμμ λͺ¨λ μ¬μ©κ°λ₯ν κ²½μ°μλ§ μμμ μμ²ν μ μλλ‘ νμ¬ λ°©μ§ν μ μλ€. νμ§λ§ μ΄ κ°μ κ²½μ° μμ μ¬μ©λ₯ μ λ¨μ΄νΈλ¦¬λ©° μ΅μ μ κ²½μ° starvationμ΄ λ μλ μλ€.
-
No Preemption : PreemptionμΌλ‘ λ³κ²½νλ©΄ λμ§λ§, μμμ λ°λΌ λΆκ°λ₯ν κ²½μ°λ μλ€.
-
Circular Wait : μμμ κ³ μ λ²νΈλ₯Ό μ§μ νμ¬ μμμ λ°λΌ μμμ μμ²νλ©΄ ν΄κ²° ν μ μμ§λ§, μ΄ μμ μμ μ¬μ©λ₯ μ λ¨μ΄νΈλ¦¬κ² λλ€.
κ΅μ°©μν ννΌ
κ΅μ°©μν ννΌμ κ²½μ°, μμ ν λΉ μνμ λ°λΌ Safe Allocation, Unsafe AllocationμΌλ‘ ꡬλΆνλ€. μλ₯Ό λ€μ΄ μμ ν λΉ μνμ λ°λΌ κ΅μ°©μνλ₯Ό λ°μμν€μ§ μμΌλ©΄ Safe Allocationμ΄λ©°, μ΄μ λ°λμΌ κ²½μ° Unsafe Allocationμ΄λ€. μ΄λ Banker Algorithmμ ν΅ν΄ κ²μΆνλ©° μ΄ μμ κ΅μ°©μν λ°μ μ¬λΆλ₯Ό νλ¨νμ¬ μμμ ν λΉνκ² λλ―λ‘ μμ νμ©λ₯ μ λ¨μ΄νΈλ¦°λ€λ λ¨μ μ κ°μ§κ³ μλ€.
κ΅μ°©μν κ²μΆ λ° λ³΅κ΅¬
μμ λ°©λ²λ€μ μ¬μ μ κ΅μ°©μνκ° μΌμ΄λμ§ μλλ‘ λ°©μ§νκ±°λ, ννΌνλ λ°©μμ΄μλ€. μ΄μ λ¬λ¦¬ κ²μΆ λ° λ³΅κ΅¬ λ°©λ²μ κ΅μ°©μνλ₯Ό νμ©νκ³ κ΅μ°©μνλ₯Ό μ¬λΆλ₯Ό νλ¨νμ¬ λ³΅κ΅¬κ° κ°λ₯νλλ‘ νλ λ°©λ²μ΄λ€.
κ΅μ°©μνλ₯Ό 볡ꡬ νκΈ° μν΄μλ κ΅μ°©μν μ΄μ μΌλ‘ 볡ꡬ νκ±°λ, κ΅μ°©μνλ₯Ό λ°μμν€λ νλ‘μΈμ€λ₯Ό κ°μ μ’ λ£νμ¬ μμμ μ μ ν μ μλλ‘ νλ λ°©λ²μ΄ μλ€.
κ΅μ°©μν κ²μΆ λ° λ³΅κ΅¬λ₯Ό μν΄ κ²μΆ μ£ΌκΈ°λ₯Ό μ€μ νλ κ³Όμ μμ λλ λ§μ λΉ μ§κ² λλ€. 첫 λ²μ§Έλ‘ κ²μΆ μ£ΌκΈ°λ₯Ό λΉλ²νκ² μ§μ νλ€λ©΄ λΉ λ₯Έ κ²μΆ λ° λ³΅κ΅¬κ° κ°λ₯νκ² μ§λ§ ν΄λΉ κ³Όμ μ μ€λ²ν€λκ° λμ΄ λ€λ₯Έ μμ μ μν₯μ λ―ΈμΉκ² λ κ²μ΄λ€. μ΄μ λ°λμ κ²½μ°, μ£ΌκΈ°κ° κΈΈμ΄μ§κ² λλ©΄ κ²μΆ λ° λ³΅κ΅¬κ° μ§μ°λμ΄ μ μμ μΌλ‘ 볡ꡬλμ§ λͺ»νλ μν©μ΄ λ°μν μ μλ€.
κ΅μ°©μν 무μ
μ€μ μ΄μ체μ μμ κ΅μ°©μνλ λλ¬Όλ©°, κ΅μ°©μνλ₯Ό μ²λ¦¬νκΈ° μν κ³Όμ λ€μ΄ μ€λ²ν€λκ° λλ νκ²½μμλ κ΅μ°©μνμ λν μ²λ¦¬λ₯Ό νμ§ μκ³ λ¬΄μνλ κ²½μ°λ μλ€.
'ποΈββοΈ κΈ°λ° λ€μ§κΈ° > μ΄μ체μ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ΄μ체μ : μ£ΌκΈ°μ΅μ₯μΉ κ΄λ¦¬ (0) | 2020.06.21 |
---|---|
μ΄μ체μ : νλ‘μΈμ€ λκΈ°ν - λͺ¨λν° (0) | 2020.06.20 |
μ΄μ체μ : νλ‘μΈμ€ λκΈ°ν - μμ±μ β μλΉμ (0) | 2020.06.20 |
μ΄μ체μ : νλ‘μΈμ€ λκΈ°ν - μΈλ§ν¬μ΄ (0) | 2020.06.19 |
μ΄μ체μ : νλ‘μΈμ€μ μ°λ λ (0) | 2020.06.19 |