Deadlock merupakan suatu kondisi ketika terdapat
proses-proses yang :
a.
Saling memperebutkan
b.
Saling menunggu
c.
Saling menghalangi
Kondisi Resource Deadlock
a. Mutual exclusion: kondisi pada saat
resource hanya dapat digunakan oleh resource
- Hold and wait: kondisi pada saat proses tersebut sedang menggunakan resource, tapi proses tersebut juga sedang menggunakan resource
- No preemption: kondisi pada saat tidak dapat meng-interrupt proses yang sedang menggunakan resource, ajdi harus menunggu samapai proses tersebut melepas resourcenya
- Circular wait: kondisi ketika proses saling menuggu resource yang lain, sehingga membentuk lingkaran
Solusi untuk mengatasi
jenis-jenis deadlock :
1.
Mutual exclusion
Dengan mmebuat perancangan atau key, yang
memungkin dimana hanya ada satu yang dapat menulis, tapi bisa terdapat multiple
access yang dapat mebaca
2.
Hold and wait
Setiap proses yang hendak meminta resource
lain hendaknya melepas resource yang ia pakai terlebih dahulu, sebelum meminta
resource lain
3.
No preemption
Jika terdapat suatu proses yang meminta
resource dari proses lain, OS hendaknya me-preempt proses yang meminta
resource, dan mengalihkannya untuk menggunakan resource yang lain
4.
Circular wait
Solusinya mirip dengan hold and wait, dimana
hendaknya proses yang meminta resource harus melepaskan resourcenya terlebih
dahulu sebelum meminta resource yang lain
Gambar deadlock modelling :
Contoh deadlock :
Solusi deadlock :
Srategi untuk mengatasi deadlock :
1.
Gunakan Ostrich algorithm untuk menolak masalah
(Resource graph allocation)
2.
Lakuakan deteksi dan pemulihan
3.
Hindari pengalokasian resource secara dinamis
4.
Lakukan pencegahan dengan memikirkan kondisi
kondisi yang mungkin terjadi.
Cara melakukan deadlock avoidance :
1.
Kita perlu mengetahui terlebih dahulu maximum
resource yang ada agar disesuaikan dengan jumlah resource yang dibutuhkan
2.
Buat blocking ketika resource sedang digunakan
3.
Tentukan jumlah pengalokasian
Deadlock avoidance dengan menggunakan Safe and Unsafe state
:
Tidak ada komentar:
Posting Komentar