Deadlock adalah dimana terjadinya
suatu antrian data yang masuk untuk di proses yang mana biasanya menyebabkan
komputer yang kita gunakan tidak bekerja dengan baik, ngehang, ngeblang atau
bahkan bisa terjadi blue screen.
Terdapat bermacam macam algoritma penanganan terhadap deadlock. Diantaranya adalah
1. Algoritma Bangker,
2. Safety dan
3.Ostrich.
1. Algoritma Banker
Algoritma
Banker atau algoritma penjadwalan, algorima ini diambil dari pemisalan dari sebagai
sebuah bank yang ingin meminjamkan kredit kepada nasabah-nasabahnya.
Pada
Algoritma Banker, kondisi mutual
exclusion, hold and wait dan non
preemption diijinkan dan proses-proses melakukkan klaim penggunaan
eksklusif sumber daya-sumber daya yang diperlukan. Proses-proses diijinkan
menggenggam sumber daya-sumber daya sambil meminta dan menunggu sumber
daya-sumber daya lain serta sumber daya-sumber daya itu tidak diijinkan di
preempt proses lain.
Proses-proses
dapat meminta satu sumber daya pada suatu waktu. Sistem Operasi dapat
memberikan akses sumber daya atau menolak permintaan. Jika ditolak, proses
masih menggengam sumber daya yang telah dialokasikan untuknya dan menunggu
selama waktu berhingga sampai permintaannya dapat diberikan.
Sistem
hanya memberikan permintaan yang menghasilkan state selamat. Permintaan proses
yang akan menghasilkan state tak selamat secara berulang ditolak sampai
permintaan dapat dipenuhi. Tentunya karena sistem selalu memelihara agar dalam
state safe, cepat atau lambat (yaitu dalam waktu yang berhingga) semua
permintaan dapat dipenuhi dan semua proses dapat berakhir.
Kelemahan
dari Algoritma Banker:
a)
Proses-proses jarang mengetahui diawal proses jumlah
maksimum sumber daya yang akan diperlukan.
b)
Jumlah proses tidak tetap, secara dinamis beragam
begitu pemakai-pemakai baru login dan logout.
c)
Sumber daya yang dihitung sebagai tersedia dapat saja
tiba-tiba ditanggalkan sehingga sebenernya menjadi tidak tersedia.
d)
Proses-proses harus independen, yaitu urutan
proses-proses dieksekusi tidak dibatasi kebutuhan sinkronisasi
antarproses.
e)
Algoritma menghendaki memberikan semua permintaan
selama waktu yang berhingga.
f)
Algoritma menghendaki client-client mengembalikan
sumber daya setelah suatu waktu yang berhingga.
2.Algoritma Safety
Algoritma
ini bekerja dengan cara algoritma mencari apakah sistem dalam status aman atau
tidak. Status ini terjadi jika sistem dapat mengalokasikan sumber daya bagi
tiap proses dalam keadaan tertentu dan masih dapat terjadi deadlock. Status
aman bukanlah status deadlock, jadi status deadlock merupakan status tidak aman,
tetapi tidak selamanya status tidak aman mengakibatkan status deadlock
melainkan ada kemungkinan dapat terjadi.
3. Algoritma
Ostrich
Algoritma
ostrich merupakan strategi penanganan deadlock dengan cara mengabaikan masalah
yang mungkin terjadi atas dasar bahwa masalah itu mungkin sangat jarang
terjadi.dalam hal ini berarti diasumsikan bahwa tidak ada masalah. Dengan
begitu mengasumsikan bahwa tidak ada masalah lebih efektif daripada untuk
memungkinkan masalah itu terjadi dibandingkan upaya pencegahannya.
0 komentar:
Posting Komentar