嵌入式系統(tǒng)由于其工作環(huán)境、位置分布、與應(yīng)用系統(tǒng)的結(jié)合方式等方面的原因,在系統(tǒng)的升級(jí)、修改方面存在著相當(dāng)?shù)睦щy,且費(fèi)用高。目前大多數(shù)嵌入式系統(tǒng)內(nèi)核只能在一定程度上進(jìn)行靜態(tài)擴(kuò)展,這意味著修改某些內(nèi)核屬性值后要重新編譯內(nèi)核,對(duì)普通用戶而言難以實(shí)現(xiàn)。通信的發(fā)展使得嵌入式操作系統(tǒng)的動(dòng)態(tài)擴(kuò)展成為可能,可以在遠(yuǎn)程控制的基礎(chǔ)上增加嵌入式系統(tǒng)的靈活性,延長嵌入式系統(tǒng)的壽命;同時(shí),由于嵌入式Linux的應(yīng)用日益廣泛,研究嵌入式Linux的動(dòng)態(tài)擴(kuò)展具有重要意義。
動(dòng)態(tài)擴(kuò)展是指系統(tǒng)在運(yùn)行狀態(tài)下實(shí)現(xiàn)系統(tǒng)的升級(jí)和維護(hù)。動(dòng)態(tài)擴(kuò)展技術(shù)目前被廣泛應(yīng)用在軟件系統(tǒng)開發(fā)的各個(gè)領(lǐng)域。組件、可擴(kuò)展的數(shù)據(jù)庫系統(tǒng)、主動(dòng)網(wǎng)等多種技術(shù)都是動(dòng)態(tài)擴(kuò)展技術(shù)在各個(gè)領(lǐng)域的具體體現(xiàn)。在嵌入式操作系統(tǒng)領(lǐng)域,動(dòng)態(tài)擴(kuò)展技術(shù)研究的主要目標(biāo)是實(shí)現(xiàn)內(nèi)核抽象的擴(kuò)展。實(shí)現(xiàn)操作系統(tǒng)內(nèi)核抽象的動(dòng)態(tài)擴(kuò)展能夠提高系統(tǒng)的靈活性、適應(yīng)性,使系統(tǒng)能夠根據(jù)應(yīng)用的需求,提供特定的服務(wù)。然而,由于嵌入式系統(tǒng)硬件資源有限,這對(duì)研究嵌入式Linux系統(tǒng)核心的動(dòng)態(tài)擴(kuò)展性是一個(gè)極大的挑戰(zhàn)。
本文主要討論嵌入式Linux系統(tǒng)中內(nèi)核抽象的動(dòng)態(tài)擴(kuò)展技術(shù)。
1、幾種主要的內(nèi)核動(dòng)態(tài)擴(kuò)展技術(shù)的分析
當(dāng)前應(yīng)用于操作系統(tǒng)中的動(dòng)態(tài)擴(kuò)展技術(shù)主要有四種:微內(nèi)核技術(shù)、可擴(kuò)展內(nèi)核技術(shù)、解釋器技術(shù)/JOS技術(shù)和內(nèi)核下載技術(shù)/LKM技術(shù)[1,2]。這三種技術(shù)已經(jīng)在桌面操作系統(tǒng)的不同環(huán)境中得到了充分的應(yīng)用。嵌入式操作系統(tǒng)及其使用環(huán)境具有桌面操作系統(tǒng)所不同的特征,它在性能、地址空間、所需存儲(chǔ)空間和底層訪問頻率等方面的特征,使得我們?cè)跀U(kuò)展技術(shù)的選擇上需要加以權(quán)衡。
(1) 微內(nèi)核技術(shù)
在微內(nèi)核操作系統(tǒng)中,內(nèi)核中包括了一些基本內(nèi)核功能(如創(chuàng)建和刪除任務(wù)、任務(wù)調(diào)度、內(nèi)存管理和中斷處理等),部分操作系統(tǒng)抽象和關(guān)鍵服務(wù)(如文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧等),都是在用戶空間運(yùn)行的。這大大減小了內(nèi)核的體積,同時(shí)也極大地方便了整個(gè)系統(tǒng)的升級(jí)、維護(hù)和移植。系統(tǒng)通過核心到用戶層向上調(diào)用服務(wù)的方法來為應(yīng)用程序提供服務(wù)。由于服務(wù)存在于用戶層,用戶可通過修改服務(wù)來獲得不同的行為,因而也稱為用戶層擴(kuò)展技術(shù)。由于所有的應(yīng)用程序都要利用操作系統(tǒng)提供的API或系統(tǒng)調(diào)用,完成內(nèi)存管理、進(jìn)程管理、I/O、設(shè)備管理等,因此通過在用戶空間監(jiān)視并截獲某個(gè)進(jìn)程的系統(tǒng)調(diào)用,然后將擴(kuò)展功能代碼插入系統(tǒng)調(diào)用中,就可以擴(kuò)展Linux操作系統(tǒng)功能。 大功率電感廠家 |大電流電感工廠