Apa Itu Deadlock?

Deadlock adalah situasi di mana dua program dalam komputer yang berbagi sumber daya saling menghalangi satu sama lain untuk mengakses sumber daya tersebut. Akibatnya, kedua program tidak dapat berjalan dan berhenti berfungsi.

Pada awalnya, sistem operasi komputer hanya menjalankan satu program dalam satu waktu, sehingga semua sumber daya bisa digunakan oleh program tersebut tanpa masalah. Seiring berkembangnya teknologi, sistem operasi mulai menjalankan beberapa program secara bersamaan dengan metode interleaving. Dalam metode ini, program harus menentukan sumber daya yang dibutuhkan agar tidak terjadi konflik dengan program lain.

Selanjutnya, sistem operasi berkembang dengan menawarkan alokasi sumber daya secara dinamis. Artinya, program bisa meminta tambahan sumber daya setelah berjalan. Namun, hal ini justru memunculkan masalah deadlock. Berikut contoh sederhana:

 Program 1 meminta sumber daya A dan mendapatkannya. Program 2 meminta sumber daya B dan mendapatkannya. Program 1 meminta sumber daya B dan masuk dalam antrean, menunggu pelepasan B. Program 2 meminta sumber daya A dan masuk dalam antrean, menunggu pelepasan A.

Pada kondisi ini, kedua program tidak bisa melanjutkan karena masing-masing menunggu sumber daya yang sedang digunakan oleh program lain. Sistem operasi pun tidak tahu harus melakukan apa. Satu-satunya cara untuk mengatasi deadlock ini adalah dengan menghentikan salah satu program.

Pemahaman tentang deadlock sangat memengaruhi pengembangan sistem operasi dan struktur database. Oleh karena itu, data harus disusun dengan baik dan urutan permintaan sumber daya harus dikendalikan agar deadlock bisa dihindari.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *