Deadlock
Pengertian Deadlock
Dalam komputasi bersamaan,
kebuntuan adalah keadaan di mana setiap anggota kelompok menunggu anggota lain,
termasuk dirinya sendiri, untuk mengambil tindakan, seperti mengirim pesan atau
lebih umum melepaskan kunci. Deadlock adalah masalah umum dalam sistem
multiproses, komputasi paralel, dan sistem terdistribusi, di mana kunci
perangkat lunak dan perangkat keras digunakan untuk menengahi sumber daya
bersama dan menerapkan sinkronisasi proses.
Bagaimana proses dalam sistem operasi ?
Sebuah proses dalam sistem operasi menggunakan sumber daya
dengan cara berikut.
1) Meminta sumber daya
2) Gunakan sumber daya
3) Melepaskan sumber daya
Kenapa Deadlock terjadi?
Deadlock terjadi
dalam situasi dimana proses memblock karena proses yang lain menahan sumber dan
menunggu sumber yang lain diperoleh dari beberapa proses lain.
Dengan
mempertimbangkan sebuah contoh ketika dua kereta datang menuju satu sama lain
di jalur yang sama dan hanya ada satu jalur, tidak ada satupun kereta yang bisa
bergerak mereka berada di depan satu sama lain.
Perumpamaan itu mirip situasi yang terjadi dalam
sistem proses ketika proses dua atau lebih akan ditahan beberapa sumber dan
menunggu untuk sumber yang lainnya,
Proses 1 menahan
sumber 1 dan menunggu untuk sumber 2 yang didapatkan dari proses 2 , dan proses
2 menunggu dari sumber 1.
Kapan situasi Deadlock terjadi?
Deadlock bisa
terjadi jika dalam 5 kondisi menahan secara terus menerus (Kondisi diperlukan)
Mutual Exclusion
: Satu atau lebih dibandingkan satu sumber non-shareable(hanya satu proses yang
bisa digunakan dalam waktu bersamaan)
Hold dan wait :
Sebuah proses menahan setidaknya satu sumber dan menunggu untuk sumber.
No Preemption: Sebuah sumber yang tidak bisa
diambil dari sebuah proses tidak kurang prosesnya menyelesaikan sumber.
Circular Wait:
Sebuah set dari proses menunggu untuk yang lainnya dalam circular form.
Bagaimana solusi Deadlock terjadi?
Metode untuk
penanganan deadlock
- Deadlock pervention atau avoidance:
ide untuk tidak membiarkan meninggalkan sistem dalam sebuah wilayah
deadlock.
- Deadlock detection dan recovery:
Membiarkan deadlock terjadi, kemudian melakukan preemption untuk
menanganti ini sekali terjadi.
- Mengabaikan masalah sama sekali: jika
deadlock sangat tidak umum, kemudian ini dibiarkan terjadi dan reboot
system
Refrensi
https://en.wikipedia.org/wiki/Deadlock
https://www.geeksforgeeks.org/introduction-of-deadlock-in-operating-system/
https://whatis.techtarget.com/definition/deadlock
DOWNLOAD SELENGKAPNYA