Deadlock
Download
1 / 15

DEADLOCK - PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' DEADLOCK' - amelia-shelton


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Ilustrasi
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



Fase penggunaan resource
FAsepenggunaan resource

  • Request

    • PermintaanProsesuntukmenggunakan Resource

    • Jika Resource sedangdipakaiolehproses yang lain makaProsesharusmenunggusampai Request bisamemperoleh Resource

  • Use

    • Prosesbisamengoperasikan Resource

  • Release

    • Prosesmelepaskan Resource


Kondisi penyebab deadlock
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.


Kondisi penyebab deadlock1
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.


Algoritma pencegah deadlock
Algoritmapencegahdeadlock

  • Safe State

    • Yaitumemastikansemuaprosesdalamkondisi yang tidakterjadi deadlock

    • Ex: Resource = 12


Algoritma pencegah deadlock1
Algoritmapencegahdeadlock

  • AlgoritmaBankir

    • Yaituadabankir yang meminjamkanpadanasabah, setiapnasabahdiberibataspinjaman, tentunyanasabahmeminjamsecarabertahap, bankirmemprioritaskan yang pinjamannyalebihbesar.Faktornya :

      • SumberdayaTersedia

      • Maximum permintaan

      • Alokasi tiap2 proses

      • Kebutuhan


Resource allocation graph
Resource allocation GRaph

  • Deadlock bisadenganmudahdiketahuidenganmenggambarkankedalambentuk yang disebut “Resource Allocation Graph”

  • Resource digambarkandalambentukberikut

  • Prosesdigambarkandalambentukberikut

  • Penggunaan prosesmenggunakanbentuk

.

P1


RAG

  • Mengetahui Graph apakahada yang deadlock

    • JikatidakAda Cycle/Putaranmakatidakadapotensi deadlock

    • Jikaada Cycle/Putaranmakaadapotensi deadlock

    • Resource dgn instance tunggaldanperputaranmengakibatkan deadlock


Contoh rag
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?


Contoh rag1
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?


Menangani deadlock
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


Menangani deadlock1
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.


Menangani deadlock2
Menangani deadlock

  • Menghiraukan Deadlock tersebut (metodeAlgoritma Ostrich)

    • Sistemmenghiraukan, danjika deadlock makatabelakanpenuhsehinggaproses yang barutidakakanbisamasuklagi

    • Dipakaidisebagianbesar OS termasuk Unix.


ad