λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
⭐ Group_Study/Operating System

[4μ£Όμ°¨] Deadlock: Deadlock Model

by ν¬μŠ€νŠΈμ‰μ΄ν¬ 2022. 12. 23.

Deadlock: Deadlock Model

Deadlock λ°œμƒμ˜ 예

βœ” 2개의 ν”„λ‘œμ„ΈμŠ€(P1, P2)
βœ” 2개의 μžμ›(R1, R2)

βœ” P1은 P2κ°€ 가지고 μžˆλŠ” R1을, P2λŠ” P1이 가지고 μžˆλŠ” R2λ₯Ό μš”μ²­ν•˜κ³  μžˆλ‹€ -> μ„œλ‘œ λ°œμƒ κ°€λŠ₯성이 μ—†λŠ” 이벀트λ₯Ό 기닀리고 μžˆμœΌλ―€λ‘œ deadlock!

Deadlock Model(ν‘œν˜„λ²•)

  1. Graph Model
  2. State Transition Model

Graph Model

βœ” Node

  • ν”„λ‘œμ„ΈμŠ€ λ…Έλ“œ(P1, P2), μžμ› λ…Έλ“œ(R1, R2)

βœ” Edge

  • $R_j$ -> $P_i$: μžμ› $R_j$이 ν”„λ‘œμ„ΈμŠ€ $P_i$에 ν• λ‹Ή 됨
  • $P_i$ -> $R_j$: ν”„λ‘œμ„ΈμŠ€ $P_i$κ°€ μžμ› $R_j$을 μš”μ²­(λŒ€κΈ° 쀑)

βœ” Cycle 생성 μ‹œ Deadlock!

State Transition Model

βœ” μ—μ œ

  • 2개의 ν”„λ‘œμ„ΈμŠ€μ™€ Atype의 μžμ› 2개(unit) 쑴재
  • ν”„λ‘œμ„ΈμŠ€λŠ” ν•œλ²ˆμ— μžμ› ν•˜λ‚˜λ§Œ μš”μ²­/λ°˜λ‚© κ°€λŠ₯

βœ” State: ν”„λ‘œμ„ΈμŠ€κ°€ 1개일 λ•Œ

βœ” State: ν”„λ‘œμ„ΈμŠ€κ°€ 2개일 λ•Œ

Deadlock λ°œμƒμ˜ ν•„μš” 쑰건

βœ” μžμ›μ˜ νŠΉμ„±

  • Exclusive use of resources
  • Non - preemptible resources

βœ” ν”„λ‘œμ„ΈμŠ€μ˜ νŠΉμ„±

  • Hold and Wait(Partial allocation)
    • μžμ›μ„ ν•˜λ‚˜ holdν•˜κ³  λ‹€λ₯Έ μžμ› μš”μ²­
  • Circular wait

λŒ“κΈ€