syarat terjadinya deadlock
v
Secara Umum, Deadlock adalah keadaan dimana dua program memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain.
SySecara Umum, Deadlock adalah keadaan dimana dua program memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain.
v Syarat terjadinya Deadlock ada 4,
yaitu :
Ø
Mutual Exclusion
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.
Contoh: Misalnya ada sebuah jaringan komputer sebuah Bank,
dimana server untuk penyimpanan data terpusat. Seorang nasabah dapat melakukan
penyimpanan maupun penarikan dari cabang mana saja dan kapan saja termasuk
pengambilan lewat ATM. Sehingga jika ingin data tepat, jika ada salah satu
nasabah melakukan transaksi, record nasabah bersangkutan harus dikunci supaya
record tersebut tidak dapat akses oleh orang lain. Setelah transaksi selesai,
record tempat data nasabah disimpan, record baru dibuka kembali. Ini adalah
salah satu contoh penjaminan bahwa satu sumber daya hanya bisa dipakai oleh
satu proses.
Ø
Hold and Wait
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 waktu yang lama.
Contoh: ada dua pendikte yang ingin
mengdikte secara bersamaan kepada notulis
Hal itu yang membuat no tulis bingung dengan
hal ini no tulis dapat meminta kepada pendikte untuk membacakan secara
bergiliran atau jika harus bersamaan maka keputusan yang tepat adalah harus
mengorbankann salah satu pendikte. Jadi no tulis hanya mendengarkan satu pendikte
saja.
Ø
No Preemption
Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh
proses lainnya. Untuk 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.
Contoh: pada printer
seperti ketika suatu proses telah diberikan akses ke sana, proses harus
diselesaikan dalam operasi tanpa ganggua
Ø
Circular Wait
Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang
dipegang proses berikutnya.
Contoh: Misalnya, komputer memiliki tiga drive USB
dan tiga proses. Masing-masing dari tiga proses tersebut dapat menampung salah
satu drive USB. Jadi, ketika setiap proses meminta drive lain, ketiga proses
tersebut akan mengalami situasi kebuntuan karena setiap proses akan menunggu
drive USB dilepaskan, yang saat ini sedang digunakan. Ini akan menghasilkan
rantai melingkar.
v Contoh nyata sehari-hari di jalan raya
Ø mutual
exclusion
Hanya satu mobil boleh menempati setiap
persimpangan pada suatu waktu
Ø hold
and wait
Mobil boleh diam di persimpangan ketika
menunggu untuk sampai ke persimpangan berikutnya
Ø no
preemption
Mobil tidak dapat dipindahkan dari
tempatnya pada arus lalulintas, hanya dapat jalan ke depan
Ø circular
waiting
Kumpulan mobil dalam situasi deadlock
termasuk juga mobil yang ada di tengah
persimpangan
http://generasiwacana.blogspot.com/2015/12/pengertian-deadlock-distributed-system.html
Komentar
Posting Komentar