Langsung ke konten utama

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

Komentar

Postingan populer dari blog ini

Status Proses Sistem Operasi

  Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses. Pada saat proses dieksekusi, akan terjadi perubahan status. Status proses didefinisikan sebagai bagian dari aktivitas proses yang sedang berlangsung saat itu.  Tipa-tiap proses dapat memiliki salah satu status di bawah ini: – New, yaitu status yang dimiliki pada saat proses baru saja dibuat oleh penjadwalan tingkat tinggi, tetapi belum siap melakukan eksekusi – Running, yaitu status yang dimiliki pada saat proses bisa dieksekusi, karena CPU tidak sedang mengerjakan tugas yang lain – Waiting, yaitu status yang dimiliki pada saat proses sedang menunggu beberapa event ...