PENGENDALIAN DEADLOCK Deadlock Deadlock merupakan kondisi dimana ada

  • Slides: 18
Download presentation
PENGENDALIAN DEADLOCK

PENGENDALIAN DEADLOCK

Deadlock �Deadlock merupakan kondisi dimana ada lebih dari satu transaksi berada dalam keadaan menunggu

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.

Deadlock ……(Cont. . 1) �Lebih jauh dapat dikatakan ada sekumpulan transaksi yang sedang menunggu

Deadlock ……(Cont. . 1) �Lebih jauh dapat dikatakan ada sekumpulan transaksi yang sedang menunggu (T 0, T 1, …. Tn) sedemikian sehingga T 0 menunggu pemakaian sebuah item data yang sedang dipegang oleh T 1, dan T 1 sedang menunggu pemakaian sebuah item data yang sedang dipegang oleh T 2 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 T 0.

Metode Dasar Mengatasi Deadlock �Deadlock Prevention (Pencegahan Deadlock) �Deadlock Detection and deadlock recovery (Pendeteksian

Metode Dasar Mengatasi Deadlock �Deadlock Prevention (Pencegahan Deadlock) �Deadlock Detection and deadlock recovery (Pendeteksian deadlock dan pemulihan deadlock.

Pencegahan Deadlock �Pendekatan pertama, menjamin bahwa tidak ada siklus penantian yang terjadi dengan mengantrikan

Pencegahan Deadlock �Pendekatan 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.

Skema Pencegahan Deadlock �Skema wait-die yang didasarkan pada teknik ketiadaan pemilikan (nonpreemption technique). �Skema

Skema Pencegahan Deadlock �Skema 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.

Pendeteksian dan Pemulihan Deadlock �Jika terjadi deadlock, maka sistem harus berusaha memulihkan sistem tersebut

Pendeteksian dan Pemulihan Deadlock �Jika 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.

Pendeteksian dan Pemulihan Deadlock (cont…… 1) 2. Menyediakan sebuah algoritma yang menggunakan informasi ini

Pendeteksian dan Pemulihan 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.

Pendeteksian Deadlock �Deadlock dapat digambarkan dengan lebih rinci dengan memanfaatkan graph yang disebut dengan

Pendeteksian Deadlock �Deadlock 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 simpul E mewakili sekumpulan busur.

Pendeteksian Deadlock…cont 1 �Setiap deadlock akan terjadi di dalam sistem jika dan hanya jika

Pendeteksian Deadlock…cont 1 �Setiap 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.

Pendeteksian Deadlock…cont 2 �Untuk mengilustrasikan konsep ini, perhatikan graph berikut yang menunjukkan situasi :

Pendeteksian Deadlock…cont 2 �Untuk mengilustrasikan konsep ini, perhatikan graph berikut yang menunjukkan situasi : a. Transaksi T 12 yang sedang menunggu transaksi T 13 dan T 14 b. Transaksi T 14 yang sedang menunggu transaksi T 13. c. Transaksi T 13 yang sedang menunggu transaksi T 15.

Ilustrasi Pendeteksian Deadlock T 13 T 15 T 12 T 14 �Graph di atas

Ilustrasi Pendeteksian Deadlock T 13 T 15 T 12 T 14 �Graph di atas tidak memiliki siklus, maka sistem tidak berada dalam kondisi deadlock

Ilustrasi Pendeteksian Deadlock…. . cont 1 �Anggaplah sekarang transaksi T 15 membutuhkan item data

Ilustrasi Pendeteksian Deadlock…. . cont 1 �Anggaplah sekarang transaksi T 15 membutuhkan item data yang sedang dipegang oleh T 14. �Busur menunjukkan T 15 T 14 ditambahkan pada graph. �Kondisinya akan mengalami perubahan, sehingga sistem yang baru terlihat pada gambar.

Ilustrasi Pendeteksian Deadlock…. . cont 2 T 13 T 15 T 12 T 14

Ilustrasi Pendeteksian Deadlock…. . cont 2 T 13 T 15 T 12 T 14 �Maka pada saat ini, graph mengandung sebuah siklus T 13 T 15 T 14 T 13 yang mengakibatkan transaksi T 13, T 14 dan T 15 mengalami kondisi deadlock.

�Jika deadlock sering terjadi, maka algoritma pendekteksian deadlock harus juga lebih sering diaktifkan. �Item-item

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

Pemulihan dari Deadlock �Ketika algoritma pendeteksian deadlock dapat mengetahui terjadinya deadlock, sistem harus melakukan

Pemulihan dari Deadlock �Ketika 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.

Pemulihan dari Deadlock cont 2 �Terdapat tiga Aksi yang harus dilakukan, yaitu : 1.

Pemulihan dari Deadlock cont 2 �Terdapat tiga Aksi yang harus dilakukan, yaitu : 1. Pemilihan Korban 2. Rollback 3. Starvation

Tugas �Simak kembali Masalah terjadinya Deadlock dengan mengacu pada pokok bahasan Deadlock yang terdapat

Tugas �Simak 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.