I.
Pengertian Deadlock
Deadlock
adalah Suatu kondisi di mana sekumpulan proses tidak dapat berjalan kembali
atau tidak adanya komunikasi antar proses. Deadlock merupakan kumpulan proses
yang terblok yang tiap proses tersebut memegang sumber daya dan menunggu untuk
mendapatkan sumber daya yang dipegang oleh proses di dalam kumpulan tersebut.
Model Deadlock
Bila beberapa proses ingin menggunakan
resource yang sama dalam satu waktu, maka hal ini akan berpotensi menimbulkan
deadlock.
Ø Resources
Ada
2 jenis yaitu
a. Preempatable
-
Preempatable resource
adalah resource yang dapat diambil dari proses yang memilikinya tanpa
menimbulkan efek. Sistemnya terdiri dari : user memory (32MB), 1 pointer, dan 2
proses cetak (@30MB)
-
Proses A request
printer dan mendapatkannya sebelum komputasinya selesai (lewat batas waktu), A
keluar dari user memory (A masih punya printer). Proses B sekarang run dan
berusaha mengakses printer (B tidak berhasil, karena printer masih dimiliki A),
maka bisa timbul deadlock. Pada kondisi ini, B dapat dikeluarkan dari user
memori, A masuk lagi dan di run lagi menggunakan user memory, mencetak dan
release printer
b. Non
Preemptable resource
Non Preemptable resource adalah
resource tidak dapat diambil dari proses tanpa menimbulkan efek kegagakan
komputasi. Contohnya proses yang sedang mulai melakukan ‘burning CD’ adalah non
preemtable resource. Proses ini tidak memungkinkan untuk dilakukan swapping
dengan proses lain, karena akan berakibat proses ‘burning’ akan gagal