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