DEADLOCK

 Nama : Athaya ibnu k 

Nim : SSI202202959


A. Definisi Deadlock

Deadlock yang mungkin dapat terjadi pada suatu 
proses disebabkan proses itu menunggu suatu kejadian 
tertentu yang tidak akan pernah terjadi. Dua atau lebih proses dikatakan berada dalam kondisi deadlock, bila setiap 
proses yang ada menunggu suatu kejadian yang hanya dapat 
dilakukan oleh proses lain dalam himpunan tersebut.
Terdapat kaitan antara overhead dari mekanisme 
koreksi dan manfaat dari koreksi deadlock itu sendiri. Pada 
beberapa kasus, overhead atau ongkos yang harus dibayar 
untuk membuat sistem bebas deadlock menjadi hal yang 
terlalu mahal dibandingkan jika mengabaikannya. Sementara 
pada kasus lain, seperti pada real-time process control, 
mengizinkan deadlock akan membuat sistem menjadi kacau 
dan membuat sistem tersebut tidak berguna.
Contoh berikut ini terjadi pada sebuah persimpangan 
jalan. Beberapa hal yang dapat membuat deadlock pada 
suatu persimpangan, yaitu:
• Terdapat satu jalur pada jalan.
• Mobil digambarkan sebagai proses yang sedang 
menuju sumber daya.
• Untuk mengatasinya beberapa mobil harus preempt 
(mundur).
• Sangat memungkinkan untuk terjadinya starvation 
(kondisi proses tak akan mendapatkan sumber daya).

                Proses Terjadi Deadlock

B. Strategi Menghadapi Deadlock

Strategi untuk menghadapi deadlock dapat dibagi 
menjadi tiga pendekatan, yaitu:
1. Mengabaikan adanya deadlock.
2. Memastikan bahwa deadlock tidak akan pernah ada, 
baik dengan metode pencegahan, dengan men-
cegah empat kondisi deadlock agar tidak akan pernah 
terjadi. Metode Menghindari deadlock, yaitu 
mengizinkan empat kondisi deadlock, tetapi 
menghentikan setiap proses yang kemungkinan 
mencapai deadlock.
3. Membiarkan deadlock untuk terjadi, pendekatan ini 
membutuhkan dua metode yang saling mendukung, 
yaitu:
a. Pendeteksian deadlock, yaitu untuk meng-
identifikasi ketika deadlock terjadi.
b. Pemulihan deadlock, yaitu untuk meng-
embalikan kembali sumber daya yang 
dibutuhkan pada proses yang memintanya.

C. Mencegah Deadlock

Metode ini merupakan metode yang paling sering 
digunakan. Metode Pencegahan dianggap sebagai solusi 
yang bersih dipandang dari sudut tercegahnya deadlock. 
Tetapi pencegahan akan mengakibatkan kinerja utilisasi 
sumber daya yang buruk.
Metode pencegahan menggunakan pendekatan 
dengan cara meniadakan empat syarat yang dapat 
menyebabkan deadlock terjadi pada saat eksekusi Coffman 
(1971).
Syarat pertama yang akan dapat ditiadakan adalah 
Mutual Exclusion, jika tidak ada sumber daya yang secara 
khusus diperuntukkan bagi suatu proses maka tidak akan 
pernah terjadi deadlock. Namun jika membiarkan ada dua atau lebih proses mengakses sebuah sumber daya yang 
sama akan menyebabkan chaos.
Langkah yang digunakan ada.

D. Menghindari Deadlock
Pendekatan metode ini adalah dengan hanya memberi 
kesempatan ke permintaan sumber daya yang tidak mungkin 
akan menyebabkan deadlock. Metode ini memeriksa dampak 
pemberian akses pada suatu proses, jika pemberian akses 
tidak mungkin menuju kepada deadlock, maka sumber daya 
akan diberikan pada proses yang meminta.
Jika tidak aman, proses yang meminta akan di-
suspend sampai suatu waktu permintaannya aman untuk 
diberikan. Kondisi ini terjadi ketika setelah sumber daya yang 
sebelumnya dipegang oleh proses lain telah dilepaskan.
Kondisi aman yang dimaksudkan selanjutnya disebut 
sebagai safe-state, sedangkan keadaan yang tidak me-
mungkinkan untuk diberikan sumber daya yang diminta 
disebut unsafe-state.
1. Kondisi Aman (Safe state)
Suatu keadaan dapat dinyatakan sebagai safe state 
jika tidak terjadi deadlock dan terdapat cara untuk 
memenuhi semua permintaan sumber daya yangditunda tanpa menghasilkan deadlock dengan cara 
mengikuti urutan tertentu.
2. Kondisi Tak Aman (Unsafe state)
Suatu state dinyatakan sebagai state tak selamat 
(unsafe state) jika tidak terdapat cara untuk 
memenuhi semua permintaaan yang saat ini ditunda 
dengan menjalankan proses-proses dengan suatu 
urutan.


Komentar