2. PENGERTIAN DAN LATAR BELAKANG
• Keadaan dimana 2 atau lebih proses saling menunggu
meminta resources untuk waktu yang tidak terbatas
lamanya
• Analoginya seperti pada kondisi jalan raya dimana terjadi
kemacetan parah
• Deadlock adalah efek samping dari sinkronisasi, dimana
satu variabel digunakan oleh 2 proses
4. CONTOH DEADLOCK
Ketika kita membuka banyak aplikasi pada suatu Operating System
(misalnya Windows) di waktu yang bersamaan, dan karena terlalu banyak aplikasi
yang harus diproses oleh Operating System tersebut tanpa interval waktu maka salah
satu atau lebih aplikasi akan mengalami keadaan “Not Responding” merupakan
suatu kejadian dimana sebuah komputer tidak dapat melakukan proses dikarenakan
terjadi kegagalan pembacaan perintah yang berakibat komputer berhenti.
5. PENYEBAB DEADLOCK
• Mutual Exclusion
• Hold and Wait
• Circular Waiting
• No Preemption
Deadlock harus memenuhi semua syarat diatas
6. a. Mutual Exclusion
Sebuah resource hanya dapat digunakan
oleh sebuah proses pada suatu waktu
tertentu. (resource yang non-shareable.)
b. Hold and Wait
terdapat proses yang sedang menunggu
dan memegang resource.
8. Circular Wait
Proses-proses Berada Dalam Lingkaran. Terjadi Saling
Menunggu Resource Yang Sedang Digunakan Oleh
Proses Berikutnya Dalam Lingkaran Tersebut.
d. Non-preemption
Resource tidak dapat digunakan sebelum proses
yang menggunakan telah selesai menggunakan dan
kemudian melepaskannya.
9. STRATEGI MENGATASI DEADLOCK
• Prevention : memastikan paling sedikit satu penyebab
• Avoidance (menghidari) : sistem menolak request terhadap resource yang
berpotensi deadlock, Algoritma Banker
• Detection and Recovery : membiarkan Deadlock terjadi, lalu mendeteksinya,
kemudian melakukan recovery, Algoritma Ostrich
10. RECOVERY
Pemulihan deadlock dapat dilakukan melalui:
□ Hapus semua proses yang terlibat dalam
deadlock.
□ Rollback dan restart proses.
□ Secara bertahap hapus proses-proses yang
terlibat deadlock hingga tidak ada deadlock lagi.
□Secara berurutan, preempt resource-resource
sampai tidak ada deadlock.