新聞中心

EEPW首頁 > 消費電子 > 設計應用 > “硬實時”為Linux注入新活力

“硬實時”為Linux注入新活力

——
作者: 時間:2008-01-03 來源: 收藏

  將作為電子設備的軟件開發(fā)和運行平臺,這早已成為設備軟件領域的熱門話題,這的確可以為電子產(chǎn)品制造企業(yè)帶來不少好處。然而,由于一直都只能提供軟實時(soft real-time)性能,而在汽車控制、工業(yè)控制、電信基礎建設等諸多需要性能的應用中,都無法采用只有“軟實時”能力的,這就使得許多對時間較為敏感的應用都成為Linux難以涉入的禁地。

  最近,美國風河系統(tǒng)公司從FSMLabs購買了Linux技術——,并將其與風河全球領先的Linux設備軟件平臺的結合,為電子設備制造商提供一套成熟、可靠的全新技術,用于開發(fā)和部署各種基于Linux的下一代應用,滿足電子設備制造商們對“(hard real-time)”特性的需求,例如功能型手機、需要高容量流媒體的數(shù)字圖像應用以及包括車輛避撞系統(tǒng)在內的各類車載應用等。其中,集成技術的Wind River Platform for Consumer Devices, Linux Edition可以把各種基于Linux的高速包交換設備軟件應用提升到一個全新的高性能級別。

  那么,就讓我們一起來了解一下,“硬實時”和“軟實時”有什么樣的區(qū)別,哪些場合必須有“硬實時”的軟件系統(tǒng)來實現(xiàn),以及怎樣才能獲得真正具有“硬實時”特性的Linux平臺。

  實時性的“軟”和“硬”

  實時 (Real-time OS) 是相對于分時 (Time-Sharing OS) 的一個概念。在一個分時中,計算機資源會被平均地分配給系統(tǒng)內所有的工作。在分時系統(tǒng)中,各項任務需要花多長時間來完成,這一點并不重要;而在一個實時操作系統(tǒng)之中,最關注的是每個任務在多長時間內可以完成。簡單地說,實時和分時操作系統(tǒng)最大的不同在于 “時限(deadline)”這個概念。

  從上述區(qū)別中可以看出,在實時操作系統(tǒng)中,系統(tǒng)必須在特定的時間內完成指定的應用,具有較強的“剛性”,而分時操作系統(tǒng)則注重將系統(tǒng)資源平均地分配給各個應用,不太在意各個應用的進度如何,什么時間能夠完成。不過,就算是實時操作系統(tǒng),其“剛性”和“柔性”的程度也有所不同,就好像是系統(tǒng)的“硬度”有所不同,因而有了所謂的“硬實時(hard real-time)”和“軟實時 ( soft real-time)”。硬實時系統(tǒng)有一個剛性的、不可改變的時間限制,它不允許任何超出時限的錯誤。超時錯誤會帶來損害甚至導致系統(tǒng)失敗、或者導致系統(tǒng)不能實現(xiàn)它的預期目標。軟實時系統(tǒng)的時限是一個柔性靈活的,它可以容忍偶然的超時錯誤。失敗造成的后果并不嚴重,例如在網(wǎng)絡中僅僅是輕微地降低了系統(tǒng)的吞吐量。

  當你從事設備軟件開發(fā)時,首先需要知道該系統(tǒng)究竟屬于硬實時、軟實時還是非實時系統(tǒng),這一點很重要。這三種系統(tǒng)所要求的編程技術和規(guī)范存在很大差別。

  風河公司認為,硬實時與軟實時之間最關鍵的差別在于,軟實時只能提供統(tǒng)計意義上的實時。例如,有的應用要求系統(tǒng)在95%的情況下都會確保在規(guī)定的時間內完成某個動作,而不一定要求100%。在許多情況下,這樣的“軟性”正確率已經(jīng)可以達到用戶期望的水平。比如,用戶在操作DVD播放機時,只要98%的情況都能正常播放,用戶可能就滿意了;而發(fā)射衛(wèi)星、控制核反應堆的應用系統(tǒng),這些系統(tǒng)的實時性必須達到100%,是絕對不允許出現(xiàn)意外的。

  何時需要“硬實時”?

  幾乎在每個行業(yè)垂直市場都有大量的應用系統(tǒng)要求必須采用硬實時才能達到。例如,在網(wǎng)絡基礎設施市場,電信應用的關鍵業(yè)務常常就對硬實時、軟實時和超高速包傳輸提出了綜合性的要求。在許多對服務水平有特定要求的話音和其它媒體流傳輸應用中,對硬實時的要求顯然超出了市場上現(xiàn)有通用操作系統(tǒng)所能提供的水平。高吞吐量以及高密度數(shù)據(jù)交換網(wǎng)絡也會令簡單的網(wǎng)絡堆棧和傳統(tǒng)In-House的嵌入式操作系統(tǒng)陷入性能拙劣的泥潭。

  即使在當今的消費電子市場,移動電話中的調制解調器控制和應用處理都離不開硬實時技術,以便減少芯片組的數(shù)量,降低硬件成本。特別是手機設計者希望采用單核處理器來實現(xiàn)這些功能的時候就更是如此。在數(shù)字音響和視頻設備中,更是不乏硬實時技術的大量應用。數(shù)碼相機的快門只要被按下,就必須跟隨一連串確定的動作,否則就無法拍出高質量的照片。

  更嚴重的情況是,在有些領域系統(tǒng)出錯可能導致重大的損失,甚至是人命關天的。例如航空與國防應用中的指令控制、導航、安全、武器控制等,還有飛機駕駛模擬系統(tǒng)等應用,都需要將復雜的計算、存儲、顯示和機電控制系統(tǒng)有條不紊地協(xié)調起來。工業(yè)生產(chǎn)流水線,特別是在化工、電力、交通等行業(yè),都有許多精確度極高的機電控制系統(tǒng)。所有這些應用,毫無疑問都必須建立在硬實時技術的基礎之上。

  怎樣獲得真正的硬實時Linux?

  如果我們在整個業(yè)界尋找最具有硬實時性的操作系統(tǒng),大家公認的一定是風河系統(tǒng)公司的VxWorks。以此為參照,可以讓我們對市場上可供選擇的實時性Linux操作系統(tǒng)有一個更為清晰的認識。

  首先,VxWorks與Linux相比,實現(xiàn)硬實時性的方式是完全不同的。VxWorks從最基礎的架構開始就是按照硬實時性的標準來設計的,因此從操作系統(tǒng)整體架構,到其中的每一個組成部分,都具有無可挑剔的硬實時性。

{{分頁}}

  Linux本身原來并不是為了實時性而設計的操作系統(tǒng)。為了在Linux系統(tǒng)中增加實時性,典型的方法是采用“架空”Linux kernel,使得real-time進程得以盡快的被執(zhí)行。所以,這種系統(tǒng)中的實時任務(real-time task) 其實并不是一個 Linux的進程,而是一個Linux的可加載的Kernel模塊( loadable kernel module),或者是一個實時驅動程序的架構,算不上是真正的real-time Linux。但由于它出現(xiàn)的早,且其架構很符合自動控制的需求,因此使用者非常多。

  風河系統(tǒng)公司最近從FSMLabs購買的硬實時Linux技術——,是一個完整的發(fā)布版本,把Linux kernel、文件系統(tǒng)和工具鏈(toolchain)與RTCore硬實時執(zhí)行技術結合起來,形成了一個基于Linux的完整硬實時解決方案。風河公司經(jīng)過測試驗證發(fā)現(xiàn),針對不同的測試基準,其性能可以達到軟實時Linux系統(tǒng)的2-5倍。

  簡單地說,RTCore是一個為了達到實時性而進行的“中斷抽象”。這種實時執(zhí)行技術提供了一個硬件抽象層,可以管理系統(tǒng)中所有的硬件中斷,處理所有的實時響應。當所有的實時請求都處理完后,才把非實時性的工作交給標準的Linux kernel。這種做法可以獲得雙重好處——一方面為應用提供了必須的硬實時能力,另一方面又不需要對標準Linux進行任何修改,從而可以保證對于第三方應用以及其他Linux進程的完全兼容性。

  也許有人會問,現(xiàn)在已經(jīng)有開放源代碼的硬實時Linux,為什么風河公司還有花錢去買過來,再補充到自己原有的Linux平臺之中呢?風河公司認為,購買RTCore技術可以讓Wind River Linux平臺擁有成熟并且經(jīng)過實用測試硬實時能力,立刻向電子設備廠商提供相應的解決方案。盡管在開放源碼社區(qū)可以獲得實時Linux技術,但是RTLinux是唯一提供商業(yè)化支持與服務的硬實時Linux解決方案。還有些宣稱具有實時性的Linux解決方案,并不一定具有硬實時能力,而且更重要的是,在這種平臺上所開發(fā)的應用軟件很難在多種架構平臺之間移植。

  總之,風河公司購買并融合RTCore技術,將會使Wind River Linux平臺的客戶在獲得硬實時特性的同時免于受到GPL的限制。因為風河公司所購買的TRLinux包括專利、版權、商標和相關的產(chǎn)品權利,從而可以不受限制地服務于新型的Linux設備軟件市場。由此獲得的知識產(chǎn)權將會為無數(shù)致力于基于Linux的實時應用解決方案開發(fā)人員提供有力的支持。從此開始,放眼整個設備軟件市場,幾乎找不到像風河系統(tǒng)公司這樣擁有最全面、完整的實時系統(tǒng)解決方案提供商。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉