【mark】OS是否使用svc方式分開系統空間和用戶空間的優劣

對於Cortex-M單片機,用戶程序調用RTOS系統函數有兩種思路:

假設建立任務的RTOS函數是xxx_task_create()

第一類:FreeRTOS、RT-Thread中採用的方法,和調用普通的用戶函數同樣,xxx_task_create()調用直接執行任務建立代碼
第二類:RTX、zephyr中採用的方法,xxx_task_create()中並無任務建立代碼,xxx_task_create()調用會執行SVC指令,觸發SVC中斷,在SVC_Handler()中根據參數調用相應的RTOS函數從而建立任務,,這種方法更相似於Windows、Linux等大型OS中系統調用採用的方法

那麼第二種方法會比第一種方法更安全嗎?

另外,除了上面提到的RTX、zephyr,,還有哪些RTOS採用SVC的方法實現系統調用?html

https://www.amobbs.com/thread-5695667-1-1.html安全

相關文章
相關標籤/搜索