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