•
- Pengertian Deadlock : Sekumpulan proses yg menunggu event yg hanya bisa dimunculkan oleh salah satu dari proses anggota
- Tidak ada proses yg bisa berlanjut, melepaskan resources, atau diaktifkan kembali
- Berawal dari situasi supply resources lebih kecil dari pada Demand
• Empat kondisi pemicu Deadlock :
– Kondisi mutual Exclusion. Sebuah resource sedang digunakan oleh 1 proses, atau sedang bebas
– Kondisi Hold and Wait. Proses-proses yg sedang memakai resources diijinkan meminta resources baru
– Kondisi non-preemptive. Resource yg sedang digunakan hanya bisa dilepaskan oleh proses yg memakainya (pelepas-an tdk bisa dipaksa oleh pihak lain)
– Kondisi circular wait.
• Pemodelan penggunaan resource
– A menguasai resource R A R
– Menggunakan graf alokasi resource
– A meminta resource R A R
– Dpt digunakan utk analisis deadlock
• Strategi dlm menghadapi deadlock
– Abaikan saja ® algoritma “onta” (prinsip pragmatisme)
– Pendeteksian dan pemulihan
– Pencegahan, dengan cara menegasikan kondisi-kondisi pemicu
– Menghindari, dengan cara alokasi resource secara hati-hati.
• Algoritma onta (Ostrich algorithm)
– Pragmatisme, perbandingan antara usaha utk menghilangkan deadlock dng akibat yg ditimbulkannya
• Pendeteksian dan pemulihan
– Monitoring request dan release dr resources, menganalisis graf alokasi resources utk mendeteksi deadlock
– Rantai deadlock diputus dengan mengorbankan 1 atau lebih proses.
• Pencegahan Deadlock
– Negasi 4 kondisi pemicu Deadlock
– Kondisi mutual Exclusion ?
• Resource bisa digunakan oleh lebih dari satu proses
– Kondisi Hold and Wait ?
• Proses yg sedang menguasai sebuah resource tidak diijinkan untuk meminta resource yg lain
• Kebutuhan resource sering bersifat dinamis
• Menyebabkan alokasi resource tdk efisien
– Kondisi non-preemptive ?
• Memungkinkan resource dilepas secarae paksa
• Dapat mengacaukan operasi (e.g., printing)
– Kondisi rantai tunggu (circular wait) ?
• Alternatif yg paling mungkin ditempuh
• Dengan penomoran resource, akses diijinkan dng mengikuti urutan tertentu
• Menghindari deadlock
– Alokasi resource secara hati-hati
– Algoritma banker
• Alokasi resource selalu memperhatikan kemungkinan ke depan (next state)
• Kebutuhan ke depan satu atau lebih proses harus selalu dapat dipenuhi oleh resource yg tersedia saat ini
0 komentar:
Post a Comment