Deadlock berarti sesuatu yang spesifik: ada dua (atau lebih) proses yang saat ini diblokir menunggu satu sama lain.
Dalam keadaan tidak aman Anda juga bisa berada dalam situasi di mana mungkin ada jalan buntu di masa depan, tetapi itu belum terjadi karena salah satu atau kedua proses belum benar-benar mulai menunggu.
Perhatikan contoh berikut:
Process A Process B
lock X lock Y # state is "unsafe"
unlock Y
lock Y # state is back to "safe" (no deadlock this time. We got lucky.)
Ada contoh yang lebih menarik di Bagian 7.5.1 dari tautan yang Anda berikan :
Pertimbangkan sistem dengan 12 tape drive dengan:
Process Max Need Current
P0: 10 5
P2: 9 3
Ini adalah kondisi yang tidak aman. Tapi kita tidak menemui jalan buntu. Hanya ada 4 drive gratis, jadi, misalnya, jika P0 tidak permintaan tambahan 5, dan P2 tidak permintaan tambahan 1, kita akan kebuntuan, tetapi belum terjadi. Dan P0 mungkin tidak meminta drive lagi, tetapi malah membebaskan drive yang sudah ada. Ini Max need
atas semua kemungkinan eksekusi program, dan ini mungkin bukan salah satu eksekusi di mana kita membutuhkan semua 10 drive di P0.