Deadlock terjadi ketika dua atau lebih proses saling menunggu satu sama lain untuk melepaskan sumber daya yang sedang digunakan, sehingga menyebabkan keduanya terkunci secara permanen. Terdapat empat kondisi yang perlu terpenuhi agar terjadi deadlock, yaitu eksklusivitas bersamaan, tahan dan tunggu, tidak dapat di-preempt, dan menunggu sirkuler. Deadlock dapat dimodelkan menggunakan graf dengan simpul
5. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK
• Deadlock refers to a specific condition when two
or more processes are each waiting for another
to release a resource, or more than two
processes are waiting for resources in a circular
chain (see Necessary conditions).
(en.wikipedia.org)
• Deadlock merujuk pada kondisi tertentu ketika dua atau lebih
proses sama-sama saling menunggu proses lain untuk melepas
proses atau lebih dari dua proses saling menuggu sumber daya
(resources) dalam satu waktu.
6. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK
PROCESS
A
PROCESS
B
PROCESS
CNOTE :
Use Resrouces
= = Wating Resources
7. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK
• Pada gambar diatas, PROSES A menggunakan Resource
CDROM, disatu sisi terdapat 2 proses lain yaitu PROSES B
dan PROSES C yang ingin menggunakan Resource CDROM.
• Permasalahannya adalah PROSES B dan PROSES C tidak
mengetahui kapan PROSES A selesai menggunakannya dan
selama itu PROSES B dan PROSES C menunggu terus untuk
menggunakan CDROM.
• Jika PROSES B dan PROSES C terus menunggu dan
sedangkan PROSES A tidak melepaskan CDROM tersebut,
maka yang terjadi akan terjadi penumpukan penggunaan
MEMORI bagi PROSES B dan PROSES C. Dan jika terus
terjadi akan menyebabkan kehabisan memory dan
otomatis terjadi DEADLOCK.
8. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK
• Gambar dibawah ini merupakan salah satu
contoh terjadinya deadlock pada komputer
9. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK
• A Deadlock occurs when two or more tasks
permanently block each other by each task
having a lock on a resource which the other
tasks are trying to lock.
(technet.microsoft.com)
• Deadlock terjadi ketika dua atau lebih proses mengeblok secara
permanen sebuah resource dari penggunaan proses lain.
10. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK
RESOURCE
A
RESOURCE
B
PROSES
X
PROSES
Y
HOLD
REQUEST
HOLD
REQUEST
11. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK
• Penjelasan Gambar diatas :
– Proses X menggunakan Resource A, Proses Y
menggunakan Resource B.
– Proses X dan Proses Y, sama sama menggunakan dan
tidak mau untuk melepas Resource yang ada. Padahal
Proses X ingin menggunakan Resource B, Proses Y
ingin menggunakan Resource A.
– Karena masing-masing proses tidak ingin melepas
Resource yang telah digunakan dan masing-masing
proses juga sangat ingin menggunakan Resource
lainnya juga, jika keadaan ini berlangsung terus, maka
akan menyebabkan DEADLOCK.
12. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK
DEADLOCK
CONDITION
MUTUAL EXCLUSION
CONDITION
HOLD AND WAIT
CONDITION
NO PREEMPTION
CONDITION
CIRCULAR WAIT
CONDITION
13. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK
• Mutual Exlusion :
– Kondisi dimana hanya ada satu proses yang dapat menggunakan sumber daya
yang ada.
– Contoh : Proses yang berjalan dalam mode DOS
• Hold and Wait :
– Kondisi dimana terdapat proses yang sedang menjalankan sebuah tugas
(menggunakan sumber daya komputer) sebelum selesai, dapat meminta
pekerjaan yang baru (meminta job baru ).
• No Preemption :
– Kondisi dimana satu proses yang berjalan dan menggunakan Resource tidak
dapat disela sampai proses tersebut selesai.
– Contoh : Burning data ke CD.
• Circular Wait :
– Kondisi dimana satu proses menunggu proses lain untuk menyelesaikan
pekerjaanya dan proses lain tersebut masuk kedalam lingkaran proses
14. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK MODELING
• Pemodelan Deadlock dapat digunakan graf.
• Kenapa Graf ? Karena Graf mempunyai Node
Awal dan Tujuan.
• Dalam Teori Graf : Lingkaran sebagai Proses
dan Kotak sebagai Sumber Daya (Resource).
15. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK MODELING
A
R B
S
U
D
C
T
A B C
16. INSTITUT TEKNOLOGI ADHI TAMA SURABAYA – ANDY RACHMAN, ST – 2016
DEADLOCK MODELING
• Penjelasan Gambar diatas :
A. Proses A menggunakan Resource R.
B. Proses B meminta pelayanan untuk menggunakan
Resource S.
C. Pada gambar C: Terjadinya Deadlock hal ini
dikarenakan Proses D menggunakan Resource T,
selama menggunakan Resource T, Proses D juga
meminta pelayanan untuk menggunakan Resource
U, padahal Resource U digunakan oleh Proses C dan
selama itu pula Proses C meminta pelayanan
Resource T padahal resource tersebut masih
digunakan oleh Proses D. Maka inilah yang
menyebabkan terjadinya DEADLOCK.