Deadlock adalah kondisi dimana dua program memegang kontrol terhadap sumber daya yang dibutuhkan oleh program lain. Tidak ada yang dapat melanjutkan proses masing-masing sampai program yang lain memberikan sumber dayanya, tetapi tidak ada yang mengalah. Jadi intinya deadlock adalah dua proses yang saling menunggu resources dalam waktu yang bersamaan.
Contoh sederhananya dalam sehari-hari penggambaran suatu deadlock
Misalnya seperti kita mau minum dan hanya ada gelas 1 dan ayah kita juga sedang minum, solusinya : seharusnya kita menunggu ayah selesai minum baru kita minum, agar tidak terjadi suatu yang dinamakan deadlock.
Terdapat 2
Masalah dalam deadlock:
- Critical Section
Critical section ini di bagi menjadi 3, mutual exclusion, progress, batas waktu tunggu
- Sinkronasi Hardware
Perangkat sinkronasi yang tidak membutuhkan busy waiting (sibuk menunggu)
Penyebab terjadinya deadlock:
- Mutual Exclusion
Mutual exclusion adalah suatu keadaan dimana ada satu proses saja yang boleh memakai resource, proses yang lain harus menunggu sampai proses tadi benar-benar selesai
Contoh : buffering ketika kita menonton video.
- Hold and Wait
Hold and Wait adalah suatu keadaan dimana suatu proses kelaparan sumber daya. Suatu proses membutuhkan sumber dayanya dalam waktu yang lama sehingga sumber daya tersebut tersebut tidak terpakai oleh proses lainnya.
- No Pre Emption
No Pre Emption adalah suatu keadaan dimana suatu sumber daya tidak boleh diambil (dipakai) begitu saja (secara paksa) oleh proses yang lainnya sehingga suatu proses harus menunggu hingga proses yang sedang memakai sumber daya benar-benar selesai.
- Circular Wait
Circular Wait adalah suatu keadaan dimana proses yang lain membutuhkan sumberdaya yang sedang dipakai oleh suatu proses sehingga timbul antrian melingkar (waiting chain) seperti halnya rantai.
Akibat deadlock adalah BSOD (Blue Screen Of Deadth)
Contoh dari BSOD
- Shop 0x0000000A atau IRQL_NOT_LESS_OR_EQUAL
- Shop 0x00000002A atau NTFS_FILE_SYSTEM
Artikel keren lainnya:
Belum ada tanggapan untuk "Apa Itu Deadlock?"
Post a Comment