- 相關(guān)推薦
“硬實時”為Linux系統(tǒng)注入新活力
將Linux作為電子設(shè)備的軟件開發(fā)和運行平臺,這早已成為設(shè)備軟件領(lǐng)域的熱門話題,這的確可以為電子產(chǎn)品制造企業(yè)帶來不少好處。然而,由于Linux一直都只能提供軟實時(soft real-time)性能,而在汽車控制、工業(yè)控制、電信基礎(chǔ)建設(shè)等諸多需要硬實時性能的應(yīng)用中,都無法采用只有“軟實時”能力的Linux,這就使得許多對時間較為敏感的應(yīng)用都成為Linux難以涉入的禁地。
最近,美國風(fēng)河系統(tǒng)公司從FSMLabs購買了硬實時Linux技術(shù)——RTLinux,并將其與風(fēng)河全球領(lǐng)先的Linux設(shè)備軟件平臺的結(jié)合,為電子設(shè)備制造商提供一套成熟、可靠的全新技術(shù),用于開發(fā)和部署各種基于Linux的下一代應(yīng)用,滿足電子設(shè)備制造商們對“硬實時(hard real-time)”特性的需求,例如功能型手機(jī)、需要高容量流媒體的數(shù)字圖像應(yīng)用以及包括車輛避撞系統(tǒng)在內(nèi)的各類車載應(yīng)用等。其中,集成RTLinux技術(shù)的Wind River Platform for Consumer Devices, Linux Edition可以把各種基于Linux的高速包交換設(shè)備軟件應(yīng)用提升到一個全新的高性能級別。
那么,就讓我們一起來了解一下,“硬實時”和“軟實時”有什么樣的區(qū)別,哪些場合必須有“硬實時”的軟件系統(tǒng)來實現(xiàn),以及怎樣才能獲得真正具有“硬實時”特性的Linux平臺。歡迎閱讀!
實時性的“軟”和“硬”
實時操作系統(tǒng) (Real-time OS) 是相對于分時操作系統(tǒng) (Time-Sharing OS) 的一個概念。在一個分時操作系統(tǒng)中,計算機(jī)資源會被平均地分配給系統(tǒng)內(nèi)所有的工作。在分時系統(tǒng)中,各項任務(wù)需要花多長時間來完成,這一點并不重要;而在一個實時操作系統(tǒng)之中,最關(guān)注的是每個任務(wù)在多長時間內(nèi)可以完成。簡單地說,實時和分時操作系統(tǒng)最大的不同在于 “時限(deadline)”這個概念。
從上述區(qū)別中可以看出,在實時操作系統(tǒng)中,系統(tǒng)必須在特定的時間內(nèi)完成指定的應(yī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)的吞吐量。
當(dāng)你從事設(shè)備軟件開發(fā)時,首先需要知道該系統(tǒng)究竟屬于硬實時、軟實時還是非實時系統(tǒng),這一點很重要。這三種系統(tǒng)所要求的編程技術(shù)和規(guī)范存在很大差別。
風(fēng)河公司認(rèn)為,硬實時與軟實時之間最關(guān)鍵的差別在于,軟實時只能提供統(tǒng)計意義上的實時。例如,有的應(yīng)用要求系統(tǒng)在95%的情況下都會確保在規(guī)定的時間內(nèi)完成某個動作,而不一定要求100%。在許多情況下,這樣的“軟性”正確率已經(jīng)可以達(dá)到用戶期望的水平。比如,用戶在操作DVD播放機(jī)時,只要98%的情況都能正常播放,用戶可能就滿意了;而發(fā)射衛(wèi)星、控制核反應(yīng)堆的應(yīng)用系統(tǒng),這些系統(tǒng)的實時性必須達(dá)到100%,是絕對不允許出現(xiàn)意外的。
何時需要“硬實時”?
幾乎在每個行業(yè)垂直市場都有大量的應(yīng)用系統(tǒng)要求必須采用硬實時才能達(dá)到。例如,在網(wǎng)絡(luò)基礎(chǔ)設(shè)施市場,電信應(yīng)用的關(guān)鍵業(yè)務(wù)常常就對硬實時、軟實時和超高速包傳輸提出了綜合性的要求。在許多對服務(wù)水平有特定要求的話音和其它媒體流傳輸應(yīng)用中,對硬實時的要求顯然超出了市場上現(xiàn)有通用操作系統(tǒng)所能提供的水平。高吞吐量以及高密度數(shù)據(jù)交換網(wǎng)絡(luò)也會令簡單的網(wǎng)絡(luò)堆棧和傳統(tǒng)In-House的嵌入式操作系統(tǒng)陷入性能拙劣的泥潭。
即使在當(dāng)今的消費電子市場,移動電話中的調(diào)制解調(diào)器控制和應(yīng)用處理都離不開硬實時技術(shù),以便減少芯片組的數(shù)量,降低硬件成本。特別是手機(jī)設(shè)計者希望采用單核處理器來實現(xiàn)這些功能的時候就更是如此。在數(shù)字音響和視頻設(shè)備中,更是不乏硬實時技術(shù)的大量應(yīng)用。數(shù)碼相機(jī)的快門只要被按下,就必須跟隨一連串確定的動作,否則就無法拍出高質(zhì)量的照片。
更嚴(yán)重的情況是,在有些領(lǐng)域系統(tǒng)出錯可能導(dǎo)致重大的損失,甚至是人命關(guān)天的。例如航空與國防應(yīng)用中的指令控制、導(dǎo)航、安全、武器控制等,還有飛機(jī)駕駛模擬系統(tǒng)等應(yīng)用,都需要將復(fù)雜的計算、存儲、顯示和機(jī)電控制系統(tǒng)有條不紊地協(xié)調(diào)起來。工業(yè)生產(chǎn)流水線,特別是在化工、電力、交通等行業(yè),都有許多精確度極高的機(jī)電控制系統(tǒng)。所有這些應(yīng)用,毫無疑問都必須建立在硬實時技術(shù)的基礎(chǔ)之上。
【“硬實時”為Linux系統(tǒng)注入新活力】相關(guān)文章:
通過實例講解Linux系統(tǒng)中硬鏈接與軟鏈接的創(chuàng)建10-28
linux系統(tǒng)命令11-23
linux系統(tǒng)命令(經(jīng)典)01-25
linux的文件系統(tǒng)05-05
LINUX操作系統(tǒng)01-22
Linux系統(tǒng)命令及使用技巧08-31
Linux查看系統(tǒng)版本的方法06-26