Anda di halaman 1dari 7

DEADLOCK = kompi loe nge-HANG tuh..

oleh: Arif Masmawi


mahasiswa S1 Elektronika & Instrumentasi 2 ! "ni#ersitas $a%&ah Ma%a arifmasmawi'we('u)m'a*'i% + arif,%isini-.ahoo'*om

1' /en%ahuluan Sering kali kita menemui kejadian dimana komputer kita tiba-tiba berhenti mendadak entah karena apa. Kejadian ini dikenali sebagai kondisi komputer hang, atau dalam bahasa akademisi disebut sebagai deadlock. Deadlock berarti terkunci mati, atau suatu posisi dua/lebih objek yang saling terikat, terkunci, dan hampir tidak dapat diuraikan kembali. Dalam dunia komputerisasi, deadlock adalah suatu kondisi dimana proses tidak berjalan lagi ataupun tidak ada komunikasi lagi antarproses di dalam sistem operasi. Deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang sedang menunggu sumber daya yang dipegang oleh proses tersebut. [1] 2' /en.e(a( Dea%lo*k enurut !o""man #1$%1& ada empat kondisi yang dapat mengakibatkan terjadinya deadlock, yaitu' 2'1' utual (ksklusi" hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut. emegang dan menunggu proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses tidak mendapat sumber daya dalam )aktu yang lama

2'2'

2'0 *idak ada +reemption sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. ,ntuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan 2'1' !ircular -ait kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya [.]

0' Ilustrasi %ea%lo*k %alam kehi%u2an sehari3hari 0'1 Deadlock pada jembatan

Kendaraan dari sebelah kiri tidak dapat maju karena terhalang oleh kendaraan di depannya, tetapi juga tidak dapat mundur karena terhalang kendaraan dibelakang yang menunggunya. /egitu juga terjadi pada kendaraan di sebelah kanan. Kondisi ini hampir tidak mungkin terurai, sehingga disebut sebagai dedlock. 0'2 Deadlock circular pada persimpangan jalan

Keempat arah kendaraan terhalang oleh kendaraan yang lain dan terjadi saling menunggu. Kondisi ini merupakan deadlock circular.

1' Dea%lo*k 2a%a sistem o2erasi isalkan pada suatu komputer terdapat dua buah program, sebuah tape dri0e dan sebuah printer. +rogram 1 mengontrol tape dri0e, sementara program / mengontrol printer. Setelah beberapa saat, program 1 meminta printer, tapi printer masih digunakan. /erikutnya, / meminta tape dri0e, sedangkan 1 masih mengontrol tape dri0e. Dua program tersebut memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain. *idak ada yang dapat melanjutkan proses masing-masing sampai program yang lain memberikan sumber dayanya, tetapi tidak ada yang mengalah. Kondisi inilah yang disebut Deadlock atau pada beberapa buku disebut Deadly (mbrace Deadlock yang mungkin dapat terjadi pada suatu proses disebabkan proses itu menunggu suatu kejadian tertentu yang tidak akan pernah terjadi. Dua atau lebih proses dikatakan berada dalam kondisi deadlock, bila setiap proses yang ada menunggu suatu kejadian yang hanya dapat dilakukan oleh proses lain dalam himpunan tersebut. 1'1 2lustrasi deadlock pada sistem 1'1'1 3on-deadlock

+ada gambar dia atas, tidak terjadi deadlock karena resource 1 dan . dapat menangani dua permintaan proses, sehingga apabila proses 4 dan 5 selesai dikerjakan, maka proses 1 dan . akan dapat berjalan secara normal. 1'1'2 Deadlock Deadlock terjadi karena resource 1 dan . hanya dapat menangani satu proses, sehingga terbentuk rangkaian melingkar yang saling menunggu.

4' Men)atasi %ea%lo*k 1da beberapa cara untuk mengatasi deadlock yang terjadi pada sistemoperasi, antara lain dengan cara sebagai berikut. [.] 4'1 engabaikan asalah deadlock etode ini lebih dikenal dengan 1lgoritma 6strich. Dalam algoritma ini dikatakan bah)a untuk menghadapi deadlock ialah dengan berpura-pura bah)a tidak ada masalah apapun. 7al ini seakanakan melakukan suatu hal yang "atal, tetapi sistem operasi ,ni8 menanggulangi deadlock dengan cara ini dengan tidak mendeteksi deadlock dan membiarkannya secara otomatis mematikan program sehingga seakan-akan tidak terjadi apapun. 9adi jika terjadi deadlock, maka tabel akan penuh, sehingga proses yang menjalankan proses melalui operator harus menunggu pada )aktu tertantu dan mencoba lagi. Strategi 6strich +endekatan yang paling sederhana adalah dengan menggunakan strategi burung unta' masukkan kepala dalam pasir dan seolah-olah tidak pernah ada masalah sama sekali. /eragam pendapat muncul berkaitan dengan strategi ini. enurut para ahli atematika, cara ini sama sekali tidak dapat diterima dan semua keadaan deadlock harus ditangani. Sementara menurut para ahli *eknik, jika komputer lebih sering mengalami kerusakkan disebabkan oleh kegagalan hard)are, error pada kompilator atau bugs pada sistem operasi. aka ongkos yang dibayar untuk melakukan penanganan deadlock sangatlah besar dan lebih baik mengabaikan keadaan deadlock tersebut. etode ini diterapkan pada sistem operasi ,32: dan 232:. [4] 4'2 endeteksi dan emperbaiki !aranya ialah dengan cara mendeteksi jika terjadi deadlock pada suatu proses maka dideteksi sistem mana yang terlibat di dalamnya. Setelah diketahui sistem mana saja yang terlibat maka diadakan proses untuk memperbaiki dan menjadikan sistem berjalan kembali. 7al-hal yang terjadi dalam mendeteksi adanya deadlock adalah' - +ermintaan sumber daya dikabulkan selama memungkinkan. - Sistem operasi memeriksa adakah kondisi circular )ait secara periodik. - +emeriksaan adanya deadlock dapat dilakukan setiap ada sumber daya yang hendak digunakan oleh sebuah proses. - emeriksa dengan algoritma tertentu.

4'0 1da beberapa jalan untuk kembali dari deadlock' 4'0'1 ;e)at +reemption Dengan cara untuk sementara )aktu menjauhkan sumber daya dari pemakainya, dan memberikannya pada proses yang lain. 2de untuk memberi pada proses lain tanpa diketahui oleh pemilik dari sumber daya tersebut tergantung dari si"at sumber daya itu sendiri. +erbaikan dengan cara ini sangat sulit atau dapat dikatakan tidak mungkin. !ara ini dapat dilakukan dengan memilih korban yang akan dikorbankan atau diambil sumber dayanya utuk sementara, tentu saja harus dengan perhitungan yang cukup agar )aktu yang dikorbankan seminimal mungkin. Setelah kita melakukan preemption dilakukan pengkondisian proses tersebut dalam kondisi aman. Setelah itu proses dilakukan lagi dalam kondisi aman tersebut. 4'0'2 ;e)at melacak kembali Setelah melakukan beberapa langkah preemption, maka proses utama yang diambil sumber dayanya akan berhenti dan tidak dapat melanjutkan kegiatannya, oleh karena itu dibutuhkan langkah untuk kembali pada keadaan aman dimana proses masih berjalan dan memulai proses lagi dari situ. *etapi untuk beberapa keadaan sangat sulit menentukan kondisi aman tersebut, oleh karena itu umumnya dilakukan cara mematikan program tersebut lalu memulai kembali proses. eskipun sebenarnya lebih e"ekti" jika hanya mundur beberapa langkah saja sampai deadlock tidak terjadi lagi. ,ntuk beberapa sistem mencoba dengan cara mengadakan pengecekan beberapa kali secara periodik dan menandai tempat terakhir kali menulis ke disk, sehingga saat terjadi deadlock dapat mulai dari tempat terakhir penandaannya berada. 4'0'0 ;e)at membunuh proses yang menyebabkan deadlock !ara yang paling umum ialah membunuh semua proses yang mengalami deadlock. !ara ini paling umum dilakukan dan dilakukan oleh hampir semua sistem operasi. 3amun, untuk beberapa sistem, kita juga dapat membunuh beberapa proses saja dalam siklus deadlock untuk menghindari deadlock dan mempersilahkan proses lainnya kembali berjalan. 1tau dipilih salah satu korban untuk melepaskan sumber dayanya, dengan cara ini maka masalah pemilihan korban menjadi lebih selekti", sebab telah diperhitungkan beberapa kemungkinan jika si proses harus melepaskan sumber dayanya. Kriteria seleksi korban ialah' 1. <ang paling jarang memakai prosesor .. <ang paling sedikit hasil programnya 4. <ang paling banyak memakai sumber daya sampai saat ini 5. <ang alokasi sumber daya totalnya tersedkit =. <ang memiliki prioritas terkecil

5' /en)alaman 2enulis %alam men)ha%a2i kom2uter %ea%lo*k +ada bagian ini, penulis akan menceritakan pengalamannya dalam mengahadapi deadlock, jadi mungkin bahasa yang akan digunakan jadi kurang "ormal. Saya berpengalaman telah memakai sistem operasi )indo)s dari )indo)s $=, )indo)s $>se, )indo)s millenium, )indo)s :+sp., )indo)s 0ista, dan sedikit )indo)s se0en yang belum lama muncul ini. Sedangkan untuk ;inu8 saya menggunakan ,buntu >. /erdasarkan pengalaman saya, deadlock sering terjadi ketika banyak aplikasi dijalankan dalam satu )aktu. 1palagi jika resource memory / ?1 yang dipakai masih minimalis, mmaka deadlock akan sering terjadi. enggunakan )indo)s $= atau )indo)s $>, saya sering mengalami deadlock bahkan sampai deadlock bisa terjadi begitu saja tanpa membuka aplikasi apapun. 3amun dengan setelah berganti ke sistem operasi )indo)s millenium, deadlock lebih jarang terjadi, dan semakin jarang terjadi ketika menggunakan )indo)s 8p. +ada )indo)s 0ista, )indo)s se0en, dan ,buntu >, saya sama sekali belum pernah menemui kondisi deadlock, meski lebih dari . program aplikasi akti" berjalan. Kondisi deadlock pada )indo)s, rata-rata dapat diatasi dengan @jurus@ menekan tombol ctrlAaltAdel pada keyboard. Kombinasi tombol tersebut memunculkan task manager, sehingga kita dapat meng-kill process yang menyebabkan deadlock. 1pabila usaha tersebut belum berhasil, maka gunakan jurus kedua yaitu tekan tombol reset komputernyaB 9ika tombol reset rusak, matikan saja po)er supply-nya..B Dijamin kondisi deadlock akan hilang setelahnya. !' /enutu2 Demikianlah sedikit berbagi ilmu mengenai kondisi komputer deadlock, atau dalam bahasa gaulnya' nge-hang. Semoga tulisan ini dapat memberi man"aat bagi umat manusia.

referensi: [1] http://dewiwahyuni.ngeblogs.com/2009/12/15/konsep-p oses/ [2] http://bebas.!lsm.o g/!0"/#uliah/$istem%pe asi/200&/51/p oduk/$istem%pe asi/c&'.html [(] http://)o um.anug ahp atama.com/dunia-kompute /mengatasi-deadlock/