1 / 20

Deadlock

Deadlock. SISTEM OPERASI. Pengertian dan Latar Belakang. Keadaan dimana 2 atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah

yoko
Télécharger la présentation

Deadlock

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Deadlock SISTEM OPERASI

  2. Pengertian dan Latar Belakang • Keadaandimana 2 ataulebihprosessalingmenunggumeminta resources untukwaktu yang tidakterbataslamanya • Analoginyasepertipadakondisijalanrayadimanaterjadikemacetanparah • Deadlock adalahefeksampingdarisinkronisasi, dimanasatuvariabeldigunakanoleh 2 proses

  3. Model Deadlock

  4. Kondisiyang diperlukan • Mutual Exclusion • Gengganmdantunggu • No Preemption • Menunggusecarasirkuler Deadlock harusmemenuhisemuasyaratdiatas

  5. Resource allocation graph • Deadlock dapatdigambarkanlebihpresisidenganmenggunakan graph berarah yang disebut resource allocation graph. Graph terdiriatashimpunantitik ( vertex ) V dibagimenjadiduatipeyaituhimpunan proses yang aktifpadasistem p = {p1,p2…..,pn} dantipesumberdayapadasistem R= {R1,R2,….Rm}.

  6. Metodemenangani deadlock Terdapattigametodeuntukmenanganipermasalahan deadlock yaitu : • Menngunakan protocol untukmenjaminbahwasistemtidakpernahmemasuki status deadlock • Mengizinkansistemmemasuki status deadlock dankemudianmemperbaikinya. • Mengabaikanpermasalahandanseakan-akan deadlock tidakpernahterjadipadasistem.

  7. Mencegah deadlock Mencegah deadlock dilakukandenganmeniadakansalahsatudarisyaratsebagaiberikut : • Mencegah mutual exclusion Mutual exclusion benar-benartakdapatdihindari. Hal inidikarenakantidakadasumberdaya yang dapatdigunakanbersama-sama, jadisistemharusmembawasumberdaya yang tidakdapatdigunakanbersama-sama

  8. Mencegah Hold and wait Untukmencegah hold and wait, sistemharusmenjaminbilasuatumenjaminbilasuatu proses memintasumberdaya, maka proses tersebuttidaksedangmemegangsumberdaya yang lain.

  9. Mencegah Non preemption Cara mencegahkondisi non preemption : • Jikasuatu proses yang membawabeberapasumberdayamemintasumberdaya lain yang tidakdapatsegeradipenihiuntukdialokasikanpada proses tersebut, makasemuasumberdaya yang sedangdibawa proses tersebutharusdibebaskan.

  10. Proses yang sedangdalamkeadaanmenunggu, sumberdaya yang dibawanyaditundadanditambahkanpadadaftarsumberdaya. • Proses akan di restart hanyajikadapatmemperolehsumberdaya yang lama dansumberdayabarudiminta.

  11. Menghindari deadlock • Metodealterntifuntukmenghindari deadlock adalahdigunakaninformasitambahantentangbagaimanasumberdayadimita. Misalnyapadasistemdengansatu tape drive dansatu printer, proses P pertamameminta tape drive dankemudian printer sebelummelepaskankeduasumberdayatersebut. Sebaliknya proses Q peramameminta printer kemudian tape drive.

  12. State selamat • Ketikasuatu proses memintasumberdaya yang tersedia, sistemharusmenentukanapakahalokasisumberdayapada proses mengakibatkansistemdalam safe state. Sistemdikatakandalam safe state jikasistemdapatmengalokasikansumberdayauntuksetiap proses secaraberurutandanmenghindari deadlock.

  13. Algoritma resource allocation graph Untukmenghindari deadlock padasistem yang hanyamempunyaisatuanggotauntuksetiaptipesumberdaya, dapatdigunakanalgoritma resource allocation graph. Clain edge pi Rjmanandakanbahwa proses pi mungkinmemintasumberdayaRj yang direpresentasikandengangarispututs-putus.

  14. Clainadgeakanberubahke request adgebila proses memintasumberdaya. Bilasumberdayadibebaskanoleh proses, assigmentdiubahke claim edge. Sumberdayasebelumnyaharusdiklaimpadasistem. Sehinggasebelum proses pi mulaidieksekusi, semua claim edge harusmunculpada resource allocation graph.

  15. Algoritma banker Algoritma resource allocation graph tidakdapatdiaplikasikanpadasistem yang mempunyaibeberapaanggotapadasetiaptipesumberdaya. Setiap proses sebelumdieksekusiharusmenentukanjumlahsumberdayamaksimum yang dibutuhkan. Jikasuatu proses memintasumberdaya, makakemungkinan proses harusmenunggu.

  16. Kelemahanalgoritma banker • Di awal proses, proses-proses jarangmengetahuijumlahmaksimumsumberdaya yang akandiperlukan. • Jumlah proses tidaktetap, secaradinamisberagambegitu user baru login gan logout. • Sumberdaya yang dihitungsebagaitersediadapatsajatiba-tibaditinggalkansehinggasebenarnyamenjaditidaktersedia. • Proses-proses harus independent, yaituurutan proses-proses dieksekusitidakdibatasikebutuhansinkronisasiantarproses. • Algoritmamenghendakimemberikansemuapermintaanselamawaktu yang berhingga. • Algoritmamenghendaki client-client mengembalikansumberdayasetelahsuatuwaktu yang berhingga.

  17. Mendeteksi deadlock Jikasistemtidakmenyediakanalgoritmamencegahdeadlochdeadloch. Padalingkunganinisistemharusmenyediakan : • Algoritma yang menguji state sistemuntukmenentukanapakahdeadlochtelahterjadi. • Algoritmauntukmemperbaikidarideadloch.

  18. Perbaikanterhadapdeadloch • Terdapatduapilihanuntukmembebaskan deadlock. Satusolusisederhanaadalahdenganmenghentikansatuataubeberapa proses untumembebaskankondisimenunggusirkular. Pilihankeduaadalahmenundabeberapasumberkondisidayadarisatuataulebih proses yang deadloch.

  19. Sekian dan terima kasih

More Related