Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehSucianty Inge Agusalim Telah diubah "6 tahun yang lalu
1
DEADLOCK Situasi Deadlock terjadi, jika:
Proses diberi akses eksklusif ke device. Device ini juga disebut resource/ sumber daya. Contoh: dua proses hendak merekam dokumen yang di scan kedalam sebuah CD Resources Preemptable. Non Preemptable
2
Urutan langkah untuk menggunakan resource:
Request resource Use resource Release resource Perolehan Resource Menggunakan semaphore untuk setiap resource Syarat Kondisi Deadlock : Kondisi mutual exclusion Kondisi hold and wait Kondisi No Preemption Kondisi circular wait
3
Strategi untuk menghadapi Deadlock : Ignore( abaikan )
Pemodelan Deadlock Model Holt ( 1972 ) (a). Proses A menggunakan resource R. (b). Proses B meminta/menunggu resource S (c). Deadlock, proses C dan D meminta resource T dan U Strategi untuk menghadapi Deadlock : Ignore( abaikan ) Detection and Recovery Dynamic avoidance, dengan cara mengalokasikan resource secara berhati – hati Prevention, dengan cara menghilangkan salah satu kondisi Deadlock
5
Algoritma Ostrich “Stick your head in the sand and pretend there is no problem at all” (menganggap tidak ada masalah). Layak, jika: Deadlock jarang terjadi Biaya pencegahan (prevention) sangat mahal. Deteksi Deadlock dan Pemulihan (Deadlock Detection and Recovery) Deteksi deadlock dengan satu resource untuk setiap jenis
6
Contoh: sebuah sistem dengan 7 proses (A – G) dan 6 resource (R – W), dengan status pemilikan dan permintaan resource sbb: A holds R, wants S B holds nothing, wants T C holds nothing, wants S D holds U, wants S and T E holds T, wants S and T F holds W, wants S G holds V, wants U
7
Tanda panah akan diberi tanda untuk mengetahui sudah dilewati dan menggunakan struktur data, L, daftar simpul: Untuk setiap simpul / node, N dalam graph, kerjakan 5 langkah berikut dengan N sebagai simpul awal. Inisialisasi L menjadi daftar kosong, dan semua tanda panah belum di-tandai. Tambahkan simpul yang dikunjungi ke daftar L dan periksa apakah simpul muncul dua kali dalam daftar L. Jika ya, maka dalam graph terdapat siklus dan algoritma selesai. Dari simpul yang sudah anda tentukan, ikuti jika ada tanda panah keluar yang belum di-tandai. Jika ada, kerjakan langkah 5; jika tidak kerjakan langkah 6. Pilih sebuah tanda panah keluar secara acak dan beri tanda. Kemudian ikuti ke simpul berikutnya dan kerjakan langkah 3. Kita sampai ke jalan buntu. Kembali ke simpul sebelumnya dan kerjakan langkah 3. Jika simpul ini adalah simpul awal maka graph tidak terdapat siklus dan algoritma selesai.
8
Empat struktur data yang diperlukan untuk algoritma
Deteksi deadlock dengan banyak resource untuk setiap jenis Existing resource vector Available resource vector Current allocation matrix Request matrix Empat struktur data yang diperlukan untuk algoritma deteksi deadlock
9
Algoritma deteksi deadlock sbb:
Cari proses Pi yang belum di-tandai, dimana baris ke-i mempunyai R ≤ A. Jika proses yang dicari ditemukan, tambahkan C dari baris ke-i ke A, tandai proses dan kembali ke langkah 1. Jika proses yang dicari tidak ada, algoritma selesai. Contoh:
10
Pemulihan dari Deadlock
Jika deadlock terjadi, apa yang harus dilakukan agar sistem bekerja kembali? Pemulihan melalui preemption Pemulihan melalui rollback Pemulihan melalui killing process
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.