DSO讓Linux成為完美的RTOS
回想從前,電子產品的主要市場都是企業機構用戶,家電產品或者供個人使用的電子產品屈指可數,算來算去不過是電視機、電冰箱、收音機。如今,消費電子產品市場的迅猛發展撼動了電子工業的基本格局,成為舉足輕重的大市場。從電子產業的角度來看,網絡和微處理器已經為整個地球披上了一層“電子皮膚”,而每個微處理器都必須通過操作系統來實現消費電子產品的所有功能。因此,對于消費電子開發商來說,選用什么樣的實時操作系統就成為影響全局的一個重要問題。
市場新挑戰
伴隨著消費電子產品在品種和數量上的激增,電子產業遇到兩大挑戰:第一,與面向企業機構的電子產品相比,消費電子產品的生產銷售批量都非常大,因而產品成本控制就顯得更為關鍵。第二,消費電子產品推出新款式、新型號的周期更短,面臨的市場壓力更大,而傳統上那種逐個產品單獨開發的傳統模式已經趕不上市場競爭的要求。
為了應對上面提到的第一個挑戰,也就是降低操作系統的成本,消費電子產品制造商很容易想到Linux。然而,將Linux用于消費電子產品,又遇到了兩個問題:第一,Linux的實時性如何保證;第二,Linux作為一種開放源代碼的平臺,其可靠性、應用開發規范和技術支持與服務都缺乏值得信賴的依靠。這些問題如果處理不好,往往會造成更大的成本和麻煩。
在這種情況下,如果有一家在設備軟件領域擁有先進的專業技術和多年經驗的操作系統及開發工具提供商來為Linux提供支持,同時很好地在技術上解決Linux的實時性問題,這顯然是眾多消費電子產品制造商的一大福音。美國風河系統(Wind River Systems)公司以其VxWorks實時操作系統和Workbench集成化開發平臺在業界享有盛譽,最近在Linux領域頻頻出手,頗有作為。他們將自身在VxWorks平臺的傳統優勢和設備軟件開發方面的豐富經驗升華為DSO(Device Software Optimization,設備軟件優化)方法論并應用于Linux,推出了相應的開發平臺——Platform for Consumer Devices, Linux Edition,而且于不久前從FSMLabs購買了Real-Time Linux技術及全部相關的知識產權,成為業界唯一能夠支持硬實時Linux解決方案的提供商。
消費電子的實時性需求
與PC基本上都運行同一種操作系統不同,消費電子產品中的操作系統可算是花樣繁多,這是因為消費電子產品本身就是五花八門,不像PC那樣具有標準化的硬件結構。大致上看,目前消費電子產品在結構上可以分為三類:
低端產品通常以ASIC或者SoC為基礎,采用廉價的處理器,配備的程序存儲器容量通常在256K到1M字節的范圍內,軟件開發工作基本上都是由單一開發團隊完成的。例如入門級的數碼相機和噴墨打印機就是典型的低端產品。
中端產品的特征是程序存儲器容量在1M-2M字節的范圍內,常常需要多個軟件開發團隊協同工作。數碼攝像機就屬于這類產品。
高端產品的程序存儲器容量可能達到32M字節以上,也會采用性能更高的處理器,有較大規模的軟件開發團隊協作完成。智能手機和機頂盒顯然都屬于高端產品。
不同的產品類型對操作系統的要求也有所不同。低端產品在人機交互方面比較簡單,通常只是通過幾個按鍵來實現。當使用者按下這些按鍵后,一定會跟隨著一系列的反應和處理動作,這些處理動作在發生的時間和順序都有非常嚴格的要求。例如,在數碼相機上按下快門鍵,就會啟動測光、聚焦、感光成像和圖像存儲等一系列動作,每個動作所用的時間都必須嚴格控制。再比如在噴墨打印機中,必須把圖像數據轉換成噴墨命令傳遞給控制馬達,移動到指定的位置并精確地噴出墨水。噴墨打印機的打印速度是其市場競爭力的重要指標,這就給時序控制提出了更高的要求。而且,低端產品由于銷售批量很大,需要嚴格控制成本,所以一般都采用性能不高的處理器,因而給軟件的實時性提出了更高的要求。{{分頁}}
高端產品通常采用價格和性能都比較高的處理器,而且經常配有協處理器。另外,像智能手機、機頂盒之類的設備,人機互動非常多。一般認為,電子器件的反應速度比人的動作快得多。高性能的處理器,加上動作較慢的人為操作,使有些人認為在高端消費電子產品對實時性的要求沒有那么高,但事實并非如此。因為高端消費電子產品在功能上常常覆蓋了低端產品。例如:智能手機幾乎都配有照相功能,而且還要通過無線網絡來傳送照片;機頂盒之中會包括DSP部件,用來進行IP路由和視頻解碼。
一般來說,高端消費電子產品都需要與比較多樣化的外圍設備配合使用,無論從功能的多樣性和實時性哪方面看,都對操作系統的實時性提出了非常嚴苛的要求,同時也需要更多的中間件和服務支持。
圖1: 從低端到高端,消費電子產品對操作系統提出不同的要求。
讓Linux的實時性由軟變硬
由于采用不同的技術,各種操作系統的實時性也有所不同。操作系統可大致劃分為實時操作系統 (Real-time OS) 和分時操作系統 (Time-Sharing OS)兩類。在一個分時操作系統中,計算機資源會被平均地分配給系統內所有的工作。分時系統的設計原則是最大限度地利用處理器資源,盡量不讓處理器處于空閑狀態,而各項任務需要花多長時間來完成,這一點并不重要;而在一個實時操作系統之中,最關注的是確保在規定的時間內完成確定的任務。在許多應用系統中,在確定的時間內完成任務是至關重要的,一個小小的誤差就會造成很大的損失。數碼相機的曝光時間誤差只是影響到照片的質量,而民航科技控制系統的時間誤差甚至關系到生命安全。
可見,在實時操作系統中,系統必須在特定的時間內完成指定的應用,具有較強的“剛性”,而分時操作系統則注重將系統資源平均地分配給各個應用,不太在意各個應用的進度如何,什么時間能夠完成。不過,就算是實時操作系統,其“剛性”和“柔性”的程度也有所不同,就好像是系統的“硬度”有所不同,因而有了所謂的“硬實時(hard real-time)”和“軟實時 ( soft real-time)”。硬實時系統有一個剛性的、不可改變的時間限制,它不允許任何超出時限的錯誤。超時錯誤會帶來損害甚至導致系統失敗、或者導致系統不能實現它的預期目標。軟實時系統的時限是一個柔性靈活的,它可以容忍偶然的超時錯誤。失敗造成的后果并不嚴重,例如在網絡中僅僅是輕微地降低了系統的吞吐量。
Linux本身原來并不是為了實時性而設計的操作系統。為了在Linux系統中增加實時性,典型的方法是采用“架空”Linux kernel,使得real-time進程得以盡快的被執行。所以,這種系統中的實時任務(real-time task) 其實并不是一個 Linux的進程,而是一個Linux的可加載的Kernel模塊( loadable kernel module),或者是一個實時驅動程序的架構,算不上是真正的real-time Linux。但由于它出現的早,且其架構很符合自動控制的需求,因此使用者非常多。
風河系統公司最近從FSMLabs購買的硬實時Linux技術——RTLinux,是一個完整的發布版本,把Linux kernel、文件系統和工具鏈(toolchain)與RTCore硬實時執行技術結合起來,形成了一個基于Linux的完整硬實時解決方案。風河公司經過測試驗證發現,針對不同的測試基準,其性能可以達到軟實時Linux系統的2-5倍。
簡單地說,RTCore是一個為了達到實時性而進行的“中斷抽象”。這種實時執行技術提供了一個硬件抽象層,可以管理系統中所有的硬件中斷,處理所有的實時響應。當所有的實時請求都處理完后,才把非實時性的工作交給標準的Linux kernel。這種做法可以獲得雙重好處——一方面為應用提供了必須的硬實時能力,另一方面又不需要對標準Linux進行任何修改,從而可以保證對于第三方應用以及其他Linux進程的完全兼容性。{{分頁}}
以DSO方法實現全面提升
電子產品的發展普遍存在“繼承性”。也就是說,大多數新產品都是在上一代產品的基礎上升級更新,增加新的功能特性,丟棄舊的功能。與傳統市場相比,消費電子產品具有更強的時尚性。傳統電子產品曾經是以年為周期,而當今消費電子產品跟時裝差不多,以季節為周期來更新換代了。相應地,消費電子產品開發的模式必須緊跟市場變化的節奏。傳統上那種每個產品都從頭開始開發以及單個產品的開發團隊獨自工作的模式已經跟不上形勢,只有在整個企業范圍內實行標準化、系列化、組合式和迭代式的開發模式,盡可能增加軟件模塊的重復使用,才能降低開發成本、縮短產品上市時間,在市場上占據有利地位。這種新的開發模式,就是如今設備軟件開發領域常常提到的DSO(Device Software Optimization,設備軟件優化)方法論。
圖2 DSO方法論在設備軟件開發中的應用
DSO方法論是總結過去25年來企業網絡化和分布式計算領域逐漸積累起來的策略、方法和最佳實踐,致力于優化設備軟件的開發流程。歸納起來看,DSO把過去多年的經驗歸納為以下幾個方面,并以此作為自己的支柱。第一,在整個產品開發項目生命周期中實現工具和流程的標準化;第二,采用集成化的開發和運行時環境,包括支持商業化的硬件、中間件、操作系統和開發框架;第三,吸收和利用由開放源代碼社區產生的代碼、工具和協議;第四,減少對私有技術的依賴,盡量采用符合業界標準的參考解決方案;第五,以工程項目和市場需求為依據,對開發人員進行靈活有效的管理,擺脫私有技術的鎖定。
Yankee Group分析師指出,設備軟件生命周期的發展趨勢正在走向集成化、構件化、可重用、標準化、開源以及開發技能的歸一化。電子產品制造商和軟件工具提供商必須尋求開放、集成化并且基于行業標準的方法,才能符合DSO的要求。由于廣泛而深入地吸收了過去20多年整個軟件產業的經驗,DSO可以更好地保證設備軟件的質量和開發效率。
全球領先的設備軟件優化解決方案提供商風河系統公司是最早宣布全面提供DSO平臺支持的廠商,目前在全球DSO營收和市場份額均居首位,為全球范圍的設備軟件開發人員提供每周7天、全天24小時的技術支持,其軟件產品則已經運行在全球數以億計的電子產品之中。
有了DSO方法論和硬實時技術的加持,消費電子開發商已經可以放心地采用Linux作為其產品的操作系統平臺。相信業界已經注意到,就在不久前,風河系統公司與全球領先的無線半導體供應商德州儀器(Texas Instruments Incorporated,TI)宣布合作開發支持德州儀器OMAP2430手持設備與個人數字助理(PDA)應用處理器的風河Linux設備軟件平臺,以及風河Workbench開發工具套件(包含Workbench 片上調試工具等),由風河Linux平臺支持OMAP2430處理器的高級多媒體功能,幫助移動手持設備制造商能夠更快速、更經濟地開發、測試和部署各種下一代贏利型多媒體應用,如視頻會議、數字應約、移動終端互聯游戲(mobile-to-mobile gaming)和移動電視(mobile TV)等。這件事情足以說明,風河公司的商用級Linux和OMAP處理器的高級多媒體功能特性可以為電子設備制造商提供支持豐富多媒體應用和移動應用的Linux平臺系統,進一步降低這些應用從開發到上市的時間和成本。
linux相關文章:linux教程
評論