DEADLOCK: ALGORITMA PENCEGAHAN DEADLOCK
Deadlock adalah situasi di mana sekumpulan proses diblokir karena setiap proses memegang sumber daya dan menunggu sumber daya lain yang diperoleh oleh beberapa proses lain. Deadlock adalah masalah umum dalam sistem multiprosesing , komputasi paralel , dan sistem terdistribusi , di mana kunci perangkat lunak dan perangkat keras digunakan untuk menengahi sumber daya bersama dan mengimplementasikan sinkronisasi proses. Deadlock juga dapat terjadi ketika dua atau lebih query dijalankan pada database . Database transaksional mengunci catatan aktif, mencegah kueri lain mengaksesnya. Jika proses tidak dapat mengakses rekaman yang terkunci, kebuntuan database dapat terjadi.
ALGORITMA PENCEGAHAN DEADLOCK
ALGORITMA Banker
Deadlock dapat dicegah dengan beberapa cara, salah satunya dengan Algoritma Banker. Algoritma Banker umumnya digunakan untuk mengetahui apakah urutan aman ada atau tidak. Secara sederhana, ia memeriksa apakah alokasi sumber daya apa pun akan menyebabkan kebuntuan atau tidak, ATAU apakah aman untuk mengalokasikan sumber daya ke suatu proses dan jika tidak, maka sumber daya tidak dialokasikan ke proses itu.
Ada dua Algoritma yang digunakan dalam algoritma Banker, yaitu :
- Algoritma Safety
- Algoritma Request
- Untuk available dapat dicari dengan : AVAILABLE = SUMBER DAYA - TOTAL ALLOCATION
- Untuk need dapat dicari dengan : NEED = MAX - ALLOCATION
- Lakukan hal yang sama untuk mencari besar need pada setiap proses.
- Request < Need
- Request < Available
- Periksa dengan algoritma safety
Comments
Post a Comment