Metode Untuk Menangani Deadlock
Secara umum, kita dapat menangani atau mengatasi deadlock menggunakan salah satu dari tiga cara berikut ini. Pada dasarnya setiap mekanisme penanganan deadlock memiliki kelebihan dan kekurangan, terutama dalam penggunaan resource yang berlebihan diluar dari proses utama atau disebut dengan overhead.
- Menggunakan sebuah protokol/aturan untuk menyakinkan bahwa sistem tidak akan pernah mengalami deadlock yaitu menggunakan deadlock prevention (mencegah) atau deadlock avoidance (menghindar).
- Mengijinkan sistem mengalami deadlock agar dapat dideteksi, namum kemudian harus segera dapat memperbaikinya. Mekanisme ini disebut dengan deadlock detection and recovery.
- Mengabaikan semua permasalahan sama sekali, dan berpura-pura bahwa deadlock tidak pernah terjadi pada sistem. Mekanisme ini disebut dengan deadlock ignoring dan recovery, dan solusi ini sebahagian besar digunakan oleh sistem operasi termasuk Linux dan Windows.
Pembahasan mengenai metode deadlock prevention terdiri dari beberapa bagian, yaitu kondisi Mutual Exclusion, kondisi Hold and Wait, kondisi No Preemption, serta kondisi Circular Wait. Sedangkan pembahasan pada deadlock avoidance terdiri dari algoritma safe state, algoritmna resource-allocation graph, dan aloritma Banker.
Selanjutnya untuk pembahasan mengenai metode deadlock detection, tergantung pada jumlah sumber daya yang digunakan pada sistem, yaitu single-instance resource atau multipel-instances resources.
Terakhir untuk pembahasan mengenai deadlock ignoring dan recovery, yaitu dilakukan dengan cara melakukan terminasi pada proses dan dengan cara menyela pada sumber daya yang gunakan.
Artikel Terkait
Karna pembahasan sistem operasi sangat kompleks, maka kita akan membaginya menjadi beberapa bagian, untuk sementara berikut beberapa artikel lainnya yang terkait atau berhubungan dengan pembahasan ini.
- 1 Gambaran Sistem Operasi - Komponen & Fungsi
- 1.1 Apa Yang Dikerjakan Sistem Operasi
- 1.2 Organisasi Sistem Komputer
- 1.3 Arsitektur Sistem Komputer
- 1.4 Struktur Sistem Operasi
- 1.5 Operasi Sistem Operasi - Trap Exception
- 2 Proses & Thread
- 3 Konkurensi: Mutual Exclusion dan Sinkronisasi
- 4 Deadlock Lanjutan
Referensi
- Operating Systems: Internals and Design Principles (8th Edition), William Stallings, 2014.
- Operating System Concepts (9th Edition in Chinese) by Abraham Silberschatz et al.
- The Linux Programming Interface: A Linux and UNIX System Programming Handbook, Michael Kerrisk.
Warning!
We are not responsible for any loss whatsoever due to this site, also if you want to take this article please read terms of use or touch us via contact page.
If there is question, please discuss below. Very welcome and expected to provide corrections, criticisms, and suggestions.
Be the first :D