Dokumen ini membahas tentang deadlock pada sistem komputer. Deadlock terjadi ketika proses-proses saling menunggu sumber daya yang sudah dikuasai proses lain, sehingga tidak ada proses yang dapat berjalan lagi. Untuk menangani masalah ini dapat digunakan tiga metode yaitu mencegah, menghindari, dan mendeteksi terjadinya deadlock. Kombinasi ketiga metode ini dianggap paling optimal.
2. MODEL SISTEM
Setiap tipe sumber daya R1 mempunyai beberapa
anggota Wi. Setiap proses yang menggunakan sumber
daya menjalankan urutan operasi sebagai berikut:
Meminta (request) : meminta sumber daya
Mamakai (use) : memakai sumber daya
Melepaskan (release): melepaskan sumber daya
3. KARAKTERISTIK DEADLOCK
1. Kondisi yang diperlukan
a. Mutual Exclusion
b. Genggam Dan Tunggu (Hold And Wait)
c. Non – Preemption
d. Menunggu secara Sirkuler (circular wait)
2. Resource Allocation Graph
faktor dasar dari Resource Allocation Graph menunjukan bahwa :
a. Apabila pada Graph tidak terdapat siklus maka tidak ada proses
dalam sistem yang deadlock
b. Apabila pada Graph terdapat siklus sistem kemungkinan Deadlock
dengan ketentuan :
- jika pada setiap tipe sumber daya hanya terdapat satu anggota
maka terjadi deadlock
- jika pada setiap tipe sumber daya terdapat beberapa anggota maka
kemungkinan terjadi deadlock
4. METODE MENANGANI DEADLOCK
Terdapat tiga metode untuk menangani permasalahan
deadlock yaitu :
1. Menggunakan protokol untuk menjamin bahwa
sistem tidak pernah memasuki status deadlock
2. Mengijinkan sistem memasuki status deadlock dan
kemungkinan memperbaikinya
3. Mengabaikan permasalahan dan seakan – akan
deadlock tidak pernah terjadi pada sistem.
5. MENCEGAH DEADLOCK
Untuk mencegah deadlock dapat dilakukan dengan
meniadakan salah satu dari syarat perlu sebagai
berikut :
1. Mencegah Mutual Exclusion
2. Mencegah Hold and Wait
3. Mencegah Non – Preemption
4. Mencegah kondisi Menunggu Sirkular
7. MENDETEKSI DEADLOCK
1. Satu anggota untuk setiap Tipe Sumber Daya
jika semua sumber daya mempunyai satu anggota, kita dapat
menentukan algoritma mendeteksi deadlock menggunakan bentuk
Resource Allocation Graph yang disebut wait for graph.
2. Beberapa anggota untuk setiap Tipe Sumber Daya
untuk tipe sumber daya yang mempunyai beberapa anggota
digunakan algoritma yang sejenis dengan algoritma banker dengan
struktur daya seperti dibawah ini :
a. Available
b. Allocation
c. Request
3. Penggunaan Algoritma Deteksi
untuk menjawab kapan dan berapa sering menggunakan algoritma
deteksi,hal ini tergantung pada :
a. seberapa sering terjadi deadlock
b. berapa proses yang perlu dilakukan rollback
8. PERBAIKAN DARI DEADLOCK
1. Terminasi Proses
untuk memperbaiki deadlock dengan terminasi proses, dapat
digunakan salah satu dari dua metode dibawah ini:
a. menghentikan (abort) semua proses yang deadlock
b. menghentikan satu proses setiap waktu sampai siklus deadlock
hilang
2. Menunda Sumber Daya
jika penundaan diperlukan untuk mengilangkan deadlock , terdapat
tigal hal yang perlu diperhatikan :
a. Pilihlah korban (sumber daya) yang mempunyai biaya minimal
b. lakukan rollback yaitu memulai kembali (restart) proses pada
state yang selamat
c. harus dijamin starvation tidak akan terjadi karena kemungkinan
beberapa proses selalu terpilih sebagai korban termasuk jumlah
rollback sebagai faktor biaya.
9. METODE KOMBINASI MENANGANI
DEADLOCK
Untuk menangani deadlock dilakukan kombinasi dari
tiga algoritma dasar yaitu :
1. Mencegah Deadlock
2. Menghindari Deadlock
3. Mendeteksi Deadlock
Kombinasi ketiga algoritma ini memungkinkan
penggunaan yang optimal untuk setiap sumber daya
pada sistem.