Resource Request Algorithm
Algoritma ini dipakai bankir untuk menentukan apakah peminjaman sumber daya disetujui atau tidak. Algoritma ini dieksekusi oleh sistem setiap terjadinya permintaan peminjaman atas sumber daya oleh proses.
Implementasi algoritma ini adalah dengan berpura-pura memberikan pinjaman kepada proses dan menganalisis keadaan setelah pinjaman (sumber daya dan proses yang tersisa) dengan Safety Algorithm. Apabila menghasilkan keadaan safe, maka pinjaman disetujui. Bila tidak, maka pinjaman diblokir atau ditunda. (http://en.wikipedia.org/wiki/Banker's_algorithm.html).
Resource Request Algorithm adalah sebagai berikut:
0. STEP 0: P_i makes Request_i for resources
1. STEP 1: if Request_i <= Need_i
goto STEP 2
else ERROR
2. STEP 2: if Request_i <= Available
goto STEP 3
else suspend P_i
3. STEP 3: pretend to allocate requested resources
- Available := Available - Request_i
- Allocation_i := Allocation_i + Request_i;
- Need_i := Need_i - Request_i
4. STEP 4: if pretend state is SAFE
then do a real allocation and P_i proceeds
Else
restore the original state and suspend P_i