18 entry daha
  • sanildiginin aksine tek thread'le deadlock teoride mumkundur. kernel'in acquire ettigi bir lock'u bekleyen thread'i bir interrupt kesip sonra interrupt handler icinde thread'in acquire ettigi lock'u acquire etmeye kalkarsa bir deadlock olabilir elbette.

    boyle bir seyin olma ihtimali dusuk gelebilir zira user/kernel mode lock'lar farkli olacagi gibi, process context icindeki locklarla kernel context lock'lar arasinda da ucurum olacaktir. arbitrary context'e kernel'in user mode'da bir lock'u acquire etmeye calismasi pek beklenmez.

    halbuki user mode'da lock acquire etmek amaciyla yapilan bir yigin api call aslinda arka planda kernel'da locklarla hasir nesir olmayi gerektirebilir. windows'tan ornek vermek gerekirse bir dosya acma islemi ntfs.sys 'in file system structure'lariyla ilgili lock acquire etmesine yol acabilir. o sirada bir storage interrupt gelse, o da bir fs operation'i tamamlasa, fs operation da ntfs.sys'in birazdan bekleyecegi lock'u ustune alip ntfs.sys 'in o sirada acquire ettigi locklardan birini acquire etmeye kalksa al sana deadlock mis gibi deadlock.
34 entry daha
hesabın var mı? giriş yap