Algoritma Banker
Algoritma Banker, adalah sebuah algoritma yang mana penyediaan resource dibatasi oleh kenaikan (advance).
Contoh nya :
Didasarkan pada kondisi bank, dimana konsumen meminjam sejumlah uang, lalu meminta pinjaman uang lagi.
Proses dan resource dimodelkan dalam satu tabel.
A
|
3
|
0
|
1
|
1
|
B
|
0
|
1
|
0
|
0
|
C
|
1
|
1
|
1
|
0
|
D
|
1
|
1
|
0
|
1
|
E
|
0
|
0
|
0
|
0
|
resource assigned
A
|
1
|
1
|
0
|
0
|
B
|
0
|
1
|
1
|
2
|
C
|
3
|
1
|
0
|
0
|
D
|
0
|
0
|
1
|
0
|
E
|
2
|
1
|
1
|
0
|
remaining resources
Secara umum algoritma banker dapat
dibagi menjadi empat struktur data, anggap variabel n adalah jumlah
proses dalam sistem dan m jumlah sumber daya yang ada:
1. Available: Sebuah vektor m mengindikasikan sumber daya yang tersedia untuk setiap tipe. Jika available[j] = k, dimana k instansi dari tipe Rj yang tersedia.
1. Available: Sebuah vektor m mengindikasikan sumber daya yang tersedia untuk setiap tipe. Jika available[j] = k, dimana k instansi dari tipe Rj yang tersedia.
2. Max: Matriks n x m
mendefinisikan maksimal permintaan tiap proses. Jika Max[i,j] = k, maka
proses Pi meminta paling banyak k instansi dari sumber daya tipe Rj.
3. Allocation: Matriks n x m mendefinsikan jumlah sumber daya setiap tipe yang dialokasian oleh
setiap proses. Jika Allocation[i,j] = k, maka proses Pi dialokasikan k instansi dari sumber daya Rj.
setiap proses. Jika Allocation[i,j] = k, maka proses Pi dialokasikan k instansi dari sumber daya Rj.
4. Need: Matriks n x m yang mengindikasikan sisa sumber daya yang dibutuhkan setiap proses.
Jika Need[i,j] = k, maka proses Pi membutuhkan lebih k instansi dari sumber daya Rj untuk menyelesaikan tugasnya. Need[i,j]= Max[i,j] – Allocation[i,j].
Jika Need[i,j] = k, maka proses Pi membutuhkan lebih k instansi dari sumber daya Rj untuk menyelesaikan tugasnya. Need[i,j]= Max[i,j] – Allocation[i,j].
- Algoritma Safety
Algoritma ini mencari apakah sistem dalam status aman atau tidak.
Penjelasan algoritma adalah sebagai berikut:
1. Anggap Work dan Finish adalah vektor dengan panjang masing-masing m dan n. Nilai awal work=Available dan Finish[i]=FALSE untuk i=1,2,…,n;
2. Cari i sehingga didapatkan Finish[i]=FALSE dan Need, < Work, jika i tidak ditemukan
3. Work=Work + Allocation, Finish[i]=TRUE
- ke langkah 2
4. Jika Finish[i]=TRUE untuk semua i, maka sistem dalam status aman.
Algoritma Ostrich Algoritma Ostrich adalah strategi mengabaikan masalah yang mungkin terjadi atas dasar bahwa masalah itu mungkin sangat jarang terjadi, dengan asumsi bahwa lebih efektif untuk memungkinkan masalah itu terjadi dibandingkan upaya pencegahannya.
Penjelasan algoritma adalah sebagai berikut:
1. Anggap Work dan Finish adalah vektor dengan panjang masing-masing m dan n. Nilai awal work=Available dan Finish[i]=FALSE untuk i=1,2,…,n;
2. Cari i sehingga didapatkan Finish[i]=FALSE dan Need, < Work, jika i tidak ditemukan
3. Work=Work + Allocation, Finish[i]=TRUE
- ke langkah 2
4. Jika Finish[i]=TRUE untuk semua i, maka sistem dalam status aman.
Algoritma Ostrich Algoritma Ostrich adalah strategi mengabaikan masalah yang mungkin terjadi atas dasar bahwa masalah itu mungkin sangat jarang terjadi, dengan asumsi bahwa lebih efektif untuk memungkinkan masalah itu terjadi dibandingkan upaya pencegahannya.
0 komentar:
Posting Komentar