DEADLOCK, CARA MENGHINDARINYA
DAN MACAM SUMBER DAYA
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.
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 :
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)
- http://blog.ub.ac.id/marlo/2012/05/24/apa-sih-deadlock-itu-gimana-cara-pencegahannya-dan-mendeteksi
(pada hari jum’at, 26 April 2013 --- 22.05 WIB)
(pada hari jum’at, 26 April 2013 --- 22.25 WIB)
0 komentar:
Posting Komentar
Terima Kasih Komentarnya.....