官术网_书友最值得收藏!

1.3 嵌入式操作系統(tǒng)的組成

目前的嵌入式操作系統(tǒng)一般由內(nèi)核、嵌入式網(wǎng)絡(luò)支持、嵌入式文件支持等組成。

內(nèi)核是嵌入式操作系統(tǒng)的基礎(chǔ),也是必備的部分。它提供任務(wù)管理,內(nèi)存管理,通信、同步和互斥機(jī)制,中斷管理,時(shí)間管理及任務(wù)擴(kuò)展等功能。內(nèi)核還提供特定的應(yīng)用編程接口,但目前沒有統(tǒng)一的標(biāo)準(zhǔn)。

其中,任務(wù)管理是內(nèi)核的核心部分,具有任務(wù)調(diào)度、創(chuàng)建任務(wù)、刪除任務(wù)、掛起任務(wù)、解掛任務(wù)、設(shè)置任務(wù)優(yōu)先級等功能。通用計(jì)算機(jī)的操作系統(tǒng)追求的是最大的吞吐率,為了達(dá)到最佳整體性能,其調(diào)度原則是公平,采用Round-Robin或可變優(yōu)先級調(diào)度算法,調(diào)度時(shí)機(jī)主要以時(shí)間片為主驅(qū)動(dòng)。而嵌入式操作系統(tǒng)多采用基于靜態(tài)優(yōu)先級的可搶占的調(diào)度,任務(wù)優(yōu)先級是在運(yùn)行前通過某種策略靜態(tài)分配好的,一旦有優(yōu)先級更高的任務(wù)就緒,就馬上進(jìn)行調(diào)度。

嵌入式操作系統(tǒng)的內(nèi)存管理比較簡單。通常不采用虛擬存儲(chǔ)管理,而采用靜態(tài)內(nèi)存分配和動(dòng)態(tài)內(nèi)存分配(固定大小內(nèi)存分配和可變大小內(nèi)存分配)相結(jié)合的管理方式。有些內(nèi)核利用MMU機(jī)制提供內(nèi)存保護(hù)功能。一般不采用被通用操作系統(tǒng)廣泛使用的虛擬內(nèi)存的技術(shù)。

通信、同步和互斥機(jī)制提供任務(wù)間、任務(wù)與中斷處理程序間的通信、同步和互斥功能。一般包括信號量、消息、事件、管道、異步信號和共享內(nèi)存等功能。與通用操作系統(tǒng)不同的是,嵌入式操作系統(tǒng)需要解決在這些機(jī)制的使用中出現(xiàn)的優(yōu)先級反轉(zhuǎn)問題。

中斷管理一般具有以下功能:安裝中斷服務(wù)程序;中斷發(fā)生時(shí),對中斷現(xiàn)場進(jìn)行保存,并且轉(zhuǎn)到相應(yīng)的服務(wù)程序上執(zhí)行;中斷退出前,對中斷現(xiàn)場進(jìn)行恢復(fù);中斷棧切換;中斷退出時(shí)的任務(wù)調(diào)度。通過中斷會(huì)為系統(tǒng)提供一些時(shí)間管理的功能,包括日歷、延遲操作等。

由于目前的嵌入式系統(tǒng)大多數(shù)都需要網(wǎng)絡(luò)支持,因此嵌入式操作系統(tǒng)中也往往容納進(jìn)了各種網(wǎng)絡(luò)支持的模塊,以實(shí)現(xiàn)對應(yīng)用編程隱藏復(fù)雜的網(wǎng)絡(luò)協(xié)議細(xì)節(jié),保證正確收發(fā)數(shù)據(jù)。例如,一般會(huì)采用靜態(tài)分配技術(shù),在網(wǎng)絡(luò)初始化時(shí)就靜態(tài)分配通信緩沖區(qū),設(shè)置了專門的發(fā)送和接收緩沖(其大小一般小于或等于物理網(wǎng)絡(luò)上的MTU值),從而確保了每次發(fā)送或接收時(shí)處理的數(shù)據(jù)不會(huì)超過MTU值,也就避免了數(shù)據(jù)處理任務(wù)的阻塞等待。

嵌入式文件系統(tǒng)相比之下較為簡單,主要具有文件的存儲(chǔ)、檢索、更新等功能,一般不提供保護(hù)和加密等安全機(jī)制。它以系統(tǒng)調(diào)用和命令方式提供對文件的各種操作,主要包括:設(shè)置和修改對文件和目錄的存取權(quán)限;提供建立、修改、改變、刪除目錄等服務(wù);提供創(chuàng)建、打開、讀、寫、關(guān)閉、撤銷文件等服務(wù)。

主站蜘蛛池模板: 天门市| 威远县| 乃东县| 留坝县| 自治县| 湘潭县| 西盟| 五寨县| 通渭县| 石渠县| 囊谦县| 略阳县| 青河县| 汉阴县| 玉溪市| 屏东市| 社会| 高碑店市| 香港 | 桐梓县| 商河县| 台中县| 奇台县| 梁山县| 邢台县| 福泉市| 福鼎市| 汽车| 宝丰县| 韶山市| 金秀| 沂南县| 通化市| 麻江县| 乐平市| 白河县| 永胜县| 海安县| 揭东县| 孝义市| 乌海市|