Deadlock

20
Deadlock SISTEM OPERASI

description

Deadlock. SISTEM OPERASI. Pengertian dan Latar Belakang. Keadaan dimana 2 atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah - PowerPoint PPT Presentation

Transcript of Deadlock

Page 1: Deadlock

DeadlockSISTEM OPERASI

Page 2: Deadlock

Pengertian dan Latar Belakang Keadaan dimana 2 atau lebih proses saling

menunggu meminta resources untuk waktu yang tidak terbatas lamanya

Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah

Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh 2 proses

Page 3: Deadlock

Model Deadlock

Page 4: Deadlock

Kondisi yang diperlukan

Mutual Exclusion Gengganm dan tunggu No Preemption Menunggu secara sirkuler

Deadlock harus memenuhi semua syarat diatas

Page 5: Deadlock

Resource allocation graph Deadlock dapat digambarkan lebih presisi

dengan menggunakan graph berarah yang disebut resource allocation graph. Graph terdiri atas himpunan titik ( vertex ) V dibagi menjadi dua tipe yaitu himpunan proses yang aktif pada sistem p = {p1,p2…..,pn} dan tipe sumber daya pada sistem R= {R1,R2,….Rm}.

Page 6: Deadlock
Page 7: Deadlock

Metode menangani deadlockTerdapat tiga metode untuk menangani permasalahan deadlock yaitu : Menngunakan protocol untuk menjamin bahwa

sistem tidak pernah memasuki status deadlock Mengizinkan sistem memasuki status deadlock

dan kemudian memperbaikinya. Mengabaikan permasalahan dan seakan-akan

deadlock tidak pernah terjadi pada sistem.

Page 8: Deadlock

Mencegah deadlockMencegah deadlock dilakukan dengan meniadakan salah satu dari syarat sebagai berikut : Mencegah mutual exclusion

Mutual exclusion benar-benar tak dapat dihindari. Hal ini dikarenakan tidak ada sumber daya yang dapat digunakan bersama-sama, jadi sistem harus membawa sumber daya yang tidak dapat digunakan bersama-sama

Page 9: Deadlock

Mencegah Hold and waitUntuk mencegah hold and wait, sistem harus menjamin bila suatu menjamin bila suatu proses meminta sumber daya, maka proses tersebut tidak sedang memegang sumber daya yang lain.

Page 10: Deadlock

Mencegah Non preemptionCara mencegah kondisi non preemption :

Jika suatu proses yang membawa beberapa sumber daya meminta sumber daya lain yang tidak dapat segera dipenihi untuk dialokasikan pada proses tersebut, maka semua sumber daya yang sedang dibawa proses tersebut harus dibebaskan.

Page 11: Deadlock

Proses yang sedang dalam keadaan menunggu, sumber daya yang dibawanya ditunda dan ditambahkan pada daftar sumber daya.

Proses akan di restart hanya jika dapat memperoleh sumber daya yang lama dan sumber daya baru diminta.

Page 12: Deadlock

Menghindari deadlock Metode alterntif untuk menghindari deadlock

adalah digunakan informasi tambahan tentang bagaimana sumber daya dimita. Misalnya pada sistem dengan satu tape drive dan satu printer, proses P pertama meminta tape drive dan kemudian printer sebelum melepaskan kedua sumber daya tersebut. Sebaliknya proses Q perama meminta printer kemudian tape drive.

Page 13: Deadlock

State selamat Ketika suatu proses meminta sumber daya

yang tersedia, sistem harus menentukan apakah alokasi sumber daya pada proses mengakibatkan sistem dalam safe state. Sistem dikatakan dalam safe state jika sistem dapat mengalokasikan sumber daya untuk setiap proses secara berurutan dan menghindari deadlock.

Page 14: Deadlock

Algoritma resource allocation graph

Untuk menghindari deadlock pada sistem yang hanya mempunyai satu anggota untuk setiap tipe sumber daya, dapat digunakan algoritma resource allocation graph. Clain edge pi Rj manandakan bahwa proses pi mungkin meminta sumber daya Rj yang direpresentasikan dengan garis pututs-putus.

Page 15: Deadlock

Clain adge akan berubah ke request adge bila proses meminta sumber daya. Bila sumber daya dibebaskan oleh proses, assigment diubah ke claim edge. Sumber daya sebelumnya harus diklaim pada sistem. Sehingga sebelum proses pi mulai dieksekusi, semua claim edge harus muncul pada resource allocation graph.

Page 16: Deadlock

Algoritma bankerAlgoritma resource allocation graph tidak dapat diaplikasikan pada sistem yang mempunyai beberapa anggota pada setiap tipe sumber daya. Setiap proses sebelum dieksekusi harus menentukan jumlah sumber daya maksimum yang dibutuhkan. Jika suatu proses meminta sumber daya, maka kemungkinan proses harus menunggu.

Page 17: Deadlock

Kelemahan algoritma banker

Di awal proses, proses-proses jarang mengetahui jumlah maksimum sumber daya yang akan diperlukan.

Jumlah proses tidak tetap, secara dinamis beragam begitu user baru login gan logout.

Sumber daya yang dihitung sebagai tersedia dapat saja tiba-tiba ditinggalkan sehingga sebenarnya menjadi tidak tersedia.

Proses-proses harus independent, yaitu urutan proses-proses dieksekusi tidak dibatasi kebutuhan sinkronisasi antarproses.

Algoritma menghendaki memberikan semua permintaan selama waktu yang berhingga.

Algoritma menghendaki client-client mengembalikan sumber daya setelah suatu waktu yang berhingga.

Page 18: Deadlock

Mendeteksi deadlock Jika sistem tidak menyediakan algoritma mencegah deadloch deadloch. Pada lingkungan ini sistem harus menyediakan : Algoritma yang menguji state sistem untuk

menentukan apakah deadloch telah terjadi. Algoritma untuk memperbaiki dari

deadloch.

Page 19: Deadlock

Perbaikan terhadap deadloch

Terdapat dua pilihan untuk membebaskan deadlock. Satu solusi sederhana adalah dengan menghentikan satu atau beberapa proses untu membebaskan kondisi menunggu sirkular. Pilihan kedua adalah menunda beberapa sumber kondisi daya dari satu atau lebih proses yang deadloch.

Page 20: Deadlock

Sekian dan terima kasih