03.06 freertos操作系統分析並不難

說在前面

freertos的代碼結構並不友好,但是它有很多的宏定義開關,內核能裁剪到最小,所以分析它的代碼也能從根子裡面找到系統是怎麼寫出來的,從而能更好的掌握這個操作系統。

代碼結構

與操作系統內核相關的代碼有幾個文件:croutine.c,event_groups.c,list.c,queue.c,tasks.c,stream_buffer.c,timers.c,而內存管理的代碼則放在文件夾portable/MemManag下,分為heap1.c、heap2.c、heap3.c、heap4.c,heap5.c。另外為了支持內核的一些臨界段操作,還需要添加port.c文件。如果是第一次查看其內核源碼,還是比較排斥這種做法的。

從task.c入手

大致瀏覽一下它的文件,可以從task.c中分析每個文件的基本結構。

它有宏定義靜態分配和動態分配,然後是創建create,刪除delete。event_groups.c與queue.c和stream_buffer.c等遵循這樣的操作。

task.c歸根揭底是對任務的相關操作,而任務包括創建,刪除,掛起,切換。就這幾個詞就能把這個文件想做的事情歸納出來。


看到有人開始收費講rtos相關視頻,可是rtos相比linux-0.11難度級別降低很多,rtos更多的是細節的處理,這篇就慢慢更新吧。


分享到:


相關文章: