1. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh 2 proses
Keadaan dimana 2 atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya.
2. - Mutual Exclusion
- Hold and Wait
- Circular Waiting
- No Preemption
Deadlock harus memenuhi semua syarat no 3
3. - Mutual Exclusion
Serially-shareable resources (mis. Buffer)
Contoh: Critical section mengharuskan mutual exclusion (termasuk resource), sehingga potensi proses akan saling menunggu (blocked).
- Hold & wait :
Situasi dimana suatu proses sedang hold suatu resource secara eksklusif dan ia menunggu mendapatkan resource lain (wait).
- No-Preemption Resouce :
Resource yang hanya dapat dibebaskan secara sukarela oleh proses yang telah mendapatkannya.
Proses tidak dapat dipaksa (pre-empt) untuk melepaskan resource yang sedang di hold
- Circular wait
Situasi dimana terjadi saling menunggu antara beberapa proses sehingga membentuk waiting chain (circular)
Misalkan proses (P0, P1, .. Pn) sedang blok menunggu resources: P0 menunggu P1, P1 menunggu P2, .. dan Pn menunggu P0.
4. Mengabaikan, menganggap bahwa deadlock tidak akan pernah terjadi.
Membiarkan terjadinya deadlock, lalu kemudian segera diperbaiki/recover.
Menggunakan protokol untuk meyakinkan bahwa Deadlock tidak akan pernah terjadi.
5. - Deadlock Prevention: Pencegahan adanya faktor-faktor penyebab deadlock
- Deadlock Avoidance: Menghindari dari situasi yang potensial dapat mengarah menjadi deadlock
- Deadlock Detection: Jika deadlock ternyata tidak terhindari maka bagaimana mendeteksi terjadinya deadlock, dilanjutkan dengan penyelamatan (recovery).
6. a. Jangan memulai proses apa pun jika proses tersebut akan membawanya pada kondisi deadlock, sehingga tidak mungkin terjadi deadlock karena pada saat akan menuju deadlock, proses sudah dicegah.
b. Jangan memberi kesempatan pada suatu proses untuk meminta sumber daya lagi jika penambahan ini akan membawa kita pada suatu keadaan deadlock.
7. Algoritma “deadlock-avoidance” secara dinamik akan memeriksa alokasi resource apakah dapat mengarah ke status (keadaan) tidak aman (misalkan terjadi circulair wait condition)
0 komentar:
Post a Comment
Tinggalkan Komentar Disini