DEADLOCK( DEFINISI,STRATEGI, CARA MENCEGAH, CARA MENGHINDARI)

 

DEADLOCK SISTEM OPERASI

 



 

A. Definisi Deadlock

Deadlock pada suatu proses disebabkan oleh proses 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.

 

Contoh terjadinya 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).

B. Strategi Menghadapi Deadlock

Mengabaikan adanya deadlock.

Memastikan bahwa deadlock tidak akan pernah ada, baik dengan metode pencegahan, dengan mencegah empat kondisi deadlock agar tidak akan pernah terjadi.

Membiarkan deadlock untuk terjadi.

C. Mencegah Deadlock

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 untuk mencegah deadlock :

 

1.       Spooling sumber daya, yaitu dengan mengantrikan job-job pada antrian dan akan dilayani satu-satu.

Masalah yang mungkin terjadi adalah:

Tidak semua dapat di-spool, tabel proses sendiri tidak mungkin untuk di-spool.

Kompetisi pada ruang disk untuk spooling sendiri dapat mengarah pada deadlock.

2.       Meniadakan kondisi hold and wait . Langkah yang digunakan adalah dengan membuat proses agar meminta sumber daya yang mereka butuhkan pada awal proses sehingga dapat dialokasikan sumber daya yang dibutuhkan. Namun jika terdapat sumber daya yang sedang terpakai maka proses tersebut tidak dapat memulai prosesnya.

Masalah yang mungkin terjadi:

Sulitnya mengetahui berapa sumber daya yang dibutuhkan pada awal proses.

Tidak optimalnya pengunaan sumber daya jika ada sumber daya yang digunakan hanya beberapa waktu dan tidak digunakan tapi tetap dimiliki oleh suatu proses yang telah memintanya dari awal.

3.       Meniadakan syarat keempat circular wait. Terdapat dua pendekatan, yaitu:

Mengatur agar setiap proses hanya dapat menggunakan sebuah sumber daya pada suatu waktu, jika menginginkan sumber daya lain maka sumber daya yang dimiliki harus dilepas.

Membuat penomoran pada proses-proses yang mengakses sumber daya. Suatu proses dimungkinkan untuk dapat meminta sumber daya kapan pun, tetapi permintaannya harus dibuat terurut.

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.

 

Kondisi Aman (Safe state)

Suatu keadaan dapat dinyatakan sebagai safe state jika tidak terjadi deadlock dan terdapat cara untuk memenuhi semua permintaan sumber daya yang ditunda tanpa menghasilkan deadlock dengan cara mengikuti urutan tertentu.

 

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.

0 تعليقات

إرسال تعليق

Post a Comment (0)

أحدث أقدم