coba_dulu

silahkan_menikmati_blog_ini

22 Mei, 2010

Deadlock

Di posting oleh Annaas Pamungkas

          Menurut bahasa arti dari kata deadlock adalah kondisi buntu. Di dalam Sistem Operasi Deadlock memiliki arti suatu kondisi dimana sekumpulan proses tidak dapat berjalan kembali akibat adanya saling menunggu antara dua atau lebih proses yang menunggu suatu kejadian dan kejadian tersebut hanya dapat di lakukan oleh proses lainnya, dan hal ini dapat di sebabkan karena tidak adanya komunikasi antar proses.
          Seperti telah disebutkan pada pengartian di atas bahwa kondisi Deadlock marupakan kondisi dimana dua atau lebih proses yang saling menunggu. Contoh nyata yang berada pada persimpangan jalan gambar dibawah ini:


          Dalam kasus tersebut setiap mobil bergerak sesuai nomor yang ditentukan, tetapi tanpa pengaturan yang benar, maka setiap mobil akan bertemu pada satu titik yang permanen atau bisa dikatakan bahwa setiap mobil tidak bisa melanjutkan perjalanan lagi atau dengan kata lain terjadi deadlock. Mobil digambarkan sebagai proses yang sedang menuju sumber daya. Untuk mengatasinya beberapa mobil harus preempt (mundur). Sangat memungkinkan untuk terjadinya starvation (kondisi proses tak akan mendapatkan sumber daya). Contoh lain pada proses yang secara umum terdiri dari tiga tahap, yaitu untuk meminta, memakai, dan melepaskan sumber daya yang di mintanya.

          Contoh lainnya yaitu, misalkan pada suatu komputer terdapat dua buah program, sebuah tape drive dan sebuah printer. Program A mengontrol tape drive, sementara program B mengontrol printer. Setelah beberapa saat, program A meminta printer, tapi printer masih digunakan. Berikutnya, B meminta tape drive, sedangkan A masih mengontrol tape drive. Dua program tersebut memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain. Tidak 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 Embrace

          Kejadian Deadlock selalu tidak lepas dari sumber daya, bahwa hampir seluruhnya merupakan masalah sumber daya yang digunakan bersama-sama. Oleh karena itu, kita juga perlu tahu tentang jenis sumber daya, yaitu: sumber daya dapat digunakan lagi berulang-ulang dan sumber daya yang dapat digunakan dan habis dipakai atau dapat dikatakan sumber daya sekali pakai. Sumber daya ini tidak habis dipakai oleh proses mana pun.Tetapi setelah proses berakhir, sumber daya ini dikembalikan untuk dipakai oleh proses lain yang sebelumnya tidak kebagian sumber daya ini. Contohnya prosesor, Channel I/O, disk, semaphore. Contoh peran sumber daya jenis ini pada terjadinya Deadlock ialah misalnya sebuah proses memakai disk A dan B, maka akan terjadi Deadlock jika setiap proses sudah memiliki salah satu disk dan meminta disk yang lain. Masalah ini tidak hanya dirasakan oleh pemrogram tetapi oleh seorang yang merancang sebuah sistem operasi. Cara yang digunakan pada umumnya dengan cara memperhitungkan dahulu sumber daya yang digunakan oleh proses-proses yang akan menggunakan sumber daya tersebut. Contoh lain yang menyebabkan Deadlock dari sumber yang dapat dipakai berulang-ulang ialah berkaitan dengan jumlah proses yang memakai memori utama. 

Tidak ada komentar: