Berbagi Itu Indah . . .

15/12/2015

SYARAT-SYARAT TERJADI DEADLOCK SECARA UMUM

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:
  1. RAM ( yaitu memori utama yang hak aksesnya hanya dimiliki oleh system)
  2. CPU ( yaitu otak komputer)
  3. I/O ( contohnya  printer, scanner, microfone dan lain lain )
  4. 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.





SYARAT-SYARAT TERJADI DEADLOCK SECARA UMUM Rating: 4.5 Diposkan Oleh: Unknown

4 Responses to "SYARAT-SYARAT TERJADI DEADLOCK SECARA UMUM"

  1. Haloo..
    Saya 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

    ReplyDelete
  2. How to win at casinos | TheJtmHub
    If 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.

    ReplyDelete