Deadlock dalam arti sebenarnya adalah kebuntuan dan dimaksudkan adalah kebuntuan proses. jadi deadlock ialah suatu kondisi dimana proses tidak berjalan lagi atau pun tidak ada komunikasi lagi antar proses.
Penanggulangan Deadlock
- Mengabaikan masalah Deadlock
- Metode Algoritma Ostrich dengan informasi sumber daya mana yang akan diminta suatu proses dan berapa lama akan digunakan, maka dapat diputuskan apakah suatu proses harus menunggu atau tidak.
- Mendeteksi dan memperbaiki
- Algoritma ini akan mendeteksi sistem mana yang terlibat di dalamnya
- Menghindari Deadlock dengan 2 cara
- Jangan memulai proses apapun jika proses tersebut akan membawa kita pada kondisi Deadlock jadi ketika menuju Deadlock sudah dicegah
- Jangan memberi kesempatan pada suatu proses untuk meminta sumber daya lagi
- Pencegahan Deadlock
- Mutual Exclusion adalah sumber daya yang tidak dapat dipakai bersamaan pada waktu yang bersamaan.
- Hold and wait adalah suatu proses yang memiliki minimal satu buah sumber daya melakukan request lagi terhadap sumber daya namun sumber dayanya sedang dimiliki oleh proses yang lain.
- Non-preemptive ialah sumber daya hanya dapat dilepaskan pleh proses yang memilikinya secara sukarela setelah ia selesai menggunakannya.
- Circular wait ialah kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya.
Starvation adalah sebuah kondisi dimana ada satu atau lebih proses yang tidak pernah dieksekusi karena tidak pernah mendapat jatah sumber daya