Untuk menangani deadlock dilkaukan beberapa proses
dengan algoritma-algoritma. Berikut algoritma-algoritma yang sering digunakan
dalam penanganan dan pencegahan deadlock :
- Algoritma Banker
Algoritma banker lebih dikenal dengan nama algoritma penjadwalan.
Algoritma banker dapat digambarkan sebagai seorang banker/bankir yang berurusan
dengan kelompok orang yang meminta pinjaman kepada banker tersebut. algoritma
banker bekerja dengan cara mempertimbangkan apakah permintaan para peminjam itu
sesuai dengan jumlah dana yang ia miliki, sekaligus memperkirakan jumlah dana
yang mungkin diminta lagi. Sehingga keadaanya tidak sampai pada kondisi dimana
dananya habis dan tidak dapat meminjamkan uang lagi. Jika dana yang dipinjamkan
tidak ada atau kehabisan maka akan terjadi kondisi deadlock. Agar kondisi aman,
maka asumsi setiap pinjaman harus dikembalikan waktu yang tepat.
Gambaran di atas adalah cara kerja dari algoritma
banker, Dan dana yang dimaksud di gambarkan sebagai sumber daya yang akan di
ambil oleh proses computer.
- 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.
- 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.
Tidak ada komentar:
Posting Komentar