1 / 15

DEADLOCK

DEADLOCK. ilustrasi. Di dalam lingkungan multiprogramming, beberapa proses mungkin beradu cepat untuk memperoleh resource. Sebuah proses membutuhkan resource, apabila resource tidak ada maka proses akan memasuki Wait state.

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

  2. ilustrasi • Di dalamlingkungan multiprogramming, beberapaprosesmungkinberaducepatuntukmemperoleh resource. • Sebuahprosesmembutuhkan resource, apabila resource tidakadamakaprosesakanmemasuki Wait state. • Adakemungkinanprosestersebuttidakakanpindahke state berikutnya, karena resource yang dimintamasihdipakaiproses lain yang sedangmenunggujuga. • Kondisiinilahdisebut DEADLOCK

  3. Traffic DEADLOCK

  4. FAsepenggunaan resource • Request • PermintaanProsesuntukmenggunakan Resource • Jika Resource sedangdipakaiolehproses yang lain makaProsesharusmenunggusampai Request bisamemperoleh Resource • Use • Prosesbisamengoperasikan Resource • Release • Prosesmelepaskan Resource

  5. Kondisipenyebab deadlock • Mutual Exclusion • Hanyaadasatuproses yang bolehmemakaisumberdaya,danproses lain yang inginmemakaisumberdayatersebutharusmenungguhinggasumberdayatadidilepaskanatautidakadaproses yang memakaisumberdayatersebut. • Hold & Wait • Proses yang sedangmemakaisumberdayabolehmemintasumberdayalagimaksudnyamenungguhinggabenar-benarsumberdaya yang dimintatidakdipakaiolehproses lain, halinidapatmenyebabkankelaparansumberdayasebabdapatsajasebuahProsestidakmendapatsumberdayadalamwaktu yang lama.

  6. Kondisipenyebab deadlock • No PreEmption • Sumberdaya yang adapadasebuahprosestidakbolehdiambilbegitusajaolehproseslainnya. Untukmendapatkansumberdayatersebut, makaharusdilepaskanterlebihdahuluolehproses yang memegangnya, selainituseluruhprosesmenunggudanmempersilahkanhanyaproses yang memilikisumberdaya yang bolehberjalan • Circular Wait • Kondisi P0 menunggu P1, lalu P1 menunggu P2, P2 menunggu P0 jadisepertirantai.

  7. Algoritmapencegahdeadlock • Safe State • Yaitumemastikansemuaprosesdalamkondisi yang tidakterjadi deadlock • Ex: Resource = 12

  8. Algoritmapencegahdeadlock • AlgoritmaBankir • Yaituadabankir yang meminjamkanpadanasabah, setiapnasabahdiberibataspinjaman, tentunyanasabahmeminjamsecarabertahap, bankirmemprioritaskan yang pinjamannyalebihbesar.Faktornya : • SumberdayaTersedia • Maximum permintaan • Alokasi tiap2 proses • Kebutuhan

  9. Resource allocation GRaph • Deadlock bisadenganmudahdiketahuidenganmenggambarkankedalambentuk yang disebut “Resource Allocation Graph” • Resource digambarkandalambentukberikut • Prosesdigambarkandalambentukberikut • Penggunaan prosesmenggunakanbentuk . P1

  10. RAG • Mengetahui Graph apakahada yang deadlock • JikatidakAda Cycle/Putaranmakatidakadapotensi deadlock • Jikaada Cycle/Putaranmakaadapotensi deadlock • Resource dgn instance tunggaldanperputaranmengakibatkan deadlock

  11. Contoh RAG • P(process)={P1,P2,P3} ; R(res)={R1,R2,R3,R4} ; • E(edge)={P1R1,P2R3,R1P2, R2P2,R2P1,R3P3} Apakahproses deadlock?

  12. Contoh RAG • P(process)={P1,P2,P3} ; R(res)={R1,R2,R3,R4} ; • E(edge)={ P1R1,P2R3,R1P2, R2P2,R2P1,R3P3,P3R2} Apakah proses2 tsbt deadlock?

  13. Menangani deadlock • MenghentikanProses • Menghentikanseluruhproses • Menghentikansalahsatuprosesdengancost terkecil, antara lain: • Yang memiliki prioritas terkecil • Berapa lama prosessudahdikerjakandanberapa lama lagiprosesmemerlukanwaktuuntukselesai • Berapabanyakdan resource apa yang digunakansehinggamudahuntukdihentikan • Berapabanyak resource yang diperlukan • Berapabanyakproses yang perludihentikan • ApakahProsesdalam mode interaktifataukah batch

  14. Menangani deadlock • Resource PreEmption • Memilihprosessebagaikorban, dengankriteria • Jumlah resource yang digunakanolehproses yang deadlock. • Waktu yang diperlukanolehprosesuntukmenyelesaikanpekerjaan. • Rollback/Mengulang • Yaitudenganmenghentikanseluruhprosesdanmengulanginyadariawal • Starvation / Kelaparan Resource • Yaitudenganmengulangprosestetapimenghindariproses yang menyebabkankekurangan resource.

  15. Menangani deadlock • Menghiraukan Deadlock tersebut (metodeAlgoritma Ostrich) • Sistemmenghiraukan, danjika deadlock makatabelakanpenuhsehinggaproses yang barutidakakanbisamasuklagi • Dipakaidisebagianbesar OS termasuk Unix.

More Related