RSS
Facebook
Twitter

Tuesday, June 14, 2011

SOL : DEADLOCK

deadlocks
-proses menunggu suatu kejadian tertentu yg tidak pernah terjadi

*model deadlock
urutan kejadian pengoperasian perangkap input/output :
1. meminta (request) : meminta pelayanan perangkat input/output
2. memakai (use) : memakai perangkat input/output.
3. melepaskan (release) : melepaskan pemakaian input/output


deadlock tidak hanya terjadi pd 2 proses dan 2 sumber daya, deadlock
dapat terjadi dengan melibatkan lebih dari 2 proses dan 2 sumber daya.

karakteristik deadlock
coffman menyatakan untuk syarat terjadinya deadlock:
1.mutual exclusion
2.hold and wait
3.non-preemption condition (kondisi non preemption)
4.circular wait condition (kondisi menunggu secara sirkular)

metode2 mengatasi deadlock :
1.metode pencegahan terjadinya deadlock (deadlock prevention)
2. metode penghindaran terjadinya deadlock(deadlock avoidance)
3.metode deteksi dan pemulihan dari deadlock (deadlock detection and recovery)

pencegahan daedlock
Havendar menyarankan srategi untuk meniadakan dg syarat ;
1.setiap proses harus meminta semua sumber daya yg diperlukan sekaligus
dan tidak berlanjut sampai semua diberikan
2.jika proses telah sedang memegang sumber daya tertentu, untuk permintaan berikutnya
proses harus melepas dulu sumber daya yg dipegangnya. jika diperlukan
proses meminta kembali sekaligus dengan sumber daya yg baru
3.beri pengurutan linier terhadap tipe2 sumber daya pd semua proses,
yaitu jika proses telah dialokasikan suatu tipe sumber daya,proses
hanya boleh berikutnya meminta sumber daya -sumber daya tipe pada urutan berikutnya

Algoritma Banker oleh Djikstra
kelemahan algoritma ini :
1.proses jarang mengetahui diawal proses jumlah max sumber daya yg akan diperlukan
2.jumlah proses tidak tetap,secara dinamis beragam begitu pemakai2
baru login & logout
3.sumber daya yg dihitung sbg tersedia dapat saja tiba2 dicopot sehingga sebenarnya menjadi tidak tersedia
4.proses2 haru independen
5.algoritma menghendaki memberikan semua permintaan selama waktu yg tak terhingga
6.algoritma menghendaki client2 mengembalikan sumber daya setelah suatu
waltu yg terhingga

pendeteksian deadlock
adalah teknik untuk menentukan apakah deadlock terjadi serta mengindentifikasi
proses & sumber daya yg terlibat dalam deadlock

pemulihan dari deadlock
yaitu begitu sistem terdapat deadlock maka deadlock harus diputuskan
dengan menghilangkan salah 1 / lebih persyaratannya.

pendekatan yg dilakukan :
1.singkirkan semua proses yg melibatkan deadlock
2.backup semua proses yg terlibat deadlock ke suatu check point yg
didefinisikan sebelumnya & dijalankan kembali semua proses itu
3.secara berurutan singkirkan proses sampai tdk terjadi deadlock lagi.
4.secara berurutan preemp sumber daya tdk ada deadlock lagi.

pendekatan penanggulangan deadlock terpadu
Silberschatz menyarankan suatu pendekatan terpadu yaitu :
1. kelompokkan sumber daya menjadi kelas sumber daya
2. gunakan strategi pengurutan linier
3. dalam 1 kelas sumber daya gunakan algoritma yg sesuai untuk sumber daya tersebut.

0 komentar: