Selasa, 21 Oktober 2014

Cara Menangani Deadlock

1. Algoritma Banker
    Jika suatu proses meminta semua sumber daya kemungkinan proses harus menunggu. Jika suatu proses mendapatkan semua sumber daya maka proses harus mengembalikan semua sumber daya dalam jangka waktu tertentu. Struktur data yang digunakan untuk mengimplementasikan algoritma banker akan menentukan state dari sumber dya yang dialokasikan oleh sistem. Misalnya n = jumlah proses dan m = jumlah tipe resource

2. Algoritma Resource Allocation Graph
    Untuk menghindari deadlock pada sistem yang hanya mempunyai satu anggota untuk setiap tipe sumber daya, dapat digunakan algoritma ini. claim edge Pi => Rj menandakan bahwa proses Pi mungkin meminta sumber daya Rj yang dipresentasikan dengan garis putus-putus. claim edge akan berubah ke requestedge bial proses meminta sumber daya.
  
3.  Algoritma Safety
     Algoritma ini untuk menentukan apakah sistem berada dalam state slamat atau tidak.
    1) work dan finish adalah vektor dengan panjang m dan n. inisialisasi  : work = available dan finish = false untuk  i = 1,3,........,n.
     2) cari yang memenuhi kondisi berikut :
        a. finish [i] = false
        b. need < work
        jiaka tidak terdapat i ke langkah 4
      3) work = work + allocation
           finish [i] = true
           kembali ke langkah 2
       4) jika finis [i] = true untuk semua i, maka sistem dalam state slamat
4. Algoritma Resouce Request
    Request adalah vektor permintaan untuk proses Pi. Jika request [j] = k, maka proses Pi menginginkan k anggota tipe sumber daya Rj. Jika permintaan untuk sumber daya dilakukan oleh proses Pi. 

Tidak ada komentar:

Posting Komentar