Topan Husain. Diberdayakan oleh Blogger.

DEADLOCK dan MACAM SUMBER DAYA


DEADLOCK, CARA MENGHINDARINYA 
DAN MACAM SUMBER DAYA

Pengertian Deadlock
Deadlock dalam arti sebenarnya adalah kebuntuan. Kebuntuan yang dimaksud dalam sistem operasi adalah kebuntuan proses. Jadi Deadlock ialah suatu kondisi dimana proses tidak berjalan lagi ataupun tidak ada komunikasi lagi antar proses dan sering kita sebut “HAANG”. 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. Dengan kata lain setiap proses dalam set menunggu untuk sumber yang hanya dapat dikerjakan oleh proses lain dalam set yang sedang menunggu.

Hal ini bisa disebabkan karena untuk setiap sumber daya yang dibutuhkan suatu sistem akan mengawasi ketersediaan sumber daya yang dibutuhkan, yang berarti sistem akan masuk kedalam status yang tidak aman, atau dapat dikatakan hasil dari status tersebut akan mengakibatkan terjadinya deadlock. Deadlock bisa dihindari dengan menghilangkan faktor penyebab dari terjadinya deadlock itu sendiri seperti menghilangkan : Mutual exclusion, Hold and wait condition, No preemption condition (Lockout), dan The circular wait condition. 

Penyebab Terjadinya DeadLock 
Menurut 1971 article by E. G. Coffman dalam artikelnya yang diterbitkan pada tahun 1971 terdapat empat penyebab terjadi deadlock yang dikenal sebagai Coffman conditions :
1.       Mutual exclusion, suatu sumber daya tidak bisa berbagi dengan lebih dari satu proses.
2.       Hold and wait condition, suatu proses yang telah mempunyai sumber daya kemungkinan meminta sumber daya yang baru.
3.      No preemption condition, Begitu diberi jatah waktu pemroses maka prosesor tidak dapat diambil alih oleh proses lain sampai proses itu selesai (run to completion) .
4.      Circular wait condition, adanya kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya.


Cara Menghindari Deadlock

Deadlock bisa dihindari jika mempunyai informasi mengenai proses yang tersedia serta sumber daya yang akan dibutuhkannya. Untuk setiap sumber daya yang dibutuhkan suatu sistem akan mengawasi ketersediaan sumber daya yang dibutuhkan, yang berarti sistem akan masuk kedalam status yang tidak aman, atau dapat dikatakan hasil dari status tersebut akan mengakibatkan terjadinya deadlock atau disebut juga hang. Sebuah sistem hanya akan menjamin permintaan dalam keadaan status aman, dalam permintaan suatu sistem untuk mengetahui bahwa status yang dijalankannya itu aman atau tidak adalah dengan mengetahui setiap tipe dari setiap proses dan banyaknya sumber daya yang ada, tersedia, dan yang dibutuhkan. Algorithm yang digunakan untuk menghindari deadlock salah satunya adalah Banker’s Algoritm, yang digunakan untuk mengetahui batas sumber daya yang dibutuhkan oleh suatu proses. Bagaimanapun, untuk kebanyakan sistem tidaklah mungkin untuk dapat diketahui apa yang dibutuhkan oleh proses, ini berarti bahwa menghindari deadlock atau hang hampir tidaklah mungkin.
1.      Jangan memulai proses apapun jika proses tersebut akan membawa kita pada kondisideadlock, sehingga tidak mungkin terjadi deadlock karena ketika akan menuju deadlocksudah dicegah
2.      Jangan memberi kesempatan pada suatu proses untuk meminta sumber daya lagi jika penambahan ini akan membawa kita pada suatu keadaan deadlock
Jadi diadakan dua kali penjagaan, yaitu saat pengalokasian awal, dijaga agar tidak deadlock dan ditambah dengan penjagaan kedua saat suatu proses meminta sumber daya, dijaga agar jangan sampai terjadi deadlock. Pada deadlock avoidance sistem dilakukan dengan cara memastikan bahwa program memiliki maksimum permintaan. Dengan kata lain cara sistem ini memastikan terlebih dahulu bahwa sistem akan selalu dalam kondisi aman. Baik mengadakan permintaan awal ataupun saat meminta permintaan sumber daya tambahan, sistem harus selalu berada dalam kondisi aman.

Macam Sumber Daya
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.
A.    Sumber Daya yang Bisa Dipakai Berulang-Ulang
Sumber daya ini tidak habis dipakai oleh proses manapun.Tetapi setelah proses berakhir, sumber daya ini dikembalikan untuk dipakai oleh proses lain yang sebelumnya tidak kebagian sumber daya ini. Contohnya prosesor, kanal I/O, disk, semaphores. 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.

B.     Sumber Daya Sekali Pakai
Dalam kondisi biasa tidak ada batasan untuk memakai sumber daya apapun, selain itu dengan tidak terbatasnya produksi akan membuat banyak sumber daya yang tersedia.Tetapi dalam kondisi ini juga dapat terjadi deadlock.

SUMBER :
 (pada hari jum’at, 26 April 2013 --- 21.55 WIB)
 (pada hari jum’at, 26 April 2013 --- 22.05 WIB)
 (pada hari jum’at, 26 April 2013 --- 22.25 WIB)

Penulis : aku kasih tahu ~ Sebuah blog yang menyediakan berbagai macam informasi

Artikel DEADLOCK dan MACAM SUMBER DAYA ini dipublish oleh aku kasih tahu pada hari Rabu, 01 Mei 2013. Semoga artikel ini dapat bermanfaat.Terimakasih atas kunjungan Anda silahkan tinggalkan komentar.sudah ada 0 komentar: di postingan DEADLOCK dan MACAM SUMBER DAYA
 

0 komentar:

Posting Komentar

Terima Kasih Komentarnya.....