Selasa, 13 Desember 2011

Menangani Deadlock


Deadlock merupakan jika proses menunggu satu kejadian tertentu yang tak akan pernah terjadi .sekumpulan proses berkondisi deadloack bila setiap proses yang ada dikumpulan itu menunggu suatu kejadian yang hanya dapat dilakukan proses lain yang juga berada dikumpulan itu. proses menunggu yang tidak akan pernah terjadi . deadloack terjadi ketika proses proses mengakses secara ekslusif sumber daya . semua deadlock yang terjadi melibatkan persaingan memperoleh sumber daya ekslusif oleh dua proses atau lebih.


  • Algoritma Banker

Algoritma Banker, adalah sebuah algoritma yang mana penyediaan resource dibatasi oleh kenaikan (advance).
Co
Contoh :
Didasarkan pada suatu kondisi bank, konsumen meminjam sebuah uang. Kemudian meminta pinjan uang kembali.
Proses dan resource dimodelkan pada suatu tabel.

A
3
0
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
 
 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.
 
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.
 
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].




  • Algoritma Safty 
 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.


  • 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.




Tidak ada komentar:

Posting Komentar