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 เคเฅ:
- Deadlock detect เคเคฐเคจเคพ เคนเฅ
- 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 | เคชเคนเคฒเฅ |
| Avoidance | allocation เคเฅ เคธเคฎเคฏ |
| 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 เคฎเคพเคจเคพ เคเคพเคคเคพ เคนเฅเฅค