DeadLock pada sistem operasi

Ketika menggunakan komputer, pernah kah terjadi hang, not responding atau bahkan layar monitor hanya berwarna biru saja? Barangkali itu adalah salah satu jenis dari deadlock pada Sistem Operasi kita. Deadlock adalah keadaan dimana dua proses atau lebih saling menunggu meminta sumberdaya untuk waktu yang tidak tertentu(terbatas) lamanya.
deadlock
Deadlock sering dianalogikan dengan keadaan jalan raya yang mogok(macet) ataupun jalan buntu.
Masalah deadlock terjadi karena penggunaan sumberdaya (resources) yang digunakan secara bersama-sama.

Penyebab terjadinya deadlock adalah :
a. mutual exclusion, yaitu suatu keadaan dimana hanya ada satu proses saja yang boleh memakai resource, proses yang lain harus menunggu sampai proses tadi benar-benar selesai. contoh mutual exclusion adalah “buffering” ketika kita menonton video.
b. Hold and Wait,yaitu keadaan dimana suatu proses ‘kelaparan’ sumberdaya. Suatu proses menunggu suatu sumberdaya dalam waktu yang lama hingga sumberdaya tersebut tidak terpakai oleh proses lainnya.
c. No Pre-emption, yaitu keadaan dimana suatu sumberdaya tidak boleh diambil(dipakai) begitu saja/secara paksa oleh proses yang lainnya sehingga suatu proses harus menunggu hingga proses yang sedang memakai sumberdaya benar-benar telah selesai.
d. circular wait, yaitu suatu keadaan dimana proses yang lain membutuhkan sumberdaya yang sedang dipakai oleh suatu proses sehingga timbul antrian melingkar (waiting chain) seperti halnya rantai.
Keempat penyebab timbulnya deadlock hampir sama yaitu penggunaan sumber daya dan waktu tunggu oleh suatu proses atau lebih.

Berikut adalah beberapa cara untuk menangani deadlock :
1. Cara pencegahan (prevention), yaitu mencegah terjadinya deadlock. Dalam hal ini, penyebab deadlock harus diketahui sebelumnya kemudian memastikan bahwa slah satu keadaan yang penting tidak akan meninmbulkan deadlock.
2. Cara penolakan/menghindari (avoidance), yaitu melakukan pendataan terhadap proses-proses yang kira-kira akan menghabiskan sumberdaya.
3. Detection and Recovery, yaitu mendeteksi dan memperbaiki. Mendeteksi sistem apasaja yang terlibat jika terjadi deadlock, setelah mendeteksi, sistem diperbaiki.
4. Mengabaikan deadlock, yaitu membiarkan deadlock seolah tidak terjadi apa-apa dan membiarkan deadlock tersebut mematikan program. Hal ini merupakan algoritma Ostrich untuk menangani deadlock.

Regards..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s