Pengertian Deadlock serta sebab terjadinya deadlock
Deadlock ialah suatu kondisi permanen dimana proses tidak
berjalan lagi ataupun tidak ada komunikasi lagi antar proses.
Deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang sedang menunggu sumber daya yang dipegang oleh proses tersebut.
Atau dengan kata lain setiap proses dalam set menunggu untuk sumber yang hanya bisa dikerjakan oleh proses lain dalam set yang sedang menunggu. Ilustrasi deadlock, misalnya :
Deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang sedang menunggu sumber daya yang dipegang oleh proses tersebut.
Atau dengan kata lain setiap proses dalam set menunggu untuk sumber yang hanya bisa dikerjakan oleh proses lain dalam set yang sedang menunggu. Ilustrasi deadlock, misalnya :
- Terdapat dua proses, yaitu P1 dan P2 dan dua sumber
daya kritis,
yaitu R1 dan R2.
yaitu R1 dan R2.
- Proses P1 dan P2 harus mengakses kedua sumber
daya tersebut, dengan
kondisi ini terjadi : R1 diberikan ke P1, sedangkan R2 diberikan ke P2.
kondisi ini terjadi : R1 diberikan ke P1, sedangkan R2 diberikan ke P2.
Karena untuk melanjutkan eksekusi memerlukan
kedua sumber daya sekaligus maka kedua proses akan saling menunggu sumber
daya lain selamanya.
Tak ada proses yang dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya lain yang tak pernah diperolehnya.
Kedua proses dalam kondisi deadlock, yang tidak dapat membuat kemajuan apapun dan deadlock merupakan kondisi terparah karena dapat melibatkan banyak proses dan semuanya tidak dapat mengakhiri prosesnya secara benar.
Tak ada proses yang dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya lain yang tak pernah diperolehnya.
Kedua proses dalam kondisi deadlock, yang tidak dapat membuat kemajuan apapun dan deadlock merupakan kondisi terparah karena dapat melibatkan banyak proses dan semuanya tidak dapat mengakhiri prosesnya secara benar.