μC/OS、RTT等大多數實時內核都是搶占式的,準備運行的最高優先級任務始終被賦予 CPU 控制權。
當一個任務使更高優先級的任務準備好運行時,當前任務被搶占(掛起)并且更高優先級的任務立即獲得 CPU 的控制權。
如果 ISR 使更高優先級的任務準備就緒,當 ISR 完成時,被中斷的任務被掛起并恢復新的更高優先級任務。
![poYBAGM1dd6AGl4QAAFO_HeIp_U136.png](https://file.elecfans.com/web2/M00/6D/51/poYBAGM1dd6AGl4QAAFO_HeIp_U136.png)
(1) 任務正在執行但被中斷。(2) 如果中斷被使能,CPU 向量(跳轉)到 ISR。(3) ISR 處理事件并使更高優先級的任務準備好運行。ISR 完成后,調用內核提供的服務(即調用內核提供的函數)。(4) & (5) 該函數知道一個更重要的任務已經準備好運行,因此內核將執行上下文切換并執行更重要的代碼而不是返回到被中斷的任務任務。當更重要的任務完成時,內核提供的另一個函數被調用,讓任務進入休眠狀態,等待事件(即 ISR)發生。(6) & (7) 然后內核“看到”需要執行一個較低優先級的任務,并完成另一個上下文切換以恢復被中斷任務的執行。
使用搶占式內核,最高優先級任務的執行是確定性的;你可以確定它何時可以控制 CPU。因此,通過使用搶占式內核可以最大限度地減少任務級響應時間。
使用搶占式內核的應用程序代碼不應使用不可重入函數,除非通過使用互斥信號量確保對這些函數的獨占訪問,因為低優先級和高優先級任務都可以使用公共函數。如果較高優先級的任務搶占正在使用該功能的較低優先級的任務,則可能會發生數據損壞。
總而言之,搶占式內核始終執行準備運行的最高優先級任務。中斷搶占任務,完成 ISR 后,內核將繼續執行準備運行的最高優先級任務(而不是被中斷的任務)。任務級別的響應是最佳的和確定性的,當系統響應性很重要時,建議使用搶占式內核。
-
內核
+關注
關注
3文章
1382瀏覽量
40434 -
cpu
+關注
關注
68文章
10907瀏覽量
213062 -
函數
+關注
關注
3文章
4346瀏覽量
62984 -
RTT
+關注
關注
0文章
65瀏覽量
17222 -
ISR
+關注
關注
0文章
38瀏覽量
14471
發布評論請先 登錄
相關推薦
嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-Linux內核移植之內核簡介
飛凌嵌入式ElfBoard ELF 1板卡-Linux內核移植之內核簡介
嵌入式工程師都在找的【Linux內核調試技術】建議收藏!
嵌入式Hypervisor:架構、原理與應用 閱讀體驗 +分離內核的嵌入式Hyperviso
![嵌入<b class='flag-5'>式</b>Hypervisor:架構、原理與應用 閱讀體驗 +分離<b class='flag-5'>內核</b>的嵌入<b class='flag-5'>式</b>Hyperviso](https://file1.elecfans.com/web2/M00/09/5C/wKgZomcKPBqAIQU9AEQ4doUCihQ861.png)
rtthread是搶占式的rtos,那么線程的timeout參數具體的作用是什么呢?
新書發布——《RT-Thread嵌入式實時操作系統內核、驅動和應用開發技術》
![新書發布——《RT-Thread嵌入<b class='flag-5'>式</b>實時操作系統<b class='flag-5'>內核</b>、驅動和應用開發技術》](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
linux驅動程序如何加載進內核
Linux內核測試技術
![Linux<b class='flag-5'>內核</b>測試技術](https://file1.elecfans.com/web2/M00/02/4E/wKgZoma68fmAMBkcAADMAfJtb9Y443.png)
歡創播報 華為宣布鴻蒙內核已超越Linux內核
系統中的latency是如何產生的
![系統中的latency是如何產生的](https://file1.elecfans.com/web2/M00/EC/60/wKgaomZebBSAfiQMAAANsQyK3i0037.png)
相同的代碼,不同的工程出現定時器搶占的現象怎么解決?
求助,關于stm32F4中斷優先級0無法搶占的問題求解
嵌入式實時操作系統優先級搶占式調度機制解析
![嵌入<b class='flag-5'>式</b>實時操作系統優先級<b class='flag-5'>搶占</b><b class='flag-5'>式</b>調度機制解析](https://file1.elecfans.com/web2/M00/C7/58/wKgaomYJEMKAKHYXAAAdAnktHlM187.png)
評論