◎王耀崗
嵌入式計算機硬件抽象層與操作系統(tǒng)接口
◎王耀崗
文章對現(xiàn)有計算機硬件抽象層進行分析后,結(jié)合嵌入式計算機特點探討系統(tǒng)接口,最后通過對接口驗證證明經(jīng)過隔離機制調(diào)整后的系統(tǒng)性能得到了顯著提升,以期為相關(guān)領(lǐng)域持續(xù)發(fā)展提供支持。
近年來,我國工業(yè)化進程不斷深化,在科學(xué)技術(shù)支持下,自動化、智能化逐漸成為社會生產(chǎn)力的主要趨勢。嵌入式計算機應(yīng)運而生,在社會多個領(lǐng)域得到了廣泛應(yīng)用和普及。目前嵌入式計算機發(fā)展的主要障礙是系統(tǒng)兼容性問題。而影響這一問題的關(guān)鍵在于硬件抽象層與操作系統(tǒng)接口。因此將這一關(guān)鍵問題作為研究的主要內(nèi)容。
現(xiàn)階段,嵌入式實時操作系統(tǒng)使用范圍越來越廣,通過對硬件中抽象層的優(yōu)化設(shè)計,能夠建立良好的溝通接口,為硬件與軟件運行構(gòu)建獨立的空間,避免互相干擾,形成良性運行狀態(tài)。嵌入式計算機建立在應(yīng)用中心基礎(chǔ)之上,將現(xiàn)代個人PC技術(shù)引入其中,實現(xiàn)對軟硬件的裁剪,能夠有效降低系統(tǒng)成本。系統(tǒng)由處理器、外圍設(shè)備及應(yīng)用軟件等構(gòu)成,能夠滿足單機、實時運行需求。
軟件結(jié)構(gòu)模型。硬件抽象層包含大量硬件信息,以此來滿足軟件運行需求。針對硬件抽象層來說,無論是邏輯上、還是空間上的分離,硬件抽象層、操作系統(tǒng)都能夠獨立完成編譯指令,并呈現(xiàn)出對應(yīng)的映像。該類結(jié)構(gòu)的優(yōu)勢在于當(dāng)CPU處于不變的情況下,外圍芯片、硬件接口更改,其內(nèi)部映像依舊能夠呈現(xiàn),減少了對系統(tǒng)維護成本。但事物兩面性決定了該類結(jié)構(gòu)具有一定缺陷,該分離結(jié)構(gòu)使得硬件抽象層、操作系統(tǒng)與映像之間難以形成良性對接,需要通過一定機制給予支持,無形中增加了系統(tǒng)設(shè)計成本,且不利于系統(tǒng)集成作用的有效發(fā)揮。
硬件抽象層結(jié)構(gòu)及功能。建立在上述軟件結(jié)構(gòu)基礎(chǔ)之上的硬件具備多項功能:一是能夠完成系統(tǒng)引導(dǎo)、數(shù)據(jù)機構(gòu)初始化,并啟動用戶配置映像;二是為了能夠?qū)崿F(xiàn)對映像的管理,硬件抽象層涉及映像的固化、擦除及加載。用戶通過映像管理模塊,能夠?qū)崿F(xiàn)對存儲設(shè)備的訪問,并從中調(diào)取出自己需要的內(nèi)容[1]。三是硬件抽象層的核心涉及體系結(jié)構(gòu)芯片、設(shè)備相關(guān)的驅(qū)動程序,通過對映像系統(tǒng)的操作,能夠顯著提升映像利用率。
一般來說,硬件相關(guān)系統(tǒng)在運行過程中,能夠提供一組標(biāo)準(zhǔn)化服務(wù),確保操作系統(tǒng)硬件無關(guān)性,并將其作為載體,實現(xiàn)對硬件的高效訪問。新時期下,為了滿足工作要求,硬件更新速度非??欤鞘褂们度胧接嬎銠C系統(tǒng)及設(shè)備生命周期較長,如果系統(tǒng)在運行中出現(xiàn)故障,需要更換器件,在一定程度上增加了驗證成本。而建立隔離機制則不同,能夠?qū)⒂布c系統(tǒng)分離開來。即便遇到故障,能夠減少設(shè)備驗證時間。具體來說:
建立隔離機制。現(xiàn)階段,我國自主版權(quán)的操作系統(tǒng)中尚未具備能夠完全支持當(dāng)前軟件支持的操作系統(tǒng)。因此對于該系統(tǒng)模型的構(gòu)建是一個理想模型。本文選擇的嵌入式計算機使用的是VxWorks操作系統(tǒng),并將此作為硬件抽象層與操作系統(tǒng)隔離機制研究的主要載體[2]。一般來說,為了達到接口良好銜接的目標(biāo),我們在系統(tǒng)接口函數(shù)中增加VxWorks操作系統(tǒng),經(jīng)過調(diào)整后形成新的軟件結(jié)構(gòu)。而該操作系統(tǒng)中的含數(shù)據(jù)還需要重新調(diào)整,以便促使函數(shù)能夠訪問硬件抽象層中的BSP函數(shù),最終達到隔離目標(biāo)。
驗證及測試。系統(tǒng)接口引入新內(nèi)容后,對系統(tǒng)原有功能產(chǎn)生了深刻的影響。將原有功能進劃分為兩個部分:一是接口之上與硬件無關(guān)的操作系統(tǒng);二是接口之下硬件抽象層軟件。通過這種模式,能夠?qū)⒏鱾€獨立的接口有機整合到一起,形成統(tǒng)一的訪問機制,從而促使軟件結(jié)構(gòu)發(fā)生變化,增強系統(tǒng)自身功能。
針對系統(tǒng)的測試,我們通過系統(tǒng)時間初始化、異常響應(yīng)及中斷響應(yīng)時間進行。同時需要注意的是,第一項指標(biāo)對于精度要求并不高,因此可以采用軟件測量方式,需要強調(diào)后兩者的測量精度。詳細來說,針對第一項指標(biāo)的測量,從系統(tǒng)上電開始到啟動函數(shù)usrROOT作為系統(tǒng)需要的時間。除去系統(tǒng)調(diào)用時壓棧、出棧后,滿足時間測量要求,達到測量目標(biāo)。
第二項指標(biāo)自中斷產(chǎn)生之獲取中斷結(jié)束。作為重要的衡量指標(biāo),可以采取硬件方法對其進行測量,如示波器等,以此來提高測量精度。在測量開始時,我們需要在程序中增加一條語句,將其標(biāo)記為中斷標(biāo)志。然后通過通道傳遞中斷信號后,當(dāng)中斷產(chǎn)生時,示波器開始記錄,并獲取到相應(yīng)波形,得到的結(jié)果就是中斷響應(yīng)的時間。
通過對測試結(jié)果的比較來看,增加接口后的測量時間較之前有所提升,主要是受到接口中多了一層二者之間函數(shù)調(diào)用[3]。但是系統(tǒng)的時間指標(biāo)能夠保持原有量級。而在嵌入式計算機中使用powerPC603E性能更強的處理器,極易適得其反。因此嵌入式計算機中的抽象層采取定制方式,能夠更好地達到預(yù)期目標(biāo)。
根據(jù)上文所述,計算機作為社會各領(lǐng)域生存及發(fā)展的重要組成部分,引起了相關(guān)主體的關(guān)注。但是針對硬件抽象層的研究尚處于起步階段,并未形成較為完善的標(biāo)準(zhǔn)。本文從嵌入式計算機自身特點及其運行具體要求,從抽象角度入手,對硬件進行相關(guān)接口的制定,直接實現(xiàn)對操作系統(tǒng)的分離處理后,對隔離機制進行了測試,結(jié)果證明經(jīng)過隔離處理的系統(tǒng)具有較強的性能,且集成度較高,符合系統(tǒng)運行要求,能夠在實踐中更好地發(fā)揮積極作用。
(作者單位:貴州民族大學(xué)人文科技學(xué)院)