Sabtu, 27 April 2013

DEADLOCK



DEADLOCK

Deadlock

       Secara harfiah adalah kebuntuan
       Suatu proses dimana 2 proses/lebih tidak dapat meneruskan eksekusinya karena saling menunggu aksi/sumber daya yang digunakan oleh proses lain
       Suatu kondisi dimana sekumpulan proses tidak dapat berjalan kembali akibat kompetisi memperebutkan sumber daya

Ilustrasi Deadlock
 
       Hanya terdapat satu jalur
       Mobil digambarkan sebagai proses yang sedang menuju sumber daya
       Untuk mengatasinya beberapa mobil harus (mundur)
       Sangat memungkinkan untuk terjadinya starvation (kondisi dimana proses tidak akan mendapatkan sumber daya)
Penjelasan Ilustrasi Deadlock
       Penyebab utama terjadinya Deadlock adalah terbatasnya sumber daya yang akan digunakan oleh proses-proses
       Tiap proses berkompetisi untuk memperebutkan sumber daya yang ada
       Jadi deadlock berhubungan erat dengan tersedianya sumber daya dari komputer

 Syarat Terjadi Deadlock
1.    Mutual Exclusion
Sumber daya yang hanya dapat digunakan oleh satu proses dalam satu waktu
Cara Menghindari :
Menerapkan kebijakan untuk hanya memakai sumber daya yang dapat digunakan secara konkuren
2.    Hold and Wait Condition
Proses yang sedang menggunakan satu sumber daya menunggu untuk menggunakan sumber daya yang lain
Cara Menghindari:
Mengalokasikan seluruh sumber daya yang diperlukan oleh suatu proses sebelum proses tersebut mulai dieksekusi
3.    Non-Preeption Condition
Jika sumber daya yang sedang digunakan oleh sebuah proses tidak dapat diambil alih secara paksa
Cara Menghindari :
Mengkondisikan jika suatu proses tidak mendapatkan sumber daya dengan segera, maka sumber daya yang sedang digunakanya harus dilepas dulu. Sehingga proses lain yang sedang menunggu dapat menggunakannya terlebih dulu
4.    Circular Wait Condition
Terdapatnya rangkaian sirkular dari 2/lebih proses masing-masing menunggu sumber daya yang sedang dikuasai proses lain
Cara Menghindari:
Memberikan nomor urut untuk semua sumber daya yang dialokasikan untuk proses

Syarat Terjadi Deadlock
       Startvation
Jika lebih dari satu proses saling menunggu alokasi sumber daya sampai waktu yang tidak ditentukan
       Race Condition
Suatu keadaan dimana lebih dari satu proses menginginkan sumber daya yang sama pada waktu yang bersamaan

Model Deadlock
       Sebuah sistem terdiri dari sumber daya dengan jumlah terbatas yang didistribusikan kepada sejumlah proses yang berkompetisi untuk mendapatkan sumber daya
       Status proses terhadap sumber daya yang perlu digunakannya adalah sebagai urutan berikut :
o   Meminta (request)      : Meminta layanan I/O
o   Memakai (use)            : Memakai I/O device

1 komentar: