嵌入式實時操作系統(tǒng)的可裁剪性及其實現
由于宿主對象的多樣性,為適應不同的要求,無論在硬件方面還是在軟件方面,嵌入式系統(tǒng)必須具有很強的可裁剪性,并且便于修改。
本文引用地址:http://m.butianyuan.cn/article/148452.htm所謂操作系統(tǒng)的可裁剪性,就是一個規(guī)模大且功能齊全的操作系統(tǒng),在結構上保證了用戶可在其中有選擇地保留某些模塊,而刪減掉一些模塊的性能。目標系統(tǒng)設計者的這個做法,也常常叫做對操作系統(tǒng)進行配置。因此,操作系統(tǒng)的可裁剪性也常被叫做操作系統(tǒng)的可配置性。
所謂的配置方法有兩種:工種是在系統(tǒng)進行編譯連接時進行配置;另一種是在系統(tǒng)運行時進行配置。
在編譯連接時的配置方法一般都是通過條件編譯來實現的,即在操作系統(tǒng)中都有一個配置文件,在這個文件中系統(tǒng)的設計者可通過對一些配置常數的設置來選擇使用或不使用的模塊。于是,在對系統(tǒng)編譯連接時,編譯系統(tǒng)就會按配置常數的設置值對與之對應的模塊進行編譯或不編譯。于是,那些不被編譯的模塊就自然地不包含在系統(tǒng)中而被刪掉了,這樣就可以大大減小系統(tǒng)所占用的內存。所以,條件編譯是實現系統(tǒng)裁剪的有效手段。但這需要一個前提條件,即用戶要獲得待裁剪的操作系統(tǒng)的源代碼。
在運行時對系統(tǒng)進行配置,是依靠系統(tǒng)在初始化運行階段執(zhí)行一些條件轉移語句來實現的。只不過這些條件語句是根據事先由目標系統(tǒng)開發(fā)人員編寫的配置文件中的一些參數來跳轉的。所以,也實現了系統(tǒng)功能上的裁剪,但不是物理上的裁剪。也就是說,被裁剪的模塊的代碼仍然還存在,只不過未被執(zhí)行。所以,這種方法不能減少系統(tǒng)所占用的內存,只是使運行速度有某種程度的提高。但這種裁剪方法的優(yōu)點是,目標系統(tǒng)開發(fā)人員可以沒有源代碼,并且操作起來很方便,因此是商品軟件經常采用的方法。
當然,由于目標系統(tǒng)的多樣性,尤其是在對產品個性化要求極高的今天,致使在設計中經常出現單純依靠裁剪已經不可能獲得一個滿意的操作系統(tǒng)的情況。那么在這個時候,唯一的解決辦法是修改或者添加功能模塊。根據前面的內容,顯然在一個具有微內核的操作系統(tǒng)上修改或添加是最方便的。這也是嵌人式操作系統(tǒng)大多都采用微內核結構的一個重要原因。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論