嵌入式操作系統與嵌入式處理器

隨着計算機技術和通訊技術的快速發展,嵌入式系統已經廣泛滲入到工業控制、移動通信、電子商務、信息家電等多個應用領域,應用日益廣泛。下面小編爲大家整理了關於嵌入式操作系統與嵌入式處理器的文章,一起來看看吧:

嵌入式操作系統與嵌入式處理器

  1 嵌入式系統

嵌入式系統(Embedded System,ES)是將先進的微電子技術、通訊技術和計算機技術與各個具體應用領域相結合的產物,是一個資金技術密集且高度集成創新的知識系統。嵌入式系統是以應用爲中心,計算機技術爲基礎,軟硬件可裁剪,適應於應用系統對功能、可靠性、成本、體積和功耗等方面有嚴格要求的專用計算機系統。因此,它具有“嵌入性”、“專有性”和“計算機系統”三個基本要素,其中“嵌入性”是它的特徵,“專有性”是它的靈魂,“計算機系統”是它的本質。

根據IEEE(Institute of Electrical and Electronics Engineers 電氣電子工程師協會)從它的用途來定義,嵌入式系統是用來監視、控制或者輔助機器和設備運行的系統[2]。其實嵌入式系統就是微操作系統和功能軟件的集成,在以微處理器爲核心的微型計算機硬件體系中所形成的簡易便捷,穩定可靠,經濟實用的機電一體化產品。

  2 嵌入式處理器

嵌入式處理器(Embedded Processor,EP)與通用處理器最大的區別就在於嵌入式處理器大多工作在爲不同用戶羣所設計的特定系統中,它常常將通用處理器中許多由板卡完成的功能集成到芯片內部,從而有利於實現嵌入式系統設計的微型化,同時又保證了較高的可靠性和處理效率。到目前爲止,全球嵌入式處理器的種類已經超過1000多種,其中以ARM、MIPS、Power PC、Motorola 68K、X86等體系結構最爲常見,一般將嵌入式處理器分成以下四類:

1)嵌入式微控制器 (Microcontroller Unit,MCU);

2)嵌入式微處理器 (Embedded Microprocessor Unit,EMPU);

3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP);

4)片上系統(System On Chip,SOC)。

一般在嵌入式系統設計中常用的嵌入式微處理器和體系結構主要有以下幾種:

1) ARM

ARM(Advanced RISC Machines)公司是全球著名的16/32位精簡指令集計算機RISC(Reduced Instruction Set Computer)處理器設計供應商,通過提供高性能與低功耗的RISC處理器芯片設計技術給各個生產廠商來生產滿足不同應用領域要求的芯片。事實上,由於ARM處理器一方面支持16位的Thumb指令集和32位的ARM指令集,另一方面使用了大量的寄存器和靈活的尋址方式來提高系統執行的效率,所以ARM處理器技術已經成爲數字通信、工業控制、多媒體家電等嵌入式應用領域的RISC標準。ARM系列處理器種類很多,目前市場上應用最爲廣泛的是ARM9和ARM10系列處理芯片。ARM9處理器由於擁有了五級流水線結構和自帶MMU功能,廣泛應用於手持終端和無線通訊等領域。ARM10處理器由於採用了更高的六級流水線結構和支持DSP指令以及支持64位的AMBA總線接口[5],其性能較ARM9有了很大的提高,廣泛應用於手持PDA以及車載電子等高端領域。

2) MIPS

MIPS(Microprocessor without Interlocked Pipeline Stages)簡稱無內部互鎖流水級的微處理器,是美國MIPS技術公司推出的一種基於RISC架構的高性能高檔次的處理器內核。MIPS採用了先進的設計理念和清晰的系統結構,強調軟硬件協同工作以提高處理器性能,同時簡化了硬件設計,採用軟件方法來避免流水線運行中的數據相關問題。雖與ARM處理器相比,MIPS體系結構的處理器功耗要高些,但它具備了從32位低端產品到64位高端產品的完整解決方案,而且在知識產權的授權費用上MIPS要低於ARM,因此,MIPS內核逐漸被越來越多的消費類電子產品和工業控制產品的設計所採用。

3) Power PC

PowerPC(Performance optimization with Enhanced RISC performance Computing)簡稱性能優化與增強的RISC性能計算,是由IBM、Motorola和Apple公司聯合開發的一款高性能32/64位RISC處理器,其主要特點是可伸縮性好,方便靈活和較高的性價比。常見的基於Power PC架構的處理器有IBM公司的Power PC64S(深藍內部的CPU)、Power PC750、Power PCG3以及Motorola公司的MC和MPC系列等。目前,基於Power PC體系結構的處理器廣泛應用於桌面PC系統、移動PC系統、嵌入式系統以及金融電信等行業。

4) Motorola 68K

Motorola 68K採用複雜指令集計算機CISC(Complex Instruction Set Computer)架構[8],是出現比較早的嵌入式處理器,在全球的各種嵌入式處理器應用領域中取得了巨大成功。曾經Sun微計算機公司把這款處理器應用於早期的產品開發中。

5) X86
  X86系列處理器起源於Inter架構的8080,然後發展出286、386、486直到現在的奔騰處理器乃至雙核處理器。從嵌入式市場分佈來看,486DX也是與ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一。目前市場上基於X86體系結構的PC104產品佔有很大的市場份額。

  3 嵌入式操作系統

嵌入式操作系統(Embedded Operating System,EOS)是嵌入式系統的重要組成部分,它通常運行在嵌入式硬件平臺之上,對整個系統的軟硬件資源進行有效管理控制和協調調度的系統軟件。嵌入式操作系統可以分爲兩大類:嵌入式實時操作系統(Embedded Real-time Operating System,ERTOS)和嵌入式分時操作系統。實時操作系統是指系統能及時響應外部事件的請求,在確定的時間內對事件進行處理,並控制所有任務協調一致運行的操作系統。實時操作系統對響應時間有着嚴格的要求,絕對不能錯過該時限要求,否則就會引起嚴重的錯誤。而分時操作系統則按照相等的時間片(time slicing)輪流調度進程執行,在執行的時間上並沒有實時操作系統要求的那麼嚴格,錯過任務執行的最後截止期限或執行時序上的偏差,並不會造成系統的崩潰,帶來災難性的後果。

通常按照對截止期限(Deadline)要求的不同,嵌入式實時操作系統又可以分爲硬實時系統(Hard Real-time OS)和軟實時系統(Soft Real-time OS)。硬實時系統是指對系統響應時間有着嚴格的要求,在任務的截止期限內必須及時響應,絕對不能錯過任務處理的截止期限,否則就會引起系統崩潰或者導致災難性後果。軟實時系統是指系統任務一般能夠在截止期限到達前得到處理,但是如果系統響應時間錯過處理的截止期限,它並不會導致系統崩潰或出現致命的錯誤。

1998年,Bernat和Burns兩位科學家又提出弱硬實時(Weakly Hard Real-time)的概念[9],即實時任務可以錯過截止期限,但任務錯過的截止期限必須可預知且被限制在一定的時間範圍內。從定義上看,弱硬實時能夠科學地定義軟實時任務的.實時特性及實時要求,是對軟實時系統的細化和發展。兩者相似之處都允許系統中的實時任務錯過截止期限,而不同之處在於弱硬實時系統在軟實時系統的基礎上加了一些對截止期限的限制,規定了任務錯過的截止期限數必須可預知且被限定在一定的範圍之內。弱硬實時系統的優點就在於能夠對軟實時系統中實時任務“軟”的程度進行定性,同時雖然弱硬實時系統對任務在單個週期中的特性要求是“軟”的,但從任務窗口的角度來看,弱硬實時系統對任務的要求又是“硬”的,即任務錯過的截止期限必須可預知且被嚴格限制。

  目前國內外常見的嵌入式操作系統主要有以下幾種:

1) Windows CE

Windows CE是美國Microsoft公司專門爲各種移動和便攜式消費類電子產品等嵌入式應用系統設計的一款32位高性能微內核結構的多任務多用戶的操作系統。它具有一個簡潔高效的基於完整優先權的可搶佔式操作系統內核[10],支持強大的通信和圖形實現功能,能夠適應廣泛的系統需求。Windows CE不需要任何特定的硬件結構,實際的硬件結構完全由用戶根據需要自由設計。現在Microsoft公司又推出了針對移動通信產品應用的Windows Mobile操作系統,佔據了很大的市場份額。

2) VxWorks

VxWorks是美國WindRiver公司於1983年設計開發的一種具有工業領導地位的高性能實時操作系統[21]。VxWorks採用一種微內核結構(最小體積<8KB),包括了進程管理、存儲管理、設備管理、文件系統管理、網絡協議及系統應用等幾個部分,爲用戶提供高效的實時多任務管理與調度的能力、微秒級的中斷處理能力、系統資源之間靈活的通信機制,並且具有優先級排隊和循環調度的能力。VxWorks支持多種體系結構的處理器,如X86、i960、Sun Sparc、Motorola、MC68xxx、ARM、Power PC等,和廣泛的工業標準,如POSIX1003.b實時擴展。此外,VxWorks還支持多種物理介質標準和完整的TCP/IP網絡協議,支持多處理器並行工作,具有快速多任務切換、搶佔式任務調度、任務間通信方式多樣化的特點,並且完全符合ANSIC的標準,是目前應用最爲廣泛、市場佔有率最高的實時系統之一。

3) μC/OS-II

μC/OS-II是一款專門爲計算機嵌入式應用而設計的基於靜態優先級的搶佔式調度的多任務實時操作系統,是一種免費且開源的操作系統。μC/OS-II系統採用MicroWindow圖形系統。由於μC/OS-II不支持文件系統,不支持驅動程序和應用程序的模塊加載,因此在進行系統開發時,內核和驅動程序以及應用程序都是集中編譯的。經過十多年的應用和修改,已經被移植到多種處理器平臺上。μC/OS-II由於內核小巧,佔用空間小,執行效率高,實時性能優良和具有較強的可擴展性,廣泛應用於航空航天等領域。

4) QNX

QNX是加拿大QNX Software System公司於1980年開發的一款可擴展的分佈式微內核嵌入式實時操作系統。它部分遵循POSIX標準,如POSIX.1(程序接口)和POSIX.2(Shell和工具)以及POSIX.1b(實時擴展)。用戶可以把應用程序與內核直接編譯在一起,生成一個單一的多線程映像。QNX提供POSIX.1b標準進程調度:32個進程優先級、基於優先級的搶佔式進程調度,其進程在獨立的地址空間運行。此外,QNX內核非常小巧(QNX4.x大約爲12Kb)而且運行速度極快,但是QNX不能很好支持GUI系統,目前市場佔有量不是很大。