pengendalian deadlock

18
PENGENDALIAN DEADLOCK PENGENDALIAN DEADLOCK

Upload: vesta

Post on 25-Feb-2016

130 views

Category:

Documents


4 download

DESCRIPTION

PENGENDALIAN DEADLOCK. Deadlock. Deadlock merupakan kondisi dimana ada lebih dari satu transaksi berada dalam keadaan menunggu (waiting state) untuk melakukan akses / perubahan terhadap suatu item data yang rupanya sedang dikunci oleh transaksi lain yang juga sedang menunggu. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PENGENDALIAN DEADLOCK

PENGENDALIAN PENGENDALIAN DEADLOCKDEADLOCK

Page 2: PENGENDALIAN DEADLOCK

DeadlockDeadlockDeadlock merupakan kondisi

dimana ada lebih dari satu transaksi berada dalam keadaan menunggu (waiting state) untuk melakukan akses / perubahan terhadap suatu item data yang rupanya sedang dikunci oleh transaksi lain yang juga sedang menunggu.

Page 3: PENGENDALIAN DEADLOCK

Deadlock ……(Cont..1)Deadlock ……(Cont..1)Lebih jauh dapat dikatakan ada

sekumpulan transaksi yang sedang menunggu (T0, T1, ….Tn) sedemikian sehingga T0 menunggu pemakaian sebuah item data yang sedang dipegang oleh T1, dan T1 sedang menunggu pemakaian sebuah item data yang sedang dipegang oleh T2 dan seterusnya hingga Tn-1 sedang menunggu pemakaian item data yang sedang dipegang Tn, dan Tn sedang menunggu pemakaian sebuah item data yang sedang dipegang oleh T0.

Page 4: PENGENDALIAN DEADLOCK

Metode Dasar Mengatasi Metode Dasar Mengatasi DeadlockDeadlockDeadlock Prevention

(Pencegahan Deadlock)Deadlock Detection and deadlock

recovery (Pendeteksian deadlock dan pemulihan deadlock.

Page 5: PENGENDALIAN DEADLOCK

Pencegahan DeadlockPencegahan DeadlockPendekatan pertama, menjamin bahwa

tidak ada siklus penantian yang terjadi dengan mengantrikan permintaan penguncian, atau dengan mensyaratkan semua penguncian harus terpenuhi secara bersamaan.

Pendekatan Kedua, mendekati cara pemulihan deadlock (deadlock recovery) dan membentuk pembatalan transaksi (rollback) sebagai ganti penantian penguncian, ketika penantian tersebut potensial menghasilkan kondisi deadlock.

Page 6: PENGENDALIAN DEADLOCK

Skema Pencegahan Skema Pencegahan DeadlockDeadlockSkema wait-die yang didasarkan

pada teknik ketiadaan pemilikan (nonpreemption technique).

Skema Wound-wait, yang didasarkan pada teknik kepemilikan (preemption technique) dan merupakan lawan dari skema wait-die.

Page 7: PENGENDALIAN DEADLOCK

Pendeteksian dan Pemulihan Pendeteksian dan Pemulihan DeadlockDeadlockJika terjadi deadlock, maka sistem

harus berusaha memulihkan sistem tersebut dari kondisi deadlock tersebut dengan beberapa cara sebagai berikut :

1. Memelihara cukup informasi yang berkaitan dengan alokasi data yang sedang digunakan transaksi dan juga item data yang sedang dibutuhkan oleh transaksi-transaksi tersebut.

Page 8: PENGENDALIAN DEADLOCK

Pendeteksian dan Pemulihan Pendeteksian dan Pemulihan Deadlock (cont……1)Deadlock (cont……1)2. Menyediakan sebuah algoritma

yang menggunakan informasi ini untuk menentukan apakah sistem telah berada dalam kondisi deadlock atau tidak.

3. Memulihkan sistem dari kondisi deadlock ketika algoritma tersebut dapat mendeteksi adanya deadlock.

Page 9: PENGENDALIAN DEADLOCK

Pendeteksian DeadlockPendeteksian DeadlockDeadlock dapat digambarkan

dengan lebih rinci dengan memanfaatkan graph yang disebut dengan Graph wait-for.

Graph ini terdiri dari pasangan G = (V,E)V mewakili sekumpulan simpulE mewakili sekumpulan busur.

Page 10: PENGENDALIAN DEADLOCK

Pendeteksian Deadlock…Pendeteksian Deadlock…cont 1cont 1Setiap deadlock akan terjadi di dalam

sistem jika dan hanya jika dalam Graph wait-for tersebut terdapat beberapa siklus.

Setiap transaksi yang terlibat dalan siklus dikatakan terkena dedalock.

Untuk mendeteksi deadlock, sistem perlu mengelola graph ini dan secara periodik menjalankan algoritma untuk memeriksa ada tidaknya siklus di dalam graph tersebut.

Page 11: PENGENDALIAN DEADLOCK

Pendeteksian Deadlock…Pendeteksian Deadlock…cont 2cont 2Untuk mengilustrasikan konsep

ini, perhatikan graph berikut yang menunjukkan situasi :a. Transaksi T12 yang sedang menunggu transaksi T13 dan T14b. Transaksi T14 yang sedang menunggu transaksi T13.c. Transaksi T13 yang sedang menunggu transaksi T15.

Page 12: PENGENDALIAN DEADLOCK

Ilustrasi Pendeteksian Ilustrasi Pendeteksian DeadlockDeadlock

Graph di atas tidak memiliki siklus, maka sistem tidak berada dalam kondisi deadlock

T12

T13

T14

T15

Page 13: PENGENDALIAN DEADLOCK

Ilustrasi Pendeteksian Ilustrasi Pendeteksian Deadlock…..Deadlock…..cont 1cont 1Anggaplah sekarang transaksi

T15 membutuhkan item data yang sedang dipegang oleh T14.

Busur menunjukkan T15 T14 ditambahkan pada graph.

Kondisinya akan mengalami perubahan, sehingga sistem yang baru terlihat pada gambar.

Page 14: PENGENDALIAN DEADLOCK

Ilustrasi Pendeteksian Ilustrasi Pendeteksian Deadlock…..Deadlock…..cont 2cont 2

Maka pada saat ini, graph mengandung sebuah siklus T13 T15 T14 T13 yang mengakibatkan transaksi T13, T14 dan T15 mengalami kondisi deadlock.

T12

T15

T14

T13

Page 15: PENGENDALIAN DEADLOCK

Jika deadlock sering terjadi, maka algoritma pendekteksian deadlock harus juga lebih sering diaktifkan.

Item-item data yang dialokasikan untuk transaksi-transaksi yang mengalami deadlock tidak akan diperoleh oleh transaksi lain hingga kondisi deadlock teralam tersebut diatasi.

Selanjutnya, jumlah siklus dalam graph tersebut bisa saja bertambah.

Dalam kondisi terburuk, maka kita dapat mengaktifkan algoritma pendeteksian deadlock ini setiap kali sebuah permintaan pengalokasian data tidak dapat dipenuhi dengan segera.

Page 16: PENGENDALIAN DEADLOCK

Pemulihan dari DeadlockPemulihan dari DeadlockKetika algoritma pendeteksian

deadlock dapat mengetahui terjadinya deadlock, sistem harus melakukan langkah pemulihan (recovery).

Solusi yang paling umum, dengan menjalankan proses rollback pada satu atau beberapa transaksi untuk lepas dari kondisi deadlock.

Page 17: PENGENDALIAN DEADLOCK

Pemulihan dari DeadlockPemulihan dari Deadlockcont 2cont 2Terdapat tiga Aksi yang harus

dilakukan, yaitu : 1. Pemilihan Korban

2. Rollback 3. Starvation

Page 18: PENGENDALIAN DEADLOCK

TugasTugasSimak kembali Masalah terjadinya

Deadlock dengan mengacu pada pokok bahasan Deadlock yang terdapat pada Mata Kuliah Sistem Operasi.

Uraikan tentang Metode-metode Penanggulangan Deadlock dan uraikan tentang Keunggulan dan Kelemahan dari masing-masing metode.