Penanganan Dan Pencegahan Deadlock

Setelah kita mengetahui apa itu deadlock, tentunya kita harus mengetahui pula cara penanganan bila kita dihadapkan dengan kondisi deadlock ini. Ada beberapa cara yang sanggup dilakukan, diantara cara untuk menangani keadaan deadlock, yaitu:

1.Pengabaian. Maksud dari pengabaian di sini ialah sistem mengabaikan terjadinya deadlock dan akal-akalan tidak tahu jikalau deadlock terjadi. Dalam penanganan dengan cara ini dikenal istilah ostrich algorithm. Pelaksanaan algoritma ini ialah sistem tidak mendeteksi adanya deadlock dan secara otomatis mematikan proses atau jadwal yang mengalami deadlock. Kebanyakan sistem operasi yang ada mengadaptasi cara ini untuk menangani keadaan deadlock. Cara penanganan dengan mengabaikan deadlock banyak dipilih alasannya ialah kasus deadlock tersebut jarang terjadi dan relatif rumit dan kompleks untuk diselesaikan. Sehingga biasanya hanya diabaikan oleh sistem untuk lalu diselesaikan masalahnya oleh user dengan cara melaksanakan terminasi dengan Ctrl+Alt+Del atau melaksanakan restart terhadap komputer.


2.Pencegahan. Penanganan ini dengan cara mencegah terjadinya salah satu karakteristik deadlock. Penanganan ini dilaksanakan pada ketika deadlock belum terjadi pada sistem. Intinya memastikan semoga sistem tidak akan pernah berada pada kondisi deadlock. Akan dibahas secara lebih mendalam pada pecahan selanjutnya.


3.Penghindaran. Menghindari keadaan deadlock. Bagian yang perlu diperhatikan oleh pembaca ialah bahwa antara pencegahan dan penghindaran ialah dua hal yang berbeda. Pencegahan lebih kepada mencegah salah satu dari empat karakteristik deadlock terjadi, sehingga deadlock pun tidak terjadi. Sedangkan penghindaran ialah memprediksi apakah tindakan yang diambil sistem, dalam kaitannya dengan ajakan proses akan sumber daya, sanggup mengakibatkan terjadi deadlock. Akan dibahas secara lebih mendalam pada pecahan selanjutnya.


4.Pendeteksian dan Pemulihan. Pada sistem yang sedang berada pada kondisi deadlock, tindakan yang harus diambil ialah tindakan yang bersifat represif. Tindakan tersebut ialah dengan mendeteksi adanya deadlock, lalu memulihkan kembali sistem. Proses pendeteksian akan menghasilkan info apakah sistem sedang deadlock atau tidak serta proses mana yang mengalami deadlock. Akan dibahas secara lebih mendalam pada pecahan selanjutnya.


Pencegahan deadlock sanggup dilakukan dengan cara mencegah salah satu dari empat karakteristik terjadinya deadlock. Berikut ini akan dibahas satu per satu cara pencegahan terhadap empat karakteristik tersebut.
1.Mutual Exclusion . Kondisi mutual exclusion pada sumber daya ialah sesuatu yang masuk akal terjadi, yaitu pada sumber daya yang tidak sanggup dibagi (non-sharable). Sedangkan pada sumber daya yang sanggup dibagi tidak ada istilah mutual exclusive. Jadi, pencegahan kondisi yang pertama ini sulit alasannya ialah memang sifat dasar dari sumber daya yang tidak sanggup dibagi.
2.Hold and Wait . Untuk kondisi yang kedua, sistem perlu memastikan bahwa setiap kali proses meminta sumber daya, ia tidak sedang mempunyai sumber daya lain. Atau sanggup dengan proses meminta dan mendapat sumber daya yang dimilikinya sebelum melaksanakan eksekusi, sehingga tidak perlu menunggu.
3.No Preemption . Pencegahan kondisi ini dengan cara membolehkan terjadinya preemption. Maksudnya bila ada proses yang sedang mempunyai sumber daya dan ingin mendapat sumber daya tambahan, namun tidak sanggup eksklusif dialokasikan, maka akan preempted. Sumber daya yang dimiliki proses tadi akan diberikan pada proses lain yang membutuhkan dan sedang menunggu. Proses akan mengulang kembali eksekusinya sehabis mendapat semua sumber daya yang dibutuhkannya, termasuk sumber daya yang dimintanya terakhir.
4.Circular Wait . Kondisi 'lingkaran setan' ini sanggup 'diputus' dengan jalan memilih total kebutuhan terhadap semua tipe sumber daya yang ada. Selain itu, dipakai pula prosedur enumerasi terhadap tipe-tipe sumber daya yang ada. Setiap proses yang akan meminta sumber daya harus meminta sumber daya dengan urutan yang menaik. Misalkan sumber daya printer mempunyai nomor 1 sedangkan CD-ROM mempunyai nomor 3. Proses boleh melaksanakan ajakan terhadap printer dan lalu CD-ROM, namun dihentikan sebaliknya.


Sumber http://www.virtualofworld.com/

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel