Transcript Pertemuan 6

Matakuliah: Sistem Operasi
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
2. Menurut Sri Kusuma Devi
Suatu kondisi dimana 2 proses atau lebih tidak dapat
meneruskan eksekusinya.
1.
Ilustrasi Deadlock
Prinsip Deadlock
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 :
1. Kondisi mutual exclusion

Kondisi hold and wait
Kondisi No Preemption
2.
3.

4.
Pada suatu saat hanya satu proses yang menggunakan suatu
resource
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 :
1.
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.
3. 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.
4. Circular wait yaitu dengan memberikan nomor pada
resource misal
2.
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 :
1. Algoritma Resource-Allocation Graph
2. Algoritma Banker
3. Algoritma safety