Deadlock

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

1. Syarat : Mutual Exclusion

    Langkah : Spooling sumber daya 

    Kelemahan : Dapat menyebabkan chaos

2. Syarat : Hold and Wait

    Langkah : Meminta sumber daya di awal

    Kelemahan : Sulit memperkirakan di awal dan tidak optimal

3. Syarat : No Preemptive

    Langkah : Mengambil sumber daya di tengah proses

    Kelemahan : Hasil proses tidak akan baik

4. Syarat : Circular Wait 

    Langkah : Penomoran permintaan sumber daya

    Kelemahan : Tidak ada penomoran yang emuaskan semua pihak


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 yang dimaksudkan selanjutnya disebut sebagai safe-state, sedangkan keadaan yang tidak memungkinkan 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 yang ditunda 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

Postingan populer dari blog ini

MANAJEMEN PROSES