嵌入式實時操作系統最新進展
嵌入式實時操作系統保證了飛機、火車、汽車以及工廠設備的實時運行。一個嵌入式RTOS的核心就是確定性,它絕對保證了當接受到時鐘間隔或一個中斷信號時,系統可以正確的做出響應。
但是如今只有這些還不夠,還要有安全性,保密性以及通訊范圍等其他要求。鑒于工業控制供應商喬治亞州Norcross 的西門子能源和自動化公司(SEA)的經驗,公司希望在其客戶的工廠內配置一臺電腦。SEA負責工程軟件產品的產品市場部經理Eric Kaczor說,工程師們很快發現一臺標準的辦公室用電腦并不能起作用。為了避免電腦有被撞壞以及被凍住的危險,他們決定使用RTOS。
然而,他們在選擇RTOS 時,很重要的一點就是看它是否還保留了辦公室電腦軟件的功能?!爱斘覀冞x擇實時操作系統的時候,我們希望可以很方便地應用我們的辦公室軟件。”Kaczor說。
比PLC 具有更多的功能
如今RTOS必須可以與多種型號相連,并且滿足安全性和保密性的要求,實際上,它現在就像是一臺辦公室里的個人電腦。作為對這些需求的反應,RTOS銷售商提供了更多的功能,這些要求對于內存和其他的一些約束性配件施加了很大的壓力。幸運的是,RTOS
可以進行“瘦身”,這樣就能保證其他功能的配件有足夠的地方??匆幌卢F今的RTOS可以知道它在哪些地方進行了改變以迎合工業,自動化及控制領域內的應用需求。
SEA 使用Ardence(一個在馬薩諸塞州Waltham的Citrix公司)公司RTX RTOS系統來一起制造其Simatic Microbox 420工業用電腦部件。RTOS 功能的拓展已經超越了偶爾觀察RTOS 人的想象?!八麄兛粗@個東西,然后他們認為它是一個PLC...,他們沒有意識到它的實際功能遠比PLC 強大?!盞aczor 說。
另外一個額外的功能就是可連接性。PaulChen 是在加利福尼亞州Alameda 的RTOS 銷售商Wind River Systems 公司的VxWorks 生產線經理,他注意到,對于最新型的嵌入式實時操作系統來說,與外部世界相連是一個非常重要的功能需求。這包括一些用戶需要的技術如USB,工業以太網和無線通訊。最終用戶也希望有關的標準能對其安全性作出規定,這些標準諸如下一代因特網(IPv6),關于無線通訊的802.x 體系,關于移動通訊應用的MIPv4 和MIPv6 以及IPsec 協議和HTTPS 協議。
顧客引導著RTOS供應商?!叭绻麑崟r操作系統軟件不能提供這些功能的話,我們的顧客可能自己編程來實現這些功能?!盋hen 說。
而危險在于,如果最終用戶或原始設備制造商(OEM)自己附加軟件有可能產生危險,如可能會對系統內的行程安排軟件產生影響,而這個軟件是整個RTOS最重要的一部分用來確保整個系統的確定性。由于知道編碼,RTOS 的供應商可以為他們的產品增加性能,而同時保留實時性。
這也同樣適用于安全與保密方面的功能。這項性能在機載系統,工業應用以及醫用軟件中有需求,這些都寫在下面的規定中(這些規定都是三個字母的縮寫):FAA DO-178B,IEC 61508, and FDA 510(k)。
增加的可連接性的功能使得嵌入式RTOS的功能更難實現,特別是它的安全性能。有種版本的安全性能原本是用于軍事方面的,以前這個版本對于不同的系統會有不同的安全性能等級。而如今人們需要試圖將所有等級的安全性能都放入一個硬件中,這就意味著硬件或軟件的集成信息將會變成最高機密。
安全性能的另外一個版本,雖然與任何一臺的辦公室電腦都很相似,然而程序可以錯誤的進入其他的存儲空間,然后外部的力量就可以攻擊它。
Chen 注意到了硬件的發展,在最先進的嵌入式RTOS內的第三大驅動器可以幫助其避免類似問題。就拿一件事來說,半導體制造商正在往他們的芯片內加入過程元素以便專用功能可以通過軟件來卸載。
其它的功能包括對安全性能的編碼和網絡病毒偵測的模式匹配。“專用的硬件通常比軟件運行的要快,因此RTOS軟件需要能夠支持協調不同的硬件引擎。”Chen 這樣說道。
他補充到,多核處理器現在對于嵌入式系統來說也變得可能了。由于將一個處理器變成多個相同的單元或內核,微處理器制造商可以將升級周期大大加快,因此就能以低功耗完成高性能。因而,如果軟件支持多核處理器的話,嵌入式RTOS 可以從這些硬件中受益。
Robert Day(Lynuxworks公司在加州San Jose的市場部副經理),注意到先進的微處理器內核供應商非常注重內存部分,他們使用磚結構的劃分方式以保證每一個部分都是相互隔離的。這一概念也同樣可以延伸到使用小型RTOS 來作為一個超級監控器以允許一個RTOS 及其應用軟件在同一個儲存區間內運行而同時非實時應用軟件在其他區間運行。
作為RTOS 供應商的,Dan Mender(加州Santa Barbara 的Green Hills 軟件公司RTOS商務開發的主管)注意到如果使用相互隔離的內核的話,對于他們來說要支付額外的錢。他說:“同樣的原理(互相隔離并且使得外來的攻擊只能影響到系統的一部分)也可以用來編寫系統,以防該系統出現由于不經意的編程錯誤導致的安全性問題?!?BR> 必需品
除了需要支持并利用這些硬件的更新,一個RTOS 必須能夠滿足可連接性,保密性及安全性能的需求。然而,Day 很快指出軟件的一些其他功能也絕對是必須的。特別是必須有幾種形式的通訊方式,以便在多任務情況下可以立即運行一個應用軟件,并且不影響到其他程序。
“大多數有多任務需要的應用軟件都有幾種任務間通信的方法,如隊列法,信號量及Mutexs,后者對于應用軟件來說尤為重要,因為它可以阻止優先權倒置(即允許低優先權的任務阻礙系統重要功能的運行)”Day 說道。
對于在工業自動化方面的應用,Day 補充道,RTOS 應該允許單調速率調度及時間和空間的分
區。前者提供了一個報時鐘以便平均分配在每個窗口上的用時,而后者是保證重要任務可以得到一個時間常數窗口。
對于自動化應用方面及設備,有一些通訊協議及特殊要求。由于其它的標準,如IPv4 和IPv6 可能就已經足夠了,所以這些協議及特殊要求有可能并不需要。然而,如果用上這些協議的話會很有幫助。這些協議包括:控制器區域網絡(CAN),OPC,分布式通用對象模型(DCOM),無線通訊的工業無線局域網,Profinet或其他的工業以太網協議及基于XML和SOAP協議(該協議組成了Web services 堆棧的基本層,為其提供一個基本的通訊框架以便可以創建更多的抽象層)的Web services。另外其他一些新的技術及標準,如無線通訊領域的ZigBee,已經成為了RTOS的一部分。
Mark Hamilton(加州Santa Clara的中間件供應商Real-Time Innovations 公司(RTI)的現場應用工程師),給情報及軍事公司設計,開發及配置實時系統的有著相當豐富的經驗。一個廣泛的可用協議范圍及其他的一些功能是很好的有時也是必須的,但是他提醒道對于加載一個RTOS 上的這些協議及功能的數量必須有個限制。
由于多功能已經成為系統的一部分,因此現在需要注意的一點是哪個調度程序不可以簡單地運行軟件線程。在這種情況下,RTOS 的決定能力就會受到影響。那么系統的功能及操作與一臺臺式機就沒有什么兩樣了。
不出意料,他指出中間件可以通過應用軟件間的通訊管理來避免這樣的問題。RTOS的這一功能可以使其通過其可連接性而不用通過提高調度程序的要求來卸載掉一些負載。中間件甚至可以對一些常見的問題提供現成的解決方法。
“中間件可以使得你系統中CPU 之間的數據移動變得可能,并且你不必擔心會需要寫很多的網絡代碼”Hamilton 說道。
這樣的卸載及分區功能除了調度程序的限制要求外還有個必須的理由。一個嵌入式RTOS 通常是使用在內存及儲存器都是受到限制的情況下的。同時,由于設備都增加了新的功能,并且應用的趨勢是功能的更多樣化。這樣的結果是RTOS 的存儲器的占用量在支持日益增長的設備功能的同時必須還維持在很小的占用量。
RTOS供應商必須使用多種方法來滿足這兩個矛盾的要求。一個方法就是將最后的決定權放在開發者和最終用戶手上。RTOS 的最終配置是在搭建的時候增加一些或出去一些模塊來決定的,這樣就允許對功能與占用量之間的平衡進行細致的控制。這種方法就可以將潛在的節省變為現實。
比如,在開發及測試階段,用戶可能會選擇需要編程來顯示診斷信息。當開發完成,這些診斷信息可以刪除,這個有時候可能節省了占用量的百分比的兩位數。
一個必然的結論是模塊自身必須很小。這樣就能保證最終的搭建及RTOS本身可以集成。然而,通過仔細選擇適合的編程語言及編譯器也是為應用軟件減肥的一種方法。這有可能使得應用軟件的體積大幅度的減小。如美國國家儀器公司的LabView 的軟件,對于開發,集成及再使用都有現成的代碼可選,然后將RTOS 的設計面向翻譯:高海洋不同的目標。
由于RTOS 及應用軟件占用空間的指示之間的相互作用,無論什么方法去讓其適應這些限制到最后都將是在RTOS,應用軟件,軟件工具及硬件的功能之間整合。Wilsonville 的電子自動化設計供應商,Mentor Graphics集團公司,的Nucleus Kernals 生產線的產品市場部經理,Todd Brian,注意到沒有一個RTOS的供應商是絕對獨立的。所有的的工作都在一個生態系統下進行,這個系統對于嵌入式RTOS 能否得到最佳的運行性能來說是至關重要的?!耙粋€供應商需要合作伙伴一起集成在供應商的操作系統內。這樣的話,他們就不會被集成過程給束縛了?!盉rian 說道。
這樣的整合對于RTOS供應商及最終用戶來說是有利的,同樣也期待一個嵌入式RTOS和它的供應
但是如今只有這些還不夠,還要有安全性,保密性以及通訊范圍等其他要求。鑒于工業控制供應商喬治亞州Norcross 的西門子能源和自動化公司(SEA)的經驗,公司希望在其客戶的工廠內配置一臺電腦。SEA負責工程軟件產品的產品市場部經理Eric Kaczor說,工程師們很快發現一臺標準的辦公室用電腦并不能起作用。為了避免電腦有被撞壞以及被凍住的危險,他們決定使用RTOS。
然而,他們在選擇RTOS 時,很重要的一點就是看它是否還保留了辦公室電腦軟件的功能?!爱斘覀冞x擇實時操作系統的時候,我們希望可以很方便地應用我們的辦公室軟件。”Kaczor說。
比PLC 具有更多的功能
如今RTOS必須可以與多種型號相連,并且滿足安全性和保密性的要求,實際上,它現在就像是一臺辦公室里的個人電腦。作為對這些需求的反應,RTOS銷售商提供了更多的功能,這些要求對于內存和其他的一些約束性配件施加了很大的壓力。幸運的是,RTOS
可以進行“瘦身”,這樣就能保證其他功能的配件有足夠的地方??匆幌卢F今的RTOS可以知道它在哪些地方進行了改變以迎合工業,自動化及控制領域內的應用需求。
SEA 使用Ardence(一個在馬薩諸塞州Waltham的Citrix公司)公司RTX RTOS系統來一起制造其Simatic Microbox 420工業用電腦部件。RTOS 功能的拓展已經超越了偶爾觀察RTOS 人的想象?!八麄兛粗@個東西,然后他們認為它是一個PLC...,他們沒有意識到它的實際功能遠比PLC 強大?!盞aczor 說。
另外一個額外的功能就是可連接性。PaulChen 是在加利福尼亞州Alameda 的RTOS 銷售商Wind River Systems 公司的VxWorks 生產線經理,他注意到,對于最新型的嵌入式實時操作系統來說,與外部世界相連是一個非常重要的功能需求。這包括一些用戶需要的技術如USB,工業以太網和無線通訊。最終用戶也希望有關的標準能對其安全性作出規定,這些標準諸如下一代因特網(IPv6),關于無線通訊的802.x 體系,關于移動通訊應用的MIPv4 和MIPv6 以及IPsec 協議和HTTPS 協議。
顧客引導著RTOS供應商?!叭绻麑崟r操作系統軟件不能提供這些功能的話,我們的顧客可能自己編程來實現這些功能?!盋hen 說。
而危險在于,如果最終用戶或原始設備制造商(OEM)自己附加軟件有可能產生危險,如可能會對系統內的行程安排軟件產生影響,而這個軟件是整個RTOS最重要的一部分用來確保整個系統的確定性。由于知道編碼,RTOS 的供應商可以為他們的產品增加性能,而同時保留實時性。
這也同樣適用于安全與保密方面的功能。這項性能在機載系統,工業應用以及醫用軟件中有需求,這些都寫在下面的規定中(這些規定都是三個字母的縮寫):FAA DO-178B,IEC 61508, and FDA 510(k)。
增加的可連接性的功能使得嵌入式RTOS的功能更難實現,特別是它的安全性能。有種版本的安全性能原本是用于軍事方面的,以前這個版本對于不同的系統會有不同的安全性能等級。而如今人們需要試圖將所有等級的安全性能都放入一個硬件中,這就意味著硬件或軟件的集成信息將會變成最高機密。
安全性能的另外一個版本,雖然與任何一臺的辦公室電腦都很相似,然而程序可以錯誤的進入其他的存儲空間,然后外部的力量就可以攻擊它。
Chen 注意到了硬件的發展,在最先進的嵌入式RTOS內的第三大驅動器可以幫助其避免類似問題。就拿一件事來說,半導體制造商正在往他們的芯片內加入過程元素以便專用功能可以通過軟件來卸載。
其它的功能包括對安全性能的編碼和網絡病毒偵測的模式匹配。“專用的硬件通常比軟件運行的要快,因此RTOS軟件需要能夠支持協調不同的硬件引擎。”Chen 這樣說道。
他補充到,多核處理器現在對于嵌入式系統來說也變得可能了。由于將一個處理器變成多個相同的單元或內核,微處理器制造商可以將升級周期大大加快,因此就能以低功耗完成高性能。因而,如果軟件支持多核處理器的話,嵌入式RTOS 可以從這些硬件中受益。
Robert Day(Lynuxworks公司在加州San Jose的市場部副經理),注意到先進的微處理器內核供應商非常注重內存部分,他們使用磚結構的劃分方式以保證每一個部分都是相互隔離的。這一概念也同樣可以延伸到使用小型RTOS 來作為一個超級監控器以允許一個RTOS 及其應用軟件在同一個儲存區間內運行而同時非實時應用軟件在其他區間運行。
作為RTOS 供應商的,Dan Mender(加州Santa Barbara 的Green Hills 軟件公司RTOS商務開發的主管)注意到如果使用相互隔離的內核的話,對于他們來說要支付額外的錢。他說:“同樣的原理(互相隔離并且使得外來的攻擊只能影響到系統的一部分)也可以用來編寫系統,以防該系統出現由于不經意的編程錯誤導致的安全性問題?!?BR> 必需品
除了需要支持并利用這些硬件的更新,一個RTOS 必須能夠滿足可連接性,保密性及安全性能的需求。然而,Day 很快指出軟件的一些其他功能也絕對是必須的。特別是必須有幾種形式的通訊方式,以便在多任務情況下可以立即運行一個應用軟件,并且不影響到其他程序。
“大多數有多任務需要的應用軟件都有幾種任務間通信的方法,如隊列法,信號量及Mutexs,后者對于應用軟件來說尤為重要,因為它可以阻止優先權倒置(即允許低優先權的任務阻礙系統重要功能的運行)”Day 說道。
對于在工業自動化方面的應用,Day 補充道,RTOS 應該允許單調速率調度及時間和空間的分
區。前者提供了一個報時鐘以便平均分配在每個窗口上的用時,而后者是保證重要任務可以得到一個時間常數窗口。
對于自動化應用方面及設備,有一些通訊協議及特殊要求。由于其它的標準,如IPv4 和IPv6 可能就已經足夠了,所以這些協議及特殊要求有可能并不需要。然而,如果用上這些協議的話會很有幫助。這些協議包括:控制器區域網絡(CAN),OPC,分布式通用對象模型(DCOM),無線通訊的工業無線局域網,Profinet或其他的工業以太網協議及基于XML和SOAP協議(該協議組成了Web services 堆棧的基本層,為其提供一個基本的通訊框架以便可以創建更多的抽象層)的Web services。另外其他一些新的技術及標準,如無線通訊領域的ZigBee,已經成為了RTOS的一部分。
Mark Hamilton(加州Santa Clara的中間件供應商Real-Time Innovations 公司(RTI)的現場應用工程師),給情報及軍事公司設計,開發及配置實時系統的有著相當豐富的經驗。一個廣泛的可用協議范圍及其他的一些功能是很好的有時也是必須的,但是他提醒道對于加載一個RTOS 上的這些協議及功能的數量必須有個限制。
由于多功能已經成為系統的一部分,因此現在需要注意的一點是哪個調度程序不可以簡單地運行軟件線程。在這種情況下,RTOS 的決定能力就會受到影響。那么系統的功能及操作與一臺臺式機就沒有什么兩樣了。
不出意料,他指出中間件可以通過應用軟件間的通訊管理來避免這樣的問題。RTOS的這一功能可以使其通過其可連接性而不用通過提高調度程序的要求來卸載掉一些負載。中間件甚至可以對一些常見的問題提供現成的解決方法。
“中間件可以使得你系統中CPU 之間的數據移動變得可能,并且你不必擔心會需要寫很多的網絡代碼”Hamilton 說道。
這樣的卸載及分區功能除了調度程序的限制要求外還有個必須的理由。一個嵌入式RTOS 通常是使用在內存及儲存器都是受到限制的情況下的。同時,由于設備都增加了新的功能,并且應用的趨勢是功能的更多樣化。這樣的結果是RTOS 的存儲器的占用量在支持日益增長的設備功能的同時必須還維持在很小的占用量。
RTOS供應商必須使用多種方法來滿足這兩個矛盾的要求。一個方法就是將最后的決定權放在開發者和最終用戶手上。RTOS 的最終配置是在搭建的時候增加一些或出去一些模塊來決定的,這樣就允許對功能與占用量之間的平衡進行細致的控制。這種方法就可以將潛在的節省變為現實。
比如,在開發及測試階段,用戶可能會選擇需要編程來顯示診斷信息。當開發完成,這些診斷信息可以刪除,這個有時候可能節省了占用量的百分比的兩位數。
一個必然的結論是模塊自身必須很小。這樣就能保證最終的搭建及RTOS本身可以集成。然而,通過仔細選擇適合的編程語言及編譯器也是為應用軟件減肥的一種方法。這有可能使得應用軟件的體積大幅度的減小。如美國國家儀器公司的LabView 的軟件,對于開發,集成及再使用都有現成的代碼可選,然后將RTOS 的設計面向翻譯:高海洋不同的目標。
由于RTOS 及應用軟件占用空間的指示之間的相互作用,無論什么方法去讓其適應這些限制到最后都將是在RTOS,應用軟件,軟件工具及硬件的功能之間整合。Wilsonville 的電子自動化設計供應商,Mentor Graphics集團公司,的Nucleus Kernals 生產線的產品市場部經理,Todd Brian,注意到沒有一個RTOS的供應商是絕對獨立的。所有的的工作都在一個生態系統下進行,這個系統對于嵌入式RTOS 能否得到最佳的運行性能來說是至關重要的?!耙粋€供應商需要合作伙伴一起集成在供應商的操作系統內。這樣的話,他們就不會被集成過程給束縛了?!盉rian 說道。
這樣的整合對于RTOS供應商及最終用戶來說是有利的,同樣也期待一個嵌入式RTOS和它的供應
文章版權歸西部工控xbgk所有,未經許可不得轉載。
下一篇:機床技術14大發展趨勢總覽