Deadlock Recovery

Introduction (рдкрд░рд┐рдЪрдп)

рд╣рдордиреЗ рджреЗрдЦрд╛:

  • Prevention тЖТ deadlock рд╣реЛрдиреЗ рд╣реА рдирд╣реАрдВ рджреЗрддрд╛
  • Avoidance тЖТ unsafe state рдХреЛ avoid рдХрд░рддрд╛ рд╣реИ

рд▓реЗрдХрд┐рди рдЕрдЧрд░ system рдореЗрдВ deadlock рд╣реЛ рд╣реА рдЬрд╛рдП,
рддреЛ рдЙрд╕реЗ рдЦрддреНрдо рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ?

рдЗрд╕реА рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ:
Deadlock Recovery

Deadlock Recovery рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ

Deadlock Recovery рд╡рд╣ technique рд╣реИ рдЬрд┐рд╕рдореЗрдВ system deadlock рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЙрд╕реЗ detect рдХрд░рдХреЗ resolve рдХрд░рддрд╛ рд╣реИред

Simple Definition

Deadlock Recovery = deadlock рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЙрд╕реЗ рд╣рдЯрд╛рдирд╛

Basic Idea

Deadlock рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж system рдХреЛ:

  1. Deadlock detect рдХрд░рдирд╛ рд╣реИ
  2. Deadlock рдХреЛ break рдХрд░рдирд╛ рд╣реИ

Recovery Methods

Deadlock рдХреЛ recover рдХрд░рдиреЗ рдХреЗ 2 main рддрд░реАрдХреЗ рд╣реЛрддреЗ рд╣реИрдВ:

1. Process Termination

Idea

рдХреБрдЫ processes рдХреЛ terminate рдХрд░рдХреЗ deadlock рддреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

Types

(a) All Processes Terminate рдХрд░рдирд╛

  • Deadlock рдореЗрдВ involved рд╕рднреА processes рдХреЛ рдЦрддреНрдо рдХрд░ рджреЛ

Advantage

  • Simple

Disadvantage

  • рдмрд╣реБрдд data loss

(b) One by One Termination

  • рдПрдХ-рдПрдХ рдХрд░рдХреЗ processes рдХреЛ terminate рдХрд░реЛ
  • рдЬрдм рддрдХ deadlock рдЦрддреНрдо рди рд╣реЛ рдЬрд╛рдП

Advantage

  • рдХрдо data loss

Disadvantage

  • Time consuming

Process select рдХреИрд╕реЗ рдХрд░реЗрдВ

Terminate рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП process рдЪреБрдирддреЗ рд╕рдордп рдзреНрдпрд╛рди рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ:

  • Process рдХреА priority
  • Execution рдХрд┐рддрдирд╛ рд╣реБрдЖ рд╣реИ
  • Resource рдХрд┐рддрдирд╛ use рдХрд┐рдпрд╛ рд╣реИ
  • Cost рдХрд┐рддрдирд╛ рд╣реИ

2. Resource Preemption

Idea

Processes рд╕реЗ resource рд╡рд╛рдкрд╕ рд▓реЗрдХрд░ deadlock рддреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ

Working

  • Resource temporarily process рд╕реЗ рд▓реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • рджреВрд╕рд░реЗ process рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • рдмрд╛рдж рдореЗрдВ original process рдХреЛ рд╡рд╛рдкрд╕ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

Important Points

1. Victim Selection

рдХрд┐рд╕ process рд╕реЗ resource рд▓реЗрдирд╛ рд╣реИ

2. Rollback

Process рдХреЛ previous safe state рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛

3. Starvation Avoidance

рдПрдХ рд╣реА process рд╕реЗ рдмрд╛рд░-рдмрд╛рд░ resource рди рдЫреАрдирд╛ рдЬрд╛рдП

Example

рдорд╛рди рд▓реЛ:

  • P1 рдХреЗ рдкрд╛рд╕ R1 рд╣реИ
  • P2 рдХреЗ рдкрд╛рд╕ R2 рд╣реИ
  • рджреЛрдиреЛрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХрд╛ wait рдХрд░ рд░рд╣реЗ рд╣реИрдВ

Recovery:

  • P2 рдХреЛ terminate рдХрд░ рджреЛ
    рдпрд╛
  • R2 рдХреЛ P2 рд╕реЗ рд▓реЗрдХрд░ P1 рдХреЛ рджреЗ рджреЛ

Deadlock рдЦрддреНрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛

Advantages

  • Deadlock рдХреЛ remove рдХрд░ рджреЗрддрд╛ рд╣реИ
  • System рдХреЛ рдлрд┐рд░ рд╕реЗ normal рдмрдирд╛ рджреЗрддрд╛ рд╣реИ

Disadvantages

  • Data loss рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • System unstable рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • Recovery cost high рд╣реЛрддреА рд╣реИ

Important Comparison

TechniqueрдХрдм use рд╣реЛрддрд╛ рд╣реИ
Preventionрдкрд╣рд▓реЗ
Avoidanceallocation рдХреЗ рд╕рдордп
Recoveryрдмрд╛рдж рдореЗрдВ

Exam Focus Points

  • Deadlock Recovery definition
  • Process termination рдФрд░ resource preemption
  • Victim selection рдФрд░ rollback

Conclusion

Deadlock Recovery рдПрдХ reactive approach рд╣реИ, рдЬрд┐рд╕рдореЗрдВ system deadlock рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЙрд╕реЗ detect рдХрд░рдХреЗ solve рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ effective рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ data loss рдФрд░ performance issues рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ last option рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top