[理工] [os] 關於priority inversion

看板Grad-ProbAsk作者時間15年前 (2011/02/07 00:19), 編輯推噓0(0021)
留言21則, 4人參與, 最新討論串1/1
作者: ai305428d (可愛小小羅) 看板: Grad-ProbAsk 標題: [理工] [os] 關於priority inversion 時間: Mon Feb 7 00:19:46 2011 Can priority inversion problems occur with user-level threads? Can priority inversion problems occur with kernel-level threads? For each question, explain why or why not. ---------------------------------------------------------------------- 另外想請問一下,如果說在 preemptive 機制下是不是就不會發生 priority inversion 的問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.11.6 ※ 編輯: ai305428d 來自: 111.255.11.6 (02/07 00:21)

02/07 00:22, , 1F
1.false 2.true 3.與preemptive無關
02/07 00:22, 1F

02/07 00:29, , 2F
可是發生的原因不是因為高優先權所需要的resource
02/07 00:29, 2F

02/07 00:29, , 3F
被低優先權的所把持造成高優先要等低優先完成嗎?
02/07 00:29, 3F

02/07 00:30, , 4F
那如果允許preemptive 是不是高優先可以不等低優先做完
02/07 00:30, 4F

02/07 00:30, , 5F
就把resource搶過來?
02/07 00:30, 5F

02/07 00:30, , 6F
我記得的是必須允許preemptive才是
02/07 00:30, 6F

02/07 00:32, , 7F
preemptive是指cpu
02/07 00:32, 7F

02/07 00:32, , 8F
因為priority等待低優先權存取的是「資源」而不是順序
02/07 00:32, 8F

02/07 00:33, , 9F
若是需要的資源剛好在CS內存取 當然不能隨便搶
02/07 00:33, 9F

02/07 00:33, , 10F
喔喔\= =
02/07 00:33, 10F

02/07 00:34, , 11F
若不允許Preemptive,則scheduler會排在後面,應該不會久等
02/07 00:34, 11F

02/07 00:35, , 12F
就是因為允許Preemptive所以才會發生inversion... 個人想法
02/07 00:35, 12F

02/07 00:36, , 13F
恩恩 = = 我之前徹底弄混了
02/07 00:36, 13F

02/07 00:36, , 14F
樓上正解
02/07 00:36, 14F

02/07 00:37, , 15F
不過 priority inversion會發生的原因主要是因為
02/07 00:37, 15F

02/07 00:38, , 16F
允許preemptive 需要提供完整的mutual execlusion
02/07 00:38, 16F

02/07 00:38, , 17F
也就是synchronization 機制 才會出現這問題
02/07 00:38, 17F

02/07 00:39, , 18F
英文打錯 exclusion
02/07 00:39, 18F

02/07 00:42, , 19F
謝謝兩位大大~^^
02/07 00:42, 19F

02/07 00:58, , 20F
請問那個false,true要怎麼判斷呀!?
02/07 00:58, 20F

02/07 01:22, , 21F
應該是因為在user-level層面,thread不具preemptive吧
02/07 01:22, 21F
文章代碼(AID): #1DJieaD- (Grad-ProbAsk)