Sal
Administrator
Seorang penulis yang suka belajar hal baru dan dunia fotografi
2 min read

Pengertian Deadlock dan Cara Mengatasinya di Sistem Operasi

Posted in Sistem Operasi

Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses untuk melepaskan seumber daya atau resources yang sedang dipakai. Mudahnya, ada proses A yang membutuhkan suatu resources, tetapi resources tersebut sedang dipakai oleh proses lain. Untuk lebih paham tentang pengertian deadlock dan cara mengatasinya, anda dapat membandingkan dengan situasi berikut: Dalam kehidupan, tentunya anda membutuhkan pekerjaan. Untuk memperoleh pekerjaan, anda harus punya pengalaman. Untuk punya pengalaman, anda harus bekerja.

Pengertian Deadlock dan Cara Mengatasinya

Deadlock terjadi karena sebuah proses membutuhkan resources tertentu, tetapi resources tersebut sedang digunakan oleh process lain. Padahal proses lain tersebut tidak akan melepaskan resources selama proses yang dilakukannya belum selesai. [caption id="attachment_1994" align="aligncenter" width="590"]pengertian deadlock dan cara mengatasinya Deadlock pada lalu lintas[/caption]

Syarat Terjadinya Deadlock

Ada empat kondisi yang menyebabkan terjadinya deadlock, dimana seluruh kondisi tersebut harus terpenuhi. Kondisi tersebut adalah: Mutual Exclusion, mutual exclusion terjadi ketika resource yang digunakan adalah resource yang non shareable. Hold and Wait, terdapat suatu proses yang menahan resource, padahal resource tersebut telah dialokasikan oleh proses yang lain No Preemption, resource yang telah di alokasikan untuk sebuah proses tidak dapat didahului oleh proses lain. Circular Wait, beberapa proses membentuk urutan rantai berbentuk sirkular dimana masing-masing proses menunggu proses sebelumnya untuk selesai.

Cara Mencegah Deadlock

Ada tiga metode yang dapat digunakan untuk mencegah deadlock, yaitu: Ignore Deadlock Membiarkan deadlock terjadi, dan ketika deadlock benar-benar terjadi sistem operasi akan mengabaikannya (kebanyakan OS melakukan hal tersebut). Memastikan deadlock tidak terjadi dengan cara mencegah salah satu kondisi terjadinya deadlock agar tidak pernah terjadi. Membiarkan deadock terjadi, tetapi hal ini membutuhkan deteksi terhadap kondisi proses jika terjadi deadlock, selanjutnya sistem operasi harus memperbaiki kondisi tersebut dengan cara memperoleh kembali resource yang menyebabkan deadlock. Mohon koreksinya jika ada kesalahan. Semoga bermanfaat.