王利濤課程合集系列Linux內(nèi)核編程:設(shè)備樹overlay與ConfigFS文件系統(tǒng)
2023-06-06 20:03 作者:bili_73767213996 | 我要投稿
內(nèi)核實(shí)現(xiàn)策略:
1.微內(nèi)核。最基本的功能由中央內(nèi)核(微內(nèi)核)實(shí)現(xiàn)。所有其他的功能都委托給一些獨(dú)立進(jìn)程,這些進(jìn)程通過明確定義的通信接口與中心內(nèi)核通信。
2.宏內(nèi)核。內(nèi)核的所有代碼,包括子系統(tǒng)(如內(nèi)存管理、文件管理、設(shè)備驅(qū)動(dòng)程序)都打包到一個(gè)文件中。內(nèi)核中的每一個(gè)函數(shù)都可以訪問到內(nèi)核中所有其他部分。目前支持模塊的動(dòng)態(tài)裝卸(裁剪)。Linux內(nèi)核就是基于這個(gè)策略實(shí)現(xiàn)的。
哪些地方用到了內(nèi)核機(jī)制?
1.進(jìn)程(在cpu的虛擬內(nèi)存中分配地址空間,各個(gè)進(jìn)程的地址空間完全獨(dú)立;同時(shí)執(zhí)行的進(jìn)程數(shù)最多不超過cpu數(shù)目)之間進(jìn)行通 信,需要使用特定的內(nèi)核機(jī)制。
2.進(jìn)程間切換(同時(shí)執(zhí)行的進(jìn)程數(shù)最多不超過cpu數(shù)目),也需要用到內(nèi)核機(jī)制。
進(jìn)程切換也需要像FreeRTOS任務(wù)切換一樣保存狀態(tài),并將進(jìn)程置于閑置狀態(tài)/恢復(fù)狀態(tài)。
3.進(jìn)程的調(diào)度。確認(rèn)哪個(gè)進(jìn)程運(yùn)行多長的時(shí)間。
標(biāo)簽: