嵌入式軟件核心RTOS的特性

時間:2009-10-26

來源:中國傳動網

導語:微軟已經推出了Windows的嵌入式版本——Windows CE。而風靡一時的Linux也在嵌入式系統(tǒng)中扮演著重要角色。

隨著信息家電的普及,智能化、網絡化將會無所不在,所有這些都離不開嵌入式軟件,而在嵌入式軟件只中最核心的莫過于RTOS(Real Time Operating System,實時操作系統(tǒng))。我們都非常熟悉Windows這樣的操作系統(tǒng),但卻不一定熟悉嵌入式系統(tǒng)中常用的RTOS。如今,微軟已經推出了Windows的嵌入式版本——Windows CE。而風靡一時的Linux也在嵌入式系統(tǒng)中扮演著重要角色。這樣看來,傳統(tǒng)桌面操作系統(tǒng)和嵌入式操作系統(tǒng)的界線似乎也在淡化。事實究竟如何呢?   RTOS的必備特性   用于嵌入式環(huán)境的操作系統(tǒng)RTOS與桌面操作系統(tǒng)有很多本質的不同。這些不同的特性導致產品開發(fā)的不同結果。   嵌入式環(huán)境給人的第一印象就是占用空間小。所以,普通的Linux或者Windows操作系統(tǒng)要變成嵌入式操作系統(tǒng),首先就是要進行裁剪。然而,與桌面環(huán)境相比,嵌入式環(huán)境對于操作系統(tǒng)系統(tǒng)要求不僅僅是“小”,二者在設計要求上有著本質的不同。這些不同主要體現在可裁剪性、實時性和可靠性等三個方面。   隨機應變——可裁剪性   從硬件環(huán)境來看,桌面操作系統(tǒng)具有標準化的CPU、存儲和I/O架構,而嵌入式環(huán)境中的RTOS的硬件環(huán)境只有標準化的CPU,沒有標準化的存儲、I/O和顯示器架構。   從應用環(huán)境來看,桌面操作系統(tǒng)面向復雜多變的應用,而RTOS面向單一設備的單一應用。   從開發(fā)界面來看,桌面操作系統(tǒng)試圖給開發(fā)人員提供一個“黑箱”,讓開發(fā)人員通過一系列標準的系統(tǒng)調用來使用操作系統(tǒng)中的功能,而嵌入式試圖為開發(fā)人員提供一個“白箱”,讓開發(fā)人員可以自主控制系統(tǒng)的所有資源。   總之,桌面操作系統(tǒng)的研究開發(fā)指導思想是盡可能在不改變自身的前提下具有廣泛的適應性。也就是說:不論應用環(huán)境怎么變化,最好都不要對自身內部產生什么影響,也不要求自身做太多的變化。反過來,應用于嵌入式環(huán)境的RTOS,在研發(fā)的時候就必須立足于改變自身、開放自身,讓開發(fā)人員可以根據硬件環(huán)境和應用環(huán)境的不同而對操作系統(tǒng)進行靈活的裁剪和配置,因為對于任何一個具體的嵌入式設備,它的功能是確定的,因此只要從原有操作系統(tǒng)中把這個特定應用所需的功能拿進來即可。   應當指出的是:如果一個操作系統(tǒng)平臺只能依靠手工的方式去掉一些代碼,這根本就不是可裁剪性。所謂可裁剪性是在軟件工程階段利用軟件配置方法實現軟件構件的“即插即用”。   可裁剪性帶給用戶的一個最直接的好處是硬件成本降低,這對于成本敏感的應用,如消費電子類設備,具有重要的現實意義。由于設備中只包含應用程序用到的那部分操作系統(tǒng)功能,這就使得系統(tǒng)變得簡單、易把握,從而提高系統(tǒng)的可靠性。   許多人都把實時性理解為速度快。那么,速度快到什么程度才算是達到實時性呢?其實,所謂實時性,其核心含義在于確定性,而不是單純的速度快。也就是說,RTOS所要求的是在規(guī)定的時間內做完應該做的事情,并且操作系統(tǒng)的行為(執(zhí)行線索)是確定的,這是寫出高可靠性程序的基礎。如果完成同樣的動作,有的時候快,有的時候慢,且執(zhí)行線索千差萬別,程序員無法把握,可靠性就無從保證。   嵌入式系統(tǒng)為什么對實時性要求那么高呢?因為嵌入式系統(tǒng)主要是對儀器設備的動作進行監(jiān)測控制的,而一般的桌面操作系統(tǒng)基本上是根據人在鍵盤和鼠標發(fā)出的命令進行工作。相對而言,儀器設備的動作具有嚴格的、機械的時序要求,而人的動作和反應在時序上并不那么嚴格。比如,用于控制火箭發(fā)動機的嵌入式系統(tǒng),它所發(fā)出的指令不僅要速度快,而且多個發(fā)動機之間的時序要求非常嚴格,否則就會差之毫厘、謬之千里。在這樣的應用環(huán)境中,非實時的普通操作系統(tǒng)無論如何是無法適應的。   如果我們所開發(fā)的設備并不是像航空航天器那樣生命攸關或者生產控制那樣的關鍵任務系統(tǒng),而是像消費電子類那樣,即使出現錯誤也不會造成災難性后果的設備,那么實時性(嚴格地講是確定性)是否還具有現實意義呢?答案是肯定的!設備的高可靠性可以有效地降低維護成本;軟件運行效率高也會降低對CPU的要求,從而降低硬件成本。對于消費電子產品這類價格十分敏感的產品,實時性、可靠性仍然是非常值得重視的問題。   堅如磐石――可靠性   桌面操作系統(tǒng)與RTOS相比,另一個差別就是對于穩(wěn)定性、可靠性方面的設計思路。一方面,桌面操作系統(tǒng)比較龐大、復雜,而RTOS比較小巧、簡捷,而“越簡單、越可靠,越復雜、故障概率越大”這又是一個常理。另一方面,更重要的是:桌面操作環(huán)境與嵌入式環(huán)境在設計思路上有一個重大的不同——桌面環(huán)境假定應用軟件與操作系統(tǒng)相比而言可以是不可靠的,而嵌入式環(huán)境假定應用軟件與操作系統(tǒng)一樣可靠。   運行于嵌入式環(huán)境中的RTOS要求應用軟件具有與操作系統(tǒng)同樣的可靠性,這種設計思路對應用開發(fā)人員提出了更高的要求,同時也要求操作系統(tǒng)自身足夠開放。   著名的“木桶原理”告訴我們,局部的不足會導致整體的缺陷。要保證系統(tǒng)的可靠性,必須保證系統(tǒng)中每一個部分都是可靠的,任何部分的不可靠都會導致系統(tǒng)整體的不可靠。大多數桌面系統(tǒng)都是上千萬行代碼的龐大而復雜的系統(tǒng),即使有源代碼程序員也難以把握。而且對開發(fā)人員來說,桌面系統(tǒng)龐雜的細節(jié)是隱蔽在一個個的固定的接口下的,是一個黑箱,很難把握具體執(zhí)行的線索。即便其內核是足夠可靠的,但它的應用環(huán)境復雜多樣、千差萬別,其中常常有一些應用并不是那么穩(wěn)定可靠,從而破壞了整體系統(tǒng)的可靠性。相反,RTOS對軟件開發(fā)人員來說是完全開放的,是一個白箱,允許開發(fā)人員非常清楚地了解和掌握操作系統(tǒng)內部情況,對存儲器中的每一位和每一個I/O接口進行操作控制,從而可以設計出高效穩(wěn)定的應用軟件。 RTOS的定義 實時系統(tǒng)(Real-time operating system,RTOS)的正確性不僅依賴系統(tǒng)計算的邏輯結果,還依賴于產生這個結果的時間。實時系統(tǒng)能夠在指定或者確定的時間內完成系統(tǒng)功能和外部或內部、同步或異步時間做出響應的系統(tǒng)。因此實時系統(tǒng)應該在事先先定義的時間范圍內識別和處理離散事件的能力;系統(tǒng)能夠處理和儲存控制系統(tǒng)所需要的大量數據。
中傳動網版權與免責聲明:

凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(m.u63ivq3.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機器視覺
  • 機械傳動
  • 編碼器
  • 直驅系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機界面
  • PLC
  • 電氣聯接
  • 工業(yè)機器人
  • 低壓電器
  • 機柜
回頂部
點贊 0
取消 0