κ΅μ°©μƒνƒœ(Deadlock)

2020. 5. 13. 12:45Β·πŸ“ Computer Science/✏ OS

κ΅μ°©μƒνƒœ(Deadlock)

λ‘˜ μ΄μƒμ˜ ν”„λ‘œμ„ΈμŠ€κ°€ 곡유 μžμ›μ„ λ¬΄ν•œμ • 기닀리고 있고 곡유 μžμ›μ„ μ‚¬μš© 쀑인 ν”„λ‘œμ„ΈμŠ€λŠ” μ§„μž… λŒ€κΈ° 쀑인 ν”„λ‘œμ„ΈμŠ€κ°€ μ§„ν–‰λΌμ•Όλ§Œ λΉ μ Έλ‚˜μ˜¬ 수 μžˆλŠ” 상황

 

1. 4κ°€μ§€ 쑰건

  • μƒν˜Έ 배제(Mutual Exclusion): ν•œ λ²ˆμ— ν•œ ν”„λ‘œμ„ΈμŠ€λ§Œ μžμ› μ‚¬μš©
  • μ μœ μ™€ λŒ€κΈ°(Hold & Wait): 곡유 μžμ›μ— λŒ€ν•œ μ ‘κ·Ό κΆŒν•œμ„ κ°–κ³  μžˆλŠ” ν”„λ‘œμ„ΈμŠ€κ°€ λ‹€λ₯Έ μžμ›μ— λŒ€ν•œ μ ‘κ·Ό κΆŒν•œμ„ μš”κ΅¬
  • 비선점(Non-preemptive): λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€κ°€ μžμ› μ ‘κ·Ό κΆŒν•œμ„ κ°•μ œλ‘œ 빼앗을 수 μ—†λ‹€.
  • ν™˜ν˜• λŒ€κΈ°(Circular Wait): 두 개 μ΄μƒμ˜ ν”„λ‘œμ„ΈμŠ€κ°€ μžμ› 접근을 κΈ°λ‹€λ¦¬λŠ”λ° κ·Έ 관계에 사이클 쑴재

 

2. 해결법

  • 예방 기법: 4κ°€μ§€ 쑰건 λΆ€μ •
  • νšŒν”Ό 기법: ꡐ착 μƒνƒœ λ°œμƒ μ‹œ ν”Όν•΄λ‚˜κ°€λŠ” 방법
    • 은행원 μ•Œκ³ λ¦¬μ¦˜: ν”„λ‘œμ„ΈμŠ€κ°€ μžμ›μ„ μš”κ΅¬ν•  λ•Œ μ‹œμŠ€ν…œμ€ μžμ›μ„ ν• λ‹Ήν•œ 후에도 μ•ˆμ • μƒνƒœλ‘œ λ‚¨μ•„μžˆκ²Œ λ˜λŠ”μ§€ 사전에 κ²€μ‚¬ν•˜μ—¬ ꡐ착 μƒνƒœλ₯Ό νšŒν”Όν•˜κ³  λΆˆμ•ˆμ • μƒνƒœλ©΄ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λ“€μ΄ μžμ›μ„ ν•΄μ§€ν•  λ•ŒκΉŒμ§€ λŒ€κΈ°ν•œλ‹€.
  • 발견 기법, 회볡 기법
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)
'πŸ“ Computer Science/✏ OS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • μΊμ‹œ λ©”λͺ¨λ¦¬(Cache Memory)
  • λ©”λͺ¨λ¦¬(κΈ°μ–΅μž₯치) 관리
  • λ™μ‹œμ„±(Concurrency)κ³Ό 병렬성(Parallelism)
  • 동기와 비동기 & Blockingκ³Ό Non-Blocking
Blxxming
Blxxming
CS 지식과 κ³΅λΆ€ν•˜λ‹€ 배운 것, κ²½ν—˜ν•œ 것 등을 κΈ°λ‘ν•˜λŠ” λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
  • Blxxming
    πŸ’‘λ²ˆλœ©πŸ’‘
    Blxxming
  • 전체
    였늘
    μ–΄μ œ
  • 곡지사항

    • Tech Interview
    • πŸ“š Tech (246)
      • πŸ“ Computer Science (96)
        • ✏ OS (12)
        • ✏ Network & Web (10)
        • ✏ Database (11)
        • ✏ Data Structure (6)
        • ✏ Algorithm (40)
        • ✏ Design Pattern (9)
        • ✏ Cloud Computing (3)
        • ✏ (5)
      • πŸ“ Language (73)
        • ✏ Language (6)
        • ✏ C & C++ (11)
        • ✏ C# (19)
        • ✏ JAVA (37)
      • πŸ“ Game (43)
        • ✏ Computer Graphics (2)
        • ✏ Unity (14)
        • ✏ Unreal (26)
        • ✏ (1)
      • πŸ“ Book (34)
        • ✏ Effective (3)
        • ✏ Game Server (16)
        • ✏ Clean Code (14)
        • ✏ (1)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.0
Blxxming
κ΅μ°©μƒνƒœ(Deadlock)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”