新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DSO讓Linux成為完美的RTOS

DSO讓Linux成為完美的RTOS

——
作者: 時間:2007-12-26 來源:電子產(chǎn)品世界 收藏

  回想從前,電子產(chǎn)品的主要市場都是企業(yè)機(jī)構(gòu)用戶,家電產(chǎn)品或者供個人使用的電子產(chǎn)品屈指可數(shù),算來算去不過是電視機(jī)、電冰箱、收音機(jī)。如今,消費電子產(chǎn)品市場的迅猛發(fā)展撼動了電子工業(yè)的基本格局,成為舉足輕重的大市場。從電子產(chǎn)業(yè)的角度來看,網(wǎng)絡(luò)和微處理器已經(jīng)為整個地球披上了一層“電子皮膚”,而每個微處理器都必須通過操作系統(tǒng)來實現(xiàn)消費電子產(chǎn)品的所有功能。因此,對于消費電子開發(fā)商來說,選用什么樣的實時操作系統(tǒng)就成為影響全局的一個重要問題。

市場新挑戰(zhàn)

  伴隨著消費電子產(chǎn)品在品種和數(shù)量上的激增,電子產(chǎn)業(yè)遇到兩大挑戰(zhàn):第一,與面向企業(yè)機(jī)構(gòu)的電子產(chǎn)品相比,消費電子產(chǎn)品的生產(chǎn)銷售批量都非常大,因而產(chǎn)品成本控制就顯得更為關(guān)鍵。第二,消費電子產(chǎn)品推出新款式、新型號的周期更短,面臨的市場壓力更大,而傳統(tǒng)上那種逐個產(chǎn)品單獨開發(fā)的傳統(tǒng)模式已經(jīng)趕不上市場競爭的要求。

  為了應(yīng)對上面提到的第一個挑戰(zhàn),也就是降低操作系統(tǒng)的成本,消費電子產(chǎn)品制造商很容易想到。然而,將用于消費電子產(chǎn)品,又遇到了兩個問題:第一,的實時性如何保證;第二,Linux作為一種開放源代碼的平臺,其可靠性、應(yīng)用開發(fā)規(guī)范和技術(shù)支持與服務(wù)都缺乏值得信賴的依靠。這些問題如果處理不好,往往會造成更大的成本和麻煩。

  在這種情況下,如果有一家在設(shè)備軟件領(lǐng)域擁有先進(jìn)的專業(yè)技術(shù)和多年經(jīng)驗的操作系統(tǒng)及開發(fā)工具提供商來為Linux提供支持,同時很好地在技術(shù)上解決Linux的實時性問題,這顯然是眾多消費電子產(chǎn)品制造商的一大福音。美國風(fēng)河系統(tǒng)(Wind River Systems)公司以其VxWorks實時操作系統(tǒng)和Workbench集成化開發(fā)平臺在業(yè)界享有盛譽(yù),最近在Linux領(lǐng)域頻頻出手,頗有作為。他們將自身在VxWorks平臺的傳統(tǒng)優(yōu)勢和設(shè)備軟件開發(fā)方面的豐富經(jīng)驗升華為(Device Software Optimization,設(shè)備軟件優(yōu)化)方法論并應(yīng)用于Linux,推出了相應(yīng)的開發(fā)平臺——Platform for Consumer Devices, Linux Edition,而且于不久前從FSMLabs購買了Real-Time Linux技術(shù)及全部相關(guān)的知識產(chǎn)權(quán),成為業(yè)界唯一能夠支持硬實時Linux解決方案的提供商。

消費電子的實時性需求

  與PC基本上都運行同一種操作系統(tǒng)不同,消費電子產(chǎn)品中的操作系統(tǒng)可算是花樣繁多,這是因為消費電子產(chǎn)品本身就是五花八門,不像PC那樣具有標(biāo)準(zhǔn)化的硬件結(jié)構(gòu)。大致上看,目前消費電子產(chǎn)品在結(jié)構(gòu)上可以分為三類:

  低端產(chǎn)品通常以ASIC或者SoC為基礎(chǔ),采用廉價的處理器,配備的程序存儲器容量通常在256K到1M字節(jié)的范圍內(nèi),軟件開發(fā)工作基本上都是由單一開發(fā)團(tuán)隊完成的。例如入門級的數(shù)碼相機(jī)和噴墨打印機(jī)就是典型的低端產(chǎn)品。

  中端產(chǎn)品的特征是程序存儲器容量在1M-2M字節(jié)的范圍內(nèi),常常需要多個軟件開發(fā)團(tuán)隊協(xié)同工作。數(shù)碼攝像機(jī)就屬于這類產(chǎn)品。
  高端產(chǎn)品的程序存儲器容量可能達(dá)到32M字節(jié)以上,也會采用性能更高的處理器,有較大規(guī)模的軟件開發(fā)團(tuán)隊協(xié)作完成。智能手機(jī)和機(jī)頂盒顯然都屬于高端產(chǎn)品。

  不同的產(chǎn)品類型對操作系統(tǒng)的要求也有所不同。低端產(chǎn)品在人機(jī)交互方面比較簡單,通常只是通過幾個按鍵來實現(xiàn)。當(dāng)使用者按下這些按鍵后,一定會跟隨著一系列的反應(yīng)和處理動作,這些處理動作在發(fā)生的時間和順序都有非常嚴(yán)格的要求。例如,在數(shù)碼相機(jī)上按下快門鍵,就會啟動測光、聚焦、感光成像和圖像存儲等一系列動作,每個動作所用的時間都必須嚴(yán)格控制。再比如在噴墨打印機(jī)中,必須把圖像數(shù)據(jù)轉(zhuǎn)換成噴墨命令傳遞給控制馬達(dá),移動到指定的位置并精確地噴出墨水。噴墨打印機(jī)的打印速度是其市場競爭力的重要指標(biāo),這就給時序控制提出了更高的要求。而且,低端產(chǎn)品由于銷售批量很大,需要嚴(yán)格控制成本,所以一般都采用性能不高的處理器,因而給軟件的實時性提出了更高的要求。{{分頁}}

  高端產(chǎn)品通常采用價格和性能都比較高的處理器,而且經(jīng)常配有協(xié)處理器。另外,像智能手機(jī)、機(jī)頂盒之類的設(shè)備,人機(jī)互動非常多。一般認(rèn)為,電子器件的反應(yīng)速度比人的動作快得多。高性能的處理器,加上動作較慢的人為操作,使有些人認(rèn)為在高端消費電子產(chǎn)品對實時性的要求沒有那么高,但事實并非如此。因為高端消費電子產(chǎn)品在功能上常常覆蓋了低端產(chǎn)品。例如:智能手機(jī)幾乎都配有照相功能,而且還要通過無線網(wǎng)絡(luò)來傳送照片;機(jī)頂盒之中會包括DSP部件,用來進(jìn)行IP路由和視頻解碼。

  一般來說,高端消費電子產(chǎn)品都需要與比較多樣化的外圍設(shè)備配合使用,無論從功能的多樣性和實時性哪方面看,都對操作系統(tǒng)的實時性提出了非常嚴(yán)苛的要求,同時也需要更多的中間件和服務(wù)支持。
 

圖1: 從低端到高端,消費電子產(chǎn)品對操作系統(tǒng)提出不同的要求。

讓Linux的實時性由軟變硬

  由于采用不同的技術(shù),各種操作系統(tǒng)的實時性也有所不同。操作系統(tǒng)可大致劃分為實時操作系統(tǒng) (Real-time OS) 和分時操作系統(tǒng) (Time-Sharing OS)兩類。在一個分時操作系統(tǒng)中,計算機(jī)資源會被平均地分配給系統(tǒng)內(nèi)所有的工作。分時系統(tǒng)的設(shè)計原則是最大限度地利用處理器資源,盡量不讓處理器處于空閑狀態(tài),而各項任務(wù)需要花多長時間來完成,這一點并不重要;而在一個實時操作系統(tǒng)之中,最關(guān)注的是確保在規(guī)定的時間內(nèi)完成確定的任務(wù)。在許多應(yīng)用系統(tǒng)中,在確定的時間內(nèi)完成任務(wù)是至關(guān)重要的,一個小小的誤差就會造成很大的損失。數(shù)碼相機(jī)的曝光時間誤差只是影響到照片的質(zhì)量,而民航科技控制系統(tǒng)的時間誤差甚至關(guān)系到生命安全。

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

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

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

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

方法實現(xiàn)全面提升

  電子產(chǎn)品的發(fā)展普遍存在“繼承性”。也就是說,大多數(shù)新產(chǎn)品都是在上一代產(chǎn)品的基礎(chǔ)上升級更新,增加新的功能特性,丟棄舊的功能。與傳統(tǒng)市場相比,消費電子產(chǎn)品具有更強(qiáng)的時尚性。傳統(tǒng)電子產(chǎn)品曾經(jīng)是以年為周期,而當(dāng)今消費電子產(chǎn)品跟時裝差不多,以季節(jié)為周期來更新?lián)Q代了。相應(yīng)地,消費電子產(chǎn)品開發(fā)的模式必須緊跟市場變化的節(jié)奏。傳統(tǒng)上那種每個產(chǎn)品都從頭開始開發(fā)以及單個產(chǎn)品的開發(fā)團(tuán)隊獨自工作的模式已經(jīng)跟不上形勢,只有在整個企業(yè)范圍內(nèi)實行標(biāo)準(zhǔn)化、系列化、組合式和迭代式的開發(fā)模式,盡可能增加軟件模塊的重復(fù)使用,才能降低開發(fā)成本、縮短產(chǎn)品上市時間,在市場上占據(jù)有利地位。這種新的開發(fā)模式,就是如今設(shè)備軟件開發(fā)領(lǐng)域常常提到的(Device Software Optimization,設(shè)備軟件優(yōu)化)方法論。

 
圖2  DSO方法論在設(shè)備軟件開發(fā)中的應(yīng)用 
 
  DSO方法論是總結(jié)過去25年來企業(yè)網(wǎng)絡(luò)化和分布式計算領(lǐng)域逐漸積累起來的策略、方法和最佳實踐,致力于優(yōu)化設(shè)備軟件的開發(fā)流程。歸納起來看,DSO把過去多年的經(jīng)驗歸納為以下幾個方面,并以此作為自己的支柱。第一,在整個產(chǎn)品開發(fā)項目生命周期中實現(xiàn)工具和流程的標(biāo)準(zhǔn)化;第二,采用集成化的開發(fā)和運行時環(huán)境,包括支持商業(yè)化的硬件、中間件、操作系統(tǒng)和開發(fā)框架;第三,吸收和利用由開放源代碼社區(qū)產(chǎn)生的代碼、工具和協(xié)議;第四,減少對私有技術(shù)的依賴,盡量采用符合業(yè)界標(biāo)準(zhǔn)的參考解決方案;第五,以工程項目和市場需求為依據(jù),對開發(fā)人員進(jìn)行靈活有效的管理,擺脫私有技術(shù)的鎖定。

  Yankee Group分析師指出,設(shè)備軟件生命周期的發(fā)展趨勢正在走向集成化、構(gòu)件化、可重用、標(biāo)準(zhǔn)化、開源以及開發(fā)技能的歸一化。電子產(chǎn)品制造商和軟件工具提供商必須尋求開放、集成化并且基于行業(yè)標(biāo)準(zhǔn)的方法,才能符合DSO的要求。由于廣泛而深入地吸收了過去20多年整個軟件產(chǎn)業(yè)的經(jīng)驗,DSO可以更好地保證設(shè)備軟件的質(zhì)量和開發(fā)效率。
 
  全球領(lǐng)先的設(shè)備軟件優(yōu)化解決方案提供商風(fēng)河系統(tǒng)公司是最早宣布全面提供DSO平臺支持的廠商,目前在全球DSO營收和市場份額均居首位,為全球范圍的設(shè)備軟件開發(fā)人員提供每周7天、全天24小時的技術(shù)支持,其軟件產(chǎn)品則已經(jīng)運行在全球數(shù)以億計的電子產(chǎn)品之中。

  有了DSO方法論和硬實時技術(shù)的加持,消費電子開發(fā)商已經(jīng)可以放心地采用Linux作為其產(chǎn)品的操作系統(tǒng)平臺。相信業(yè)界已經(jīng)注意到,就在不久前,風(fēng)河系統(tǒng)公司與全球領(lǐng)先的無線半導(dǎo)體供應(yīng)商德州儀器(Texas Instruments Incorporated,TI)宣布合作開發(fā)支持德州儀器OMAP2430手持設(shè)備與個人數(shù)字助理(PDA)應(yīng)用處理器的風(fēng)河Linux設(shè)備軟件平臺,以及風(fēng)河Workbench開發(fā)工具套件(包含Workbench 片上調(diào)試工具等),由風(fēng)河Linux平臺支持OMAP2430處理器的高級多媒體功能,幫助移動手持設(shè)備制造商能夠更快速、更經(jīng)濟(jì)地開發(fā)、測試和部署各種下一代贏利型多媒體應(yīng)用,如視頻會議、數(shù)字應(yīng)約、移動終端互聯(lián)游戲(mobile-to-mobile gaming)和移動電視(mobile TV)等。這件事情足以說明,風(fēng)河公司的商用級Linux和OMAP處理器的高級多媒體功能特性可以為電子設(shè)備制造商提供支持豐富多媒體應(yīng)用和移動應(yīng)用的Linux平臺系統(tǒng),進(jìn)一步降低這些應(yīng)用從開發(fā)到上市的時間和成本。


 

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

linux相關(guān)文章:linux教程




關(guān)鍵詞: DSO Linux RTOS

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉