DEADLOCK - PowerPoint PPT Presentation

Deadlock
Download
1 / 15

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

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

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