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