Sabtu, 09 Mei 2015

Session 9 & 10

Deadlock



Deadlock
adalah suatu kondisi dimana semua proses ingin pakai resources dan tidak ada yang mengalah.



Kondisi dimana sebelum terjadi suatu deadlock disebut deadlock possible.



Condition for Resource Deadlock
-          Mutual exclusion. Satu proses megang satu proses.

-          Hold and wait. Suatu proses akan menahan satu prose sambil dia mengerjakan proses lain setelah itu baru di berikan ke proses lain.Analogi seperti oper makanan atau minuman saat dibagikan secara berderet. Kita akan ambil bagian kita dulu baru kita oper ke orang sebelah kita.

-          No preemption. Hanya bisa di interupsi ketika proses lain dilepas. Ada satu proses sedang mengerjakan suatu resource dan ada proses lain minta, namun tidak diijinkan.
-          Circular wait. Semua proses saling menunggu.


Deadlock Modeling
(a)suatu proses holding suatu proses, (b)suatu proses merequest resource, (c)Deadlock terjadi



Strategy for dealing with deadlock
1.      Ignore the problem (use Ostrich Algoritm)
2.      Detection & recovery. Deadlock occur, detect it, then take action.
3.      Dynamic avoidance
4.      Deadlock Prevention

Deadlock Prevention
-          Untuk mencegah mutual exclusion, cara nya adalah melakukan pembatasan hak akses. Ada file yang di deny writenya, jadi hanya read only. Sehingga tidak menggangu fungsi atau proses write.
-          Kalau hold and wait pencegahannya adalah yang sudah punya resource jangan ditampilin lagi. Istilahnya di blok.

-          No Preemption. Adanya task manager untuk interup suatu proses sehingga proses di paksa berhenti.

"Deadlock not always death"

Tidak ada komentar:

Posting Komentar