嵌入式系統是什么
嵌入式系統是以應用為中心、以計算機技術為基礎,軟、硬件可裁剪,適應于應用系統對功能、可靠性、成本、體積、功耗等方面有特殊要求的專用計算機系統。
嵌入式系統的特點
(1)嵌入式系統是面向特定應用的。嵌入式系統中的CPU是專門為特定應用設計的,具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在芯片內部,從而有利于整個系統設計趨于小型化。
(2)嵌入式系統涉及先進的計算機技術、半導體技術、電子技術、通信和軟件等各個行業。是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
(3)嵌入式系統的硬件和軟件都必須具備高度可定制性。
(4)嵌入式系統的生命周期相當長。嵌入式系統和具體應用有機地結合在一起,其升級換代也是和具體產品同步進行的。
(5)嵌入式系統本身并不具備在其上進行進一步開發的能力。在設計完成以后,用戶如果需要修改其中的程序功能,必須借助于一套專門的開發工具和環境。
(6)為了提高執行速度和系統可靠性,嵌入式系統中的軟件一般都固化在存儲器芯片或單片機中,而不是存貯于磁盤等載體中。
嵌入式操作系統簡介
嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟件,它 是嵌入式系統(包括硬、軟件系統)極為重要的組成部分,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等 Browser。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理越來越復雜的系統資源;能夠把硬件虛擬化,使得開發人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數、驅動程序、工具集以及應用程序 。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固態化以及應用的專用性等方面具有較為突出的特點。
使用實時操作系統的必要性
嵌入式實時操作系統在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統龐大的應用中顯得愈來愈重要。
·首先,嵌入式實時操作系統提高了系統的可靠性。在控制系統中,出于安全方面的考慮,要求系統起碼不能崩潰,而且還要有自愈能力。不僅要求在硬件設計方面提高系統的可靠性和抗干擾性,而且也應在軟件設計方面提高系統的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前后臺系統軟件設計在遇到強 干擾時,使得運行的程序產生異常、出錯、跑飛,甚至死循環,造成了系統的崩潰。而實時操作系統管理的系統,這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統運行的系統監控進程對其進行修復。通常情況下,這個系統監視進程用來監視各進程運行狀況,遇到異常情況時采取一些利于系統穩定可靠的措施,如 把有問題的任務清除掉。
·其次,提高了開發效率,縮短了開發周期。在嵌入式實時操作系統環境下,開發一個復雜的應用程序,通常可以按照軟件工程中的解耦原則將整個程序分解為多個任務模塊。每個任務模塊的調試、修改幾乎不影響其他模塊。商業軟件一般都提供了良好的多任務調試環境。
·再次,嵌入式實時操作系統充分發揮了32位CPU的多任務潛力。32位CPU比8、16位CPU快,另外它本來是為運行多用戶、多任務操作系統而設計的,特別適于運行多任務實時系統。32位CPU采用利于提高系統可靠性和穩定性的設計,使其更容易做到不崩潰。例如, CPU運行狀態分為系統態和用戶態。將系統堆棧和用戶堆棧分開,以及實時地給出CPU的運行狀態等,允許用戶在系統設計中從硬件和軟件兩方面對實時內核的運行實施保護。如果還是采用以前的前后臺方式,則無法發揮32位CPU的優勢。
從某種意義上說,沒有操作系統的計算機(裸機)是沒有用的。在嵌入式應用中,只有把CPU嵌入到系統中,同時又把操作系統嵌入進去,才是真正的計算機嵌入式應用。
嵌入式操作系統有什么優勢
1)專用性很強:嵌入式操作系統的優勢在于個性化很強,其中的軟件系統和硬件的結合非常緊密,一般要針對硬件進行系統的移植,即使在同一品牌、同一系列的產品中也需要根據系統硬件的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統進行較大更改,程序的編譯下載要和系統相結合。
2)系統內核小:對于一般應用在小型電子裝置來說,系統資源有限,而嵌入式操作系統的內核要比傳統的操作系統小的多。
3)高實時性:EOS實時性一般較強,可用于各種設備控制中
4)可裁剪性:支持開放性和可伸縮性的體系結構。
5)系統精簡安全:嵌入式操作系統一般沒有系統軟件和應用軟件的明顯區分,不要求其功能設計及實現上過于復雜,這樣一方面利于控制系統成本,同時也利于實現系統安全。
6)統一的接口。提供設備統一的驅動接口。
7)固化代碼。在嵌入式系統中,嵌入式操作系統和應用軟件被固化在嵌入式系統計算機的ROM中。
8)生命周期較長:由于嵌入式操作系統是與具體應用應用有機結合在一起,升級換代也是同步進行。
9)強穩定性,弱交互性。嵌入式操作系統的優勢在于運行開始就不需要用戶過多的干預,用戶接口一般不提供操作命令,它通過系統的調用命令向用戶程序提供服務,這就要負責系統管理的EOS具有較強的穩定性。
10)操作方便、簡單、提供友好的圖形GUI和圖形界面,提供強大的網絡功能,支持TCP/IP協議及其他協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層接口,為各種移動計算設備預留接口。
11)可滿足便攜虛擬儀器的需要:嵌入式操作系統目前已進入后PC時代,它的小體積、高可靠能夠滿足實現野戰和惡劣環境下的便攜虛擬儀器的需要。
12)可靈活定制:相比于通用型計算機系統,嵌入式系統功耗低、可靠性高;功能強大、性能價格比高;實時性強,支持多任務;占用空間小,效率高;面向特定應用,可根據需要靈活定制。
嵌入式操作系統的種類
一般情況下,嵌入式操作系統可以分為兩類,一類是面向控制、通信等領域的實時操作系統,如WindRiver公司的VxWorks、ISI的pSOS、 QNX系統軟件公司的QNX、ATI的Nucleus等;另一類是面向消費電子產品的非實時操作系統,這類產品包括個人數字助理(PDA)、移動電話、機頂盒、電子書、WebPhone等。
a、非實時操作系統
早期的嵌入式系統中沒有操作系統的 概念,程序員編寫嵌入式程序通常直接面對裸機及裸設備。在這種情況下,通常把嵌入式程序分成兩部分,即前臺程序和后臺程序。前臺程序通過中段來處理事件,其結構一般為無限循環;后臺程序則掌管整個嵌入式系統軟、硬件資源的分配、管理以及任務的調度,是一個系統管理調度程序。這就是通常所說的前后臺系統。一 般情況下,后臺程序也叫任務級程序,前臺程序也叫事件處理級程序。在程序運行時,后臺程序檢查每個任務是否具備運行條件,通過一定的調度算法來完成相應的操作。對于實時性要求特別嚴格的操作通常由中斷來完成,僅在中斷服務程序中標記事件的發生,不再做任何工作就退出中斷,經過后臺程序的調度,轉由前臺程序 完成事件的處理,這樣就不會造成在中斷服務程序中處理費時的事件而影響后續和其他中斷。
實際上,前后臺系統的實時性比預計 的要差。這是因為前后臺系統認為所有的任務具有相同的優先級別,即是平等的,而且任務的執行又是通過FIFO隊列排隊,因而對那些實時性要求高的任務不可 能立刻得到處理。另外,由于前臺程序是一個無限循環的結構,一旦在這個循環體中正在處理的任務崩潰,使得整個任務隊列中的其他任務得不到機會被處理,從而造成整個系統的崩潰。由于這類系統結構簡單,幾乎不需要RAM/ROM的額外開銷,因而在簡單的嵌入式應用被廣泛使用。
b、實時操作系統
實時系統是指能在確定的時間內執行其功能并對外部的異步事件做出響應的計算機系統。其操作的正確性不僅依賴于邏輯設計的正確程度,而且與這些操作進行的時間有關。“在確定的時間內”是該定義的核心。也就是說,實時系統是對響應時間有嚴格要求的。
實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序出現偏差將會引起嚴重后果。實時系統有兩種類型:軟實時系統和硬實時系統。軟實時系統僅要求事件響應是實時的,并不要求限定某一任務必須在多長時間內完成;而在硬實時系統中,不僅要求任務響應要實時,而且要求在規定的時間內完成事件的處理。通常,大多 數實時系統是兩者的結合。實時應用軟件的設計一般比非實時應用軟件的設計困難。實時系統的技術關鍵是如何保證系統的實時性。
實時多任務操作系統是指具有實時性、能支持實時控制系統工作的操作系統。其首要任務是調度一切可利用的資源完成實時控制任務,其次才著眼于提高計算機系統的使用效率,重要特點是要滿足對時間的限制和要求。實時操作系統具有如下功能:任務管理(多任務和基于優先級的任務調度)、任務間同步和通信(信號量和 郵箱等)、存儲器優化管理(含ROM的管理)、實時時鐘服務、中斷管理服務。實時操作系統具有如下特點:規模小,中斷被屏蔽的時間很短,中斷處理時間短,任務切換很快。
實時操作系統可分為可搶占型和不可搶占型兩類。對于基于優先級的系統而言,可搶占型實時操作系統是指內核可 以搶占正在運行任務的CPU使用權并將使用權交給進入就緒態的優先級更高的任務,是內核搶了CPU讓別的任務運行。不可搶占型實時操作系統使用某種算法并決定讓某個任務運行后,就把CPU的控制權完全交給了該任務,直到它主動將CPU控制權還回來。中斷由中斷服務程序來處理,可以激活一個休眠態的任務,使之進入就緒態;而這個進入就緒態的任務還不能運行,一直要等到當前運行的任務主動交出CPU的控制權。使用這種實時操作系統的實時性比不使用實時操作系統的系統性能好,其實時性取決于最長任務的執行時間。不可搶占型實時操作系統的缺點也恰恰是這一點,如果最長任務的執行時間不能確定,系統的實時性就不能確 定。
可搶占型實時操作系統的實時性好,優先級高的任務只要具備了運行的條件,或者說進入了就緒態,就可以立即運行。也就是 說,除了優先級最高的任務,其他任務在運行過程中都可能隨時被比它優先級高的任務中斷,讓后者運行。通過這種方式的任務調度保證了系統的實時性,但是,如果任務之間搶占CPU控制權處理不好,會產生系統崩潰、死機等嚴重后果。
嵌入式操作系統的發展
嵌入式操作系統伴隨著嵌入式系統的發展經歷了4個比較明顯的階段。
第一階段是無操作系統的嵌入算法階段,是以單芯片為核心的可編程控制器形式的系統,同時具有與監測、伺服、指示設備相配合的功能。這種系統大部分應用于一些專業性極強的工業控制系統中,一般沒有操作系統的支持,通過匯編語言編程對系統進行直接控制,運行結束后清除內存。這一階段系統的主要特點是:系統 結構和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統使用簡便、價格很低,以前在國內工業領域應用較為普遍,但是已經遠遠不能適應高效的、需要大容量存儲介質的現代化工業控制和新興的信息家電等領域的需求。
第二階段是以嵌入式CPU為 基礎、以簡單操作系統為核心的嵌入式系統。這一階段系統的主要特點是:CPU種類繁多,通用性比較差;系統開銷小, 效率高;一般配備系統仿真器,操作系統具有一定的兼容性和擴展性;應用軟件較專業,用戶界面不夠友好;系統主要用來控制系統負載以及監控應用程序運行。
第三階段是通用的嵌入式實時操作系統階段,是以嵌入式操作系統為核心的嵌入式系統。這一階段系統的主要特點是:嵌入式操作系統能運行于各種不同類型的微處理器上,兼容性好;操作系統內核精小、效率高,并且具有高度的模塊化和擴展性;具備文件和目錄管理、設備支持、多任務、網絡 支持、圖形窗口以及用戶界面等功能;具有大量的應用程序接口(API),開發應用程序簡單;嵌入式應用軟件豐富。
第四階段是以基于Internet為標志的嵌入式系統,這是一個正在迅速發展的階段。目前大多數嵌入式系統還孤立于Internet之外,但隨著Internet的發展以及Internet技術與
信息家電、工業控制技術等結合日益密切,嵌入式設備與Internet的結合將代表著嵌入式技術的真正未來。
評論
查看更多