Deadlock terjadi jika proses menunggu suatu kejadian tertentu yang tidak pernah terjadi. Sekumpulan proses berkondisi deadlock bila setiap proses yang ada di kumpulan menunggu suatu kejadian yang hanya dapat dilakukan proses lain yang juga berada di kumpulan itu.
Prinsip Deadlock:Deadlock dapat didefinisikan sebagai blocking permanen pada beberapa proses yang saling berkompetisi maupun berkomunikasi untuk memperoleh suatu sumber daya
2. Consumable resource
Prinsip Deadlock:Deadlock dapat didefinisikan sebagai blocking permanen pada beberapa proses yang saling berkompetisi maupun berkomunikasi untuk memperoleh suatu sumber daya
Sumber daya dapat dikatagorikan secara umum menjadi:
1. Reusable resource
Didefinisikan sebagai :Sumber daya yang dapat digunakan dengan aman oleh satu proses pada suatu saat. Terdapat tiga kondisi perlakukan sumber daya oleh proses yaitu : request – hold – release.
Contoh reusable resource :
- Processor
- I/O channel
- Main memory dan secondary memory
- Device
- File
- Database
- Semaphore
Contoh deadlock yang melibatkan reusable resource
Misal terdapat dua proses yang berkompetisi untuk mengakses disk file (D) dan tape drive (T)
Deadlock terjadi jika masing-masing proses memegang (hold) sumber daya dan meminta (request) sumber daya yang lain yang dipegang oleh proses yang lain. Cara mengatasinya dengan memberi batasan pada disain sistem untuk perintah request (Constraint on design system).
Merupakan sumber daya yang dapat dibuat atau dilenyapkan. Kondisi tidak terblock menghasilkan proses-proses yang siap melepaskan sumber daya saat suatu sumber daya diperlukan oleh sebuah proses sumber daya tersebut akan muncul.
Contoh consumable resource :
- interrupt
- sinyal
- message
- informasi dalam I/O buffer
Contoh Deadlock yang melibatkan consumable resource :
Deadlock terjadi jika pesan Recive terblock di salah satu proses.
Beberapa kondisi yang memungkinkan terjadinya deadlock:
- Mutual exclusion :hanya satu proses yang boleh menggunakan sebuah sumber daya pada suatu saat
- Hold and wait :suatu proses dapat mememegang (hold) sumber daya yang sebenarnya ditunggu-tunggu oleh proses lain
- No preemption :Tidak ada sumber daya yang dapat dipaksa lepas dari suatu proses yang memegangnya
- Circular wait :Rantai tertutup yang menyatakan suatu proses memegang sumber daya yang diperlukan oleh proses lain sehingga terjadi saling menunggu
Circular Wait |
Tidak ada komentar:
Posting Komentar