Deadlock
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

DEADLOCK PowerPoint PPT Presentation


  • 53 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

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


Deadlock

DEADLOCK


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


Traffic deadlock

Traffic 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


Deadlock

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.


  • Login