Secara
Sederhana, Deadlock adalah Keadaan dimana beberapa program mengalami jalan buntu.
Secara Umum,
Deadlock adalah
keadaan dimana dua program 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. 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.
Sirkulasi Deadlock yaitu :
Resource
Resource
adalah segala macam sumber yang di butuhkan proses untuk menjalankan atau
mengeksekusi suatu program hingga selesai di eksekusi.
Dalm konteks
ini resource dapan berupa kapasitas RAM, CPU, Hardisk dan lain sebagainya.
Contoh bentuk resource:
- RAM ( yaitu memori utama yang hak aksesnya hanya dimiliki
oleh system)
- CPU ( yaitu otak komputer)
- I/O ( contohnya
printer, scanner, microfone dan lain lain )
- Dan lain sebagainya
Syarat Terjadinya Deadlock
a.
Mutual
exclusion
Mutual
exclusion.
Adalah suatu keadaan dimana 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.
b.
Hold and
wait
Hold and
wait, yaitu
dimana 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.
c.
No
preemption
No
preemption,
Yaitu Ketika 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.
d.
Circular
wait
Circular
Wait, yaitu
kondisi yang menyatakan bahwa adanya rantai saling meminta sumber daya yang
dimiliki oleh suatu proses oleh proses lainnya.
Ketiga
kondisi pertama merupakan syarat perlu (necessary conditions) bagi terjadinya
deadlock. Keberadaan deadlock selalu berarti terpenuhi kondisi-kondisi diatas,
tak mungkin terjadi deadlock bila tidak ada ketiga kondisi itu. Deadlock
terjadi berarti terdapat ketiga kondisi itu. tetapi adanya ketiga kondisi itu belum
berarti terjadi deadlock. Deadlock baru benar-benar terjadi bila kondisi
keempat terpenuhi. Kondisi keempat merupakan keharusan bagi terjadinya
peristiwa deadlock. Bila salah satu saja dari kondisi tidak terpenuhi maka
deadlock tidak terjadi.
Resource Allocation Graph
adalah
sebuah cara untuk menentukan apakah ada deadlock, atau kemungkinan
terjadinya deadlock. Jadi disini menentukan sebuah sistem apakah akan deadlock
apa sudah deadlock.
Strategi
untuk menghadapi deadlock sangat banyak, tetepi metode yang
tepat dan sering dipakai adalah metode Burung Unta, berikut beberapa metode
yang digunakan untuk menanggulangi deadlock :
A. Metode Burung
Unta
metode ini
sama dengan kelakuan burung unta yang masukkan kepala dalam pasir dan
seolah-olah tidak pernah ada masalah sama sekali. Beragam pendapat muncul
berkaitan dengan strategi ini. Menurut para ahli Matematika, cara ini sama sekali
tidak dapat diterima dan semua keadaan deadlock harus ditangani.
B.
Memastikan bahwa deadlock tidak akan pernah ada, baik
dengan metode Pencegahan, dengan mencegah empat kondisi deadlock agar
tidak akan pernah terjadi. Metode Menghindari deadlock, yaitu
mengizinkan empat kondisi deadlock, tetapi menghentikan setiap proses
yang kemungkinan mencapai deadlock.
C.
Membiarkan deadlock untuk terjadi,
pendekatan
ini membutuhkan dua metode yang saling mendukung, yaitu:
·
Pendeteksian deadlock, untuk mengidentifikasi
ketika deadlock terjadi.
·
Pemulihan deadlock, mengembalikan kembali sumber daya
yang dibutuhkan pada proses yang memintanya.
Deadlock Prevention
Deadlock
Prevention adalah cara pencegahan agar suatu Sistem Operasi tidak terjadi
Deadlock. Ada empat cara pencegahan deadlock, sbg:
1. Mencegah
mutual exclusion
Mutual
exclusion tidak dapat dihindari. jika tidak ada sumber daya yang secara khusus
diperuntukkan bagi suatu proses maka tidak akan pernah terjadi deadlock. Namun
jika membiarkan ada dua atau lebih proses mengakses sebuah sumber daya yang
sama akan menyebabkan chaos. Langkah yang digunakan adalah dengan spooling
sumber daya, yaitu dengan mengantrikan.
2. Mencagah
hold and wait
Dilakukan
dengan cara:
sistem harus
menjamin bila suatu proses meminta sumber daya, maka proses tersebut tidak
sedang memegang sumber daya yang lain.
Hold and
release (genggam dan lepas).
3. Mencegah
Non Preemption
Peniadaan
non preemption mencegah proses-proses lain harus menunggu. Seluruh proses
menjadi preemption, sehingga tidak ada tunggu menunggu. Cara mencegah kondisi
non preemption :
Jika suatu
proses yang membawa beberapa sumber daya meminta sumber dayalain yang tidak
dapat segera dipenuhi untuk dialokasikan pada proses tersebut, maka semua
sumber daya yang sedang dibawa proses tersebut harusdibebaskan. Proses yang
sedang dalam keadaan menunggu, sumber daya yang dibawanya ditunda dan
ditambahkan pada daftar sumber daya. Proses akan di restart hanya jika dapat
memperoleh sumber daya yang lama dan sumber daya baru yang diminta.
4. Mencegah
kondisi menunggu sirkular
Dilakukan
dengan cara:
Proses hanya
boleh dilakukan menggenggam satu sumber daya pada suatu saat
Penomoran
global semua sumber daya.
Deadlock Avoidence
Menghindari
deadlock memerlukan system yang memiliki tambahan priority informasi.
1.
Model yang paling sederhana dan paling bermanfaat memerlukan pernyataan dari
tiap proses mengenai jumlah maksimum(maximum number)sumber daya dari setiap
jenis yang mukin membutuhkan.
2.
Deadlock-avoidance algoritthmyang dinamis menguji status alokasi sumber daya
untuk memastikan bahwa tidak akan pernah terjadi kondisi circular-wait.
3.
Resource-allocation status yang digambarkan oleh jumlah dan ketersediaan dari
alokasi sumber daya,dan permintaan maksimum dari proses.
Kesimpulan
Kesimpulanya
adalah Deadlock adalah suatu keadaan dimana dua program atau lebih yang saling
menunggu resource untuk melakukan proses mereka.
Perbedan antara No preemtion dengan Hold and Wait
berbedaanya
adalah pada kebutuhan program akan resouce, jadi seperti yang sudah dijelaskan,
bahwa hold and wait itu satu program sedang menggunakan 1 resource akan tetapi
dia membutuhkan reource yang lain, sedangkan No preemttion adalh program
membutuhkan resource akan tetapi tresource sedang digunakan oleh program lain,
dan dia harus menunggu sampai resource di lepaskan.
Haloo..
ReplyDeleteSaya sangat tertarik melihat postingan Anda tentang "Deadlock Pada Komputer" dan bahasanya pun sangat mudah dimengerti.
Namun sayangnya menurut saya, artikelmu masih sedikit kurang lengkap.
Nah, saya ingin memberikan sedikit artikel kepada kamu, barangkali bisa dijadikan sumber yang tepat untuk menambah konten di websitemu. Berikut artikel dari saya :
komputer67.blogspot.com/2017/10/penjelasan-lengkap-tentang-deadlock.html
Artikel tersebut membahas mengenai "Deadlock Pada Komputer" secara mendetail dan lengkap dengan algoritma2nya beserta ilustrasi yang jelas.
Semoga artikel dari saya tersebut bisa kamu jadikan sumber di dalam konten blogmu sehingga kontenmu menjadi lebih berkualitas !
Salam, Frank
OK
ReplyDeleteHow to win at casinos | TheJtmHub
ReplyDeleteIf you have a winning ticket to 전라남도 출장안마 a slot, 창원 출장안마 you can win the casino bonus. The game itself is not 영주 출장마사지 a casino bonus and you 정읍 출장샵 will 용인 출장마사지 not be able to win any cash prizes.
realistic dildo,dog dildo,horse dildo,sex toys
ReplyDelete