Matakuliah: Sistem Operasi Pertemuan 6 Deadlock
Learning Outcome Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat menerangkan proses terjadinya deadlock
Outline Materi Pengertian Deadlock, Resources Pemodelan Deadlock Strategi menghadapi Deadlock
What is Deadlock ? Menurut William Stalling Suatu Kondisi dimana terjadi permanen bloking dari sebuah proses sehingga tidak bisa menyeleseikan proses tersebut dikarenakan bersaing dengan proses yang lain untuk mengakses sumber daya yang sama Menurut Sri Kusuma Devi Suatu kondisi dimana 2 proses atau lebih tidak dapat meneruskan eksekusinya.
Ilustrasi Deadlock
Prinsip Deadlock Resources ada 2 jenis : Preemptable. Non Preemptable. Situasi Deadlock terjadi, jika: Proses diberi akses eksklusif ke device. Device ini juga disebut resource/ sumber daya. Resources ada 2 jenis : Preemptable. Contohnya : Memori Utama Memori dipakai bergantian tanpa menimbulkan fail. Non Preemptable. Contoh Burn CD, Printing Kalau tiba-tiba CD, printer diganti bias mengakibatkan fail.
Prinsip Deadlock Syarat Kondisi Deadlock : Kondisi mutual exclusion Pada suatu saat hanya satu proses yang menggunakan suatu resource Kondisi hold and wait Kondisi No Preemption Tidak ada resource yg dpt dipaksa dilepaskan dari proses yg sedang menggunakannya Kondisi circular wait Note : Deadlock akan dpt terjadi apabila kondisi 1,2, dan 3 ada, Kondisi ke-4 sdh deadlock, dan kondisi ke-4 ini akan ada jika kondisi 1,2 dan 3 ada.
Pemodelan Deadlock Proses A menggunakan resource R. Proses B meminta/menunggu resource S. Deadlock, proses C dan D meminta resource T dan U.
Metode untuk mengendalikan Deadlock Ignore ( abaikan saja deadlock aja kok dipikirin, kalau cuma terjadinya setahun sekali ! ) Detection and Recovery Mendeteksi kemudian ambil action Dynamic avoidance, dengan cara mengalokasikan resource secara berhati - hati Prevention, dengan cara menghilangkan salah satu kondisi Deadlock , seperti : Mutual Exclusion yaitu Menjaga agar resource yang bersifat non-shareable tidak boleh dilakukan secara simultan. Biasanya menggunakan file yg bersifat read only
(cont..) Hold & wait yaitu Jika proses ingin mengakses suatu resource maka proses tersebut harus melepaskan semua resource yang sedang diakses. No Preemption yaitu Jika suatu proses meminta ijin untuk menggunakan resource yang bersifat non preemtable dan resource tersebut tidak bisa diakses secepatnya maka proses tersebut harus melepaskan semua resource yang sedang diaksesnya. Circular wait yaitu dengan memberikan nomor pada resource misal R1,R2,R3,R4,R5. Jika P0 sedang mengakses R2, maka P0 hanya boleh untuk mengakses R3, R4,R5.dst.
Deadlock Avoidence Membuat algoritma yang meyakinkan bahwa tidak ada kondisi circular-wait. Diantaranya yaitu : Algoritma Resource-Allocation Graph Algoritma Banker Algoritma safety