[問題] 關於RTOS preemptive kernel實際排程的 …

看板ASM (組合語言)作者 (journey)時間15年前 (2010/02/10 08:59), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/3 (看更多)
現在在看 uC/OS已經移植在某chip上的source code 發現和書上講的原理有一點差異 書上是說只要ISR做完時就會重新排程,由priority最高的task去執行 我看的Code只有在system tick timer的ISR裡有作schedule 其他都沒有 我的疑問為:哪些中斷做完要排程是由programmer自己決定嗎? 一堆週邊(Ethernet, UART, SPI, Timer)的中斷做完後要不要重新排程 應該是看使用上的需要吧... 而這也會影響到critical section是把所有中斷都disable或者只把有重新排程 的中斷disable... 不知我的想法是否正確? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.247.173.226 ※ 編輯: neutopia 來自: 61.247.173.226 (02/10 09:02)

02/10 14:56, , 1F
一個是執行緒一個是硬體中斷,不太一樣吧
02/10 14:56, 1F

02/11 10:48, , 2F
應該是獨立的吧,如果連周邊裝置都要重新schedule
02/11 10:48, 2F

02/11 10:49, , 3F
那整個CPU時間都只在做Context switch。
02/11 10:49, 3F
文章代碼(AID): #1BSWJRg7 (ASM)
文章代碼(AID): #1BSWJRg7 (ASM)