Jumat, 08 Mei 2015

Deadlock

Deadlock : Banyak proses yang merebutkan resource yang sama

Deadlock Prevention
- Bisa saling block dan sifatnya permanen
- Tidak ada solusi efisien
- Melibatkan kebutuhan yang bertentangan untuk sumber daya dengan dua atau lebih proses





Condition for Resource Deadlock

  1. Mutual exclusion : Hanya ada 1 proses yang bisa memakai 1 resource
  2. Hold and wait : Proses A sedang mengambil 1 resource, ditahan dan ambil proses lain
  3. No preemption : Tidak bisa di interupsi / dipotong
  4. Circular wait : Proses 1 menunggu proses 2, proses 2 menunggu proses 3, proses 3 menunggu proses 1

     (a) Resource R sedang dipegang oleh proses A
     (b) Proses B meminta resource S
     (c) Resource T dipegang proses D, D merequest U, U dipegang C, C merequest T

Cara Pencegahan Deadlock
  • Mutual exclution : multiple akses untuk read, write hanya yang exclusive
  • Hold and Wait : blocking system, blok proses lain
  • No-preemption : pakai task manager
  • Circular wait : di blok
Strategy dealing with Deadlock
  • Abaikan saja, tapi hal ini merupakan bahaya
  • Deteksi dan pemulihan
  • Penghindaran dinamis oleh alokasi resource secara hati hati
  • Pencegahan
Deadlock Avoidance
  • Model yang paling sederhana dan paling berguna mengharuskan tiap proses menyatakan jumlah maksimum resource dari setiap tipe yang mungkin dibutuhkan
  • Algoritma penghindaran deadlock secara dinamis memeriksa state alokasi resource untuk memastikan bahwa tidak akan pernah terjadi keadaan circular-wait
  • State alokasi resource didefinisikan dengan jumlah resource yang tersedia dan teralokasi, dan tuntutan maksimum proses
Starvation
  • Algoritma untuk mengalokasikan sebuah resource
  • Bekerja dengan baik pada beberapa pekerjaan singkat di sebuah system
  • Mungkin saja mengakibatkan pekerjaan panjang untuk ditunda tanpa batas waktu


Tidak ada komentar:

Posting Komentar