Deadlock itu sendiri adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan
resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut.
Cara Mengatasinya dengan menggunakan Algoritma banker, Algoritma Safty dan Algoritma Ostrich
1. Algoritma banker gambarannya seperti ini algoritma banker sebagai seseorang bankir pada suatu kota yang menyediakan kelompok orang yang meminta pinjaman. Jadi kepada siapa si banker dapat memberikan pinjamannya. Dan setiap pelanggan diberikan batas maksimum atas pinjamannya. Hal ini terjadi/ditentukan oleh si banker.
Dan algoritma banker mempertimbangkan apakah permintaan pinjaman mereka itu sesuai dengan jumlah dana yang dia miliki, dan sekaligus memberikan jumlah dana yang mungkin diminta lagi. itu ditentukan oleh si banker.
2. Algoritma Safety
Algoritma ini untuk menentukan apakah sistem berada dalam state selamat atau
tidak.
1. Work dan Finish adalah vector dengan panjang m dan n. Inisialisasi : Work =
Available dan Finish[i] = false untuk i = 1,3, …, n.
2. Cari i yang memenuhi kondisi berikut :
(a) Finish [i] = false
(b) Needi ≤ Work
Jika tidak terdapat i ke langkah 4.
3. Work = Work + Allocationi
Finish[i] = true
Kembali ke langkah 2.
4. Jika Finish [i] == true untuk semua i, maka sistem dalam state selamat.