Pengertian Safety Algoritma
Algoritma ini adalah algoritma yang dipakai untuk menentukan apakah sebuah sistem berada dalam keadaan safe state atau unsafe state.
Algoritma ini dipakai oleh bankir untuk memeriksa keadaan sistem setelah peminjaman, apakah berada dalam kondisi safe atau tidak. Apabila berada dalam kondisi safe, maka ini berarti sumber daya yang tersisa dapat menjamin pemenuhan pinjaman oleh semua proses yang masih aktif, semua proses akan berakhir dengan aman dan tidak akan menyebabkan deadlock. Apabila kondisi unsafe, maka ini berarti terdapat kemungkinan untuk terjadinya deadlock.
Safety algorithm adalah sebagai berikut:
1. STEP 1: initialize
- Work := Available;
- for i = 1,2,...,n
set Finish[i] = false
2. STEP 2: find i such that both
- Finish[i] is false
- Need_i <= Work
- if no such i, goto STEP 4
3. STEP 3: Work := Work + Allocation_i
- Finish[i] = true
- goto STEP 2
4. STEP 4: if Finish[i] = true for all i, system is in safe state