Oleh:
WULAN DARI
HARYATI
FIRMAN
ANDI HARISMAN
DWI NUR PUSPITAWATI
ZULCHAIRIN
MAYA ANDRIANI
ANDI AIDIN ANSAR
SUMARNI
1. Pengertian Deadlock
2. Penyebab Terjadinya Deadlock
3. Mengatasi Deadlock
4. Menghindari Deadlock
5. Status Aman dan Tidak Aman
6. Algoritma Bankir
7. Mendeteksi dan Memulihkan
Deadlock HOME
1. Pengertian Deadlock
Deadlock adalah suatu kondisi dimana dua
proses atau lebih saling menunggu proses
yang lain untuk melepaskan resource yang
sedang dipakai.
Deadlock dianalogikan sebagai dua antrian mobil yang akan
menyeberangi jembatan. Dalam kasus diatas, antrian di
sebelah kiri menunggu antrian kanan untuk mengosongkan
jembatan (resource), begitu juga dengan antrian kanan.
Akhirnya tidak terjadi kemajuan dalam kerja dua antrian
tersebut.
2. Penyebab Terjadinya Deadlock
Mutual exclusion.
Hanya ada satu proses yang boleh memakai sumber daya,
dan proses lain yang ingin memakai sumber daya tersebut
harus menunggu hingga sumber daya tadi dilepaskan atau
tidak ada proses yang memakai sumber daya tersebut.
Penyebab Terjadinya Deadlock #2
No Preemption.
Sumber daya yang ada pada sebuah proses tidak boleh
diambil begitu saja oleh proses lainnya. Untuk
mendapatkan sumber daya tersebut, maka harus
dilepaskan terlebih dahulu oleh proses yang
memegangnya, selain itu seluruh proses menunggu dan
mempersilahkan hanya proses yang memiliki sumber daya
yang boleh berjalan.
Penyebab Terjadinya Deadlock #4
Circular wait.
Kondisi seperti rantai, yaitu sebuah proses membutuhkan
sumber daya yang dipegang proses berikutnya.
3. Mengatasi Deadlock
Ada beberapa cara untuk menanggulangi terjadinya deadlock,
diantaranya adalah:
• Mengabaikan masalah deadlock.
• Mendeteksi dan memperbaiki
• Penghindaran yang terus menerus dan pengalokasian yang baik dengan
menggunakan protokol untuk memastikan sistem tidak pernah
memasuki keadaan deadlock. Yaitu dengan deadlock avoidance sistem
untuk mendata informasi tambahan tentang proses mana yang akan
meminta dan menggunakan sumber daya.
• Pencegahan yang secara struktur bertentangan dengan empat kondisi
terjadinya deadlock dengan deadlock prevention sistem untuk
memastikan bahwa salah satu kondisi yang penting tidak dapat
menunggu.
Mengabaikan Masalah Deadlock
• Menghapus semua proses yang terlibat dalam kondisi deadlock (solusi ini
terlalu mahal).
• Menghapus satu persatu proses yang terlibat, sampai kondisi deadlock
dapat diatasi (memakan banyak waktu).
• Menghapus proses berdasarkan prioritas, waktu eksekusi, waktu untuk
selesai, dan kedalaman dari rollback.
Resources Preemption
Metode ini lebih menekankan kepada bagaimana menghambat suatu
proses dan sumber daya, agar tidak terjebak pada unsafe condition.