嵌入式作業系統是什麼_嵌入式作業系統有哪些

2020-12-13 電子發燒友

  嵌入式作業系統是什麼

  嵌入式作業系統(Embedded OperatingSystem,簡稱:EOS)是指用於嵌入式系統的作業系統。嵌入式作業系統是一種用途廣泛的系統軟體,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。嵌入式作業系統負責嵌入式系統的全部軟、硬體資源的分配、任務調度,控制、協調並發活動。它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。

  接下來跟隨小編來了解一下常用的十款嵌入式作業系統吧。

  

  常見的嵌入式作業系統

  一、VxWorks

  VxWorks作業系統是美國WindRiver公司於1983年設計開發的一種嵌入式實時作業系統(RTOS),是Tornado嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌人式實時作業系統領域逐漸佔據一席之地。

  VxWorks具有可裁剪微內核結構;高效的任務管理;靈活的任務間通訊;微秒級的中斷處理;支持POSIX 1003.1b實時擴展標準;支持多種物理介質及標準的、完整的TCP/IP網絡協議等。

  然而其價格昂貴。由於作業系統本身以及開發環境都是專有的,價格一般都比較高,通常需花費10萬元人民幣以上才能建起一個可用的開發環境,對每一個應用一般還要另外收取版稅。一般不通供原始碼,只提供二進位代碼。由於它們都是專用作業系統,需要專門的技術人員掌握開發技術和維護,所以軟體的開發和維護成本都非常高。支持的硬體數量有限。

  

  二、Windows CE

  Windows CE與Windows系列有較好的兼容性,無疑是Windows CE推廣的一大優勢。其中WinCE3.0是一種針對小容量、移動式、智能化、32位、了解設備的模塊化實時嵌人式作業系統。為建立針對掌上設備、無線設備的動態應用程式和服務提供了一種功能豐富的作業系統平臺,它能在多種處理器體系結構上運行,並且通常適用於那些對內存佔用空間具有一定限制的設備。它是從整體上為有限資源的平臺設計的多線程、完整優先權、多任務的作業系統。它的模塊化設計允許它對從掌上電腦到專用的工業控制器的用戶電子設備進行定製。

  作業系統的基本內核需要至少200KB的ROM。由於嵌入式產品的體積、成本等方面有較嚴格的要求,所以處理器部分佔用空間應儘可能的小。系統的可用內存和外存數量也要受限制,而嵌入式作業系統就運行在有限的內存(一般在ROM或快閃記憶體)中,因此就對作業系統的規模、效率等提出了較高的要求。從技術角度上講,Windows CE作為嵌入式作業系統有很多的缺陷:沒有開放原始碼,使應用開發人員很難實現產品的定製;在效率、功耗方面的表現並不出色,而且和Windows一樣佔用過的系統內存,運用程序龐大;版權許可費也是廠商不得不考慮的因素。

  

  三、嵌入式Linux

  這是嵌入式作業系統的一個新成員,其最大的特點是原始碼公開並且遵循GPL協議,在近一年多以來成為研究熱點,據IDG預測嵌入式Linux將佔未來兩年的嵌入式作業系統份額的50%。

  由於其原始碼公開,人們可以任意修改,以滿足自己的應用,並且查錯也很容易。遵從GPL,無須為每例應用交納許可證費。有大量的應用軟體可用。其中大部分都遵從GPL,是開放原始碼和免費的。可以稍加修改後應用於用戶自己的系統。 有大量的免費的優秀的開發工具,且都遵從GPL,是開放原始碼的。有龐大的開發人員群體。無需專門的人才,只要懂Unix/Linux和C語言即可。隨著Linux在中國的普及,這類人才越來越多。所以軟體的開發和維護成本很低。優秀的網絡功能,這在Internet時代尤其重要。穩定——這是Linux本身具備的一個很大優點。內核精悍,運行所需資源少,十分適合嵌入式應用。

  支持的硬體數量龐大。嵌入式Linux和普通Linux並無本質區別,PC上用到的硬體嵌入式Linux幾乎都支持。而且各種硬體的驅動程序原始碼都可以得到,為用戶編寫自己專有硬體的驅動程序帶來很大方便。

  在嵌入式系統上運行Linux的一個缺點是Linux體系提供實時性能需要添加實時軟體模塊。而這些模塊運行的內核空間正是作業系統實現調度策略、硬體中斷異常和執行程序的部分。由於這些實時軟體模塊是在內核空間運行的,因此代碼錯誤可能會破壞作業系統從而影響整個系統的可靠性,這對於實時應用將是一個非常嚴重的弱點。

  

  四、μC/OS一Ⅱ

  μC/OS一Ⅱ是著名的原始碼公開的實時內核,是專為嵌入式應用設計的,可用於8位,16位和32位單片機或數位訊號處理器(DSP)。它是在原版本μC/OS的基礎上做了重大改進與升級,並有了近十年的使用實踐,有許多成功應用該實時內核的實例。它的主要特點如下:

  公開原始碼,容易就能把作業系統移植到各個不同的硬體平臺上;

  可移植性,絕大部分原始碼是用C語言寫的,便於移植到其他微處理器上; 可固化;

  可裁剪性,有選擇的使用需要的系統服務,以減少鬥所需的存儲空間;

  佔先式,完全是佔先式的實時內核,即總是運行就緒條件下優先級最高的任務;

  多任務,可管理64個任務,任務的優先級必須是不同的,不支持時間片輪轉調度法; 可確定性,函數調用與服務的執行時間具有其可確定性,不依賴於任務的多少; 實用性和可靠性,成功應用該實時內核的實例,是其實用性和可靠性的最好證據。 由於μC/OS一Ⅱ僅是一個實時內核,這就意味著它不像其他實時存在系統那樣提供給用戶的只是一些API函數接口,還有很多工作需要用戶自己去完成。

  

  五、TInyOS

  TInyOS是一個開源的嵌入式作業系統,它是由加州大學的伯利克分校開發出來的,主要應用於無線傳感器網絡方面。程序採用的是模塊化設計,所以它的程序核心往往都很小,一般來說核心代碼和數據大概在400 Bytes左右,能夠突破傳感器存儲資源少的限制。TInyOS提供一系列可重用的組件,一個應用程式可以通過連接配置文件(A Wiring Specification)將各種組件連接起來,以完成它所需要的功能。

  

  六、嵌入式實時作業系統(RTOS)

  在工業控制、 軍事設備、航空航天等領域對系統的響應時間有苛刻的要求,這就需要使用實時系統。當外界事件或數據產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統作出快速響應,並控制所有實時任務協調一致運行的嵌入式作業系統。故對嵌入式實時作業系統的理解應該建立在對嵌入式系統的理解之上加入對響應時間的要求。

  

  七、FreeRTOS

  FreeRTOS是一個迷你作業系統內核的小型嵌入式系統。作為一個輕量級的作業系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能等,可基本滿足較小系統的需要。FreeRTOS任務可選擇是否共享堆棧,並且沒有任務數限制,多個任務可以分配相同的優先權。相同優先級任務的輪轉調度,同時可設成可剝奪內核或不可剝奪內核。

  

  八、WinCE

  WinCE是微軟公司嵌入式、移動計算平臺的基礎,它是一個開放的、可升級的32位嵌入式作業系統,是基於掌上型電腦類的電子設備作業系統,它是精簡的 Windows 95,Win CE的圖形用戶界面相當出色。WinCE是從整體上為有限資源的平臺設計的多線程、完整優先權、多任務的作業系統。它的模塊化設計允許它對於從掌上電腦到專用的工業控制器的用戶電子設備進行定製。作業系統的基本內核需要至少200K的ROM。

  一般來說,一個WinCE系統包括四層結構:應用程式、WinCE內核映像、板級支持包(BSP)、硬體平臺。而基本軟體平臺則主要由 WinCE系統內核映像(OS Image)和板卡支持包(BSP)兩部分組成。因為WinCE系統是一個軟硬體緊密結合的系統,因此即使CPU處理器相同,但是如果開發板上的外圍硬體不相同,這個時候還是需要修改BSP來完成一個新的BSP。因此換句話說,就是WinCE的移植過程主要是改寫BSP的過程。

  

  九、Android

  Android 是一個包括作業系統,中間件以及一些重要應用程式的專門針對行動裝置的層次結構的軟體集。Android 作為一個完全開源的作業系統,是由作業系統Linux、中間件以及核心應用程式組成的軟體棧。通過 android SDK 提供的 API 以及相應的開發工具, 程式設計師可以很方便的開發android平臺上的應用程式。其整個系統由應用程式,應用程式框架,應用程式庫,Android運行庫,Linux內核 (Linux Kernel)五個部分組成。Android作業系統內置了一部分應用程式, 包括電子郵件客戶端、SMS程序、日曆、地圖、瀏覽器、通訊錄以及其他的程序,值得一提的是這些所有的程序都是用java編寫的。

  移植的主要的工作是驅動,硬體抽象層的移植。為了更好地理解和調試系統,也應該適當地了解上層對硬體抽象層的調用情況。

  

  十、QNX

  QNX由加拿大QNX軟體系統有限公司開發,廣泛應用於自動化、控制、機器人科學、電信、數據通信、航空航天、計算機網絡系統、醫療儀器設備、交通運輸、安全防衛系統、POS機、零售機等任務關鍵型應用領域。

  QNX獨特的微內核和消息傳遞結構使其運行和開發時非常方便。QNX具有非常好的伸縮性,用戶可以把應用程式代碼和QNX內核直接編譯在一起,使之為簡單的嵌入式應用生成單一的映像。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 嵌入式系統的面面觀
    大家可能會沉默或者回答沒有問題,這時你千萬不要以為大家都聽懂了,更大的可能是:他不知道什麼是真正的聽懂以及為什麼要聽你說這麼一大段話,他沒有一個期望值;不知道自己聽懂了什麼,沒聽懂什麼,處在游離狀態找不到自己的現狀…因此,不是他完全聽懂了,沒有問題,而是不知道自己有沒有聽懂,不知道什麼算是完全聽懂,因而找不到這個落差在哪裡,沒有發現落差也就沒有發現問題,所以就沉默或者回答:沒有問題。
  • WinCE--嵌入式系統簡介
    本文引用地址:http://www.eepw.com.cn/article/201809/388527.htm嵌入式系統是不同於常見計算機系統的一種計算機系統,它不以獨立設備的物理形態出現,即它沒有一個統一的外觀,它的部件根據主體設備以及應用的需要嵌入在設備的內部,發揮著運算、處理、存儲以及控制作用。從體系結構上看,嵌入式系統主要由嵌入式處理器、支撐硬體和嵌入式軟體組成。
  • ARM嵌入式工控電腦的作業系統是怎樣的
    ARM嵌入式工控電腦的常用作業系統有Linux和Windows CE,這兩種作業系統在界面和操作上對用戶都是比較友好的,所以受到了ARM嵌入式工控電腦行業的青睞。那麼對於作業系統,您了解嗎?本篇文章聯智通達小編就為您詳細解釋一下。 首先要介紹的就是Linux,Linux是一種免費、開源的工控電腦作業系統,因此其支持軟體多,可用資源豐富。目前將Linux的內核移植在ARM嵌入式工控電腦上,可使用更多的Linux功能。無論是對於企業伺服器還是對於嵌入式系統,Linux都是一個巨大的進步。
  • 實現一個最簡單的嵌入式作業系統
    實現一個最簡單的嵌入式作業系統(一)   實現一個什麼都不能做的嵌入式作業系統1.首先確定CPU,在這裡為了簡單,就選用嵌入式的CPU,比如ARM系列,之所以用RISC(簡單指令集)類型的CPU,其方便之處是沒有實模式與保護模式之分,採用線性的統一尋址,也就是不需要進行段頁式內存管理
  • 嵌入式技術常用的幾種作業系統,嵌入式工程師必看!
    隨著近幾年電子信息技術的發展,嵌入式產品也越來越豐富,小到一塊電子手錶,大到冰箱彩電,而且越來越智能化、集成化。高端的嵌入式電子產品必然離不開作業系統的支持。下面就和小編一起來看看吧。1、嵌入式實時作業系統C/OSμC/OS由Micrium公司提供,是一個可移植、可固化的、可裁剪的、佔先式多任務實時內核,它適用於多種微處理器,微控制器和數字處理晶片(已經移植到超過100種以上的微處理器應用中)。同時,該系統原始碼開放、整潔、一致,注釋詳盡,適合系統開發。
  • 嵌入式學習培訓要學多久?嵌入式學習哪些內容?
    以手機為例,典型的嵌入式產品,我們看看上面集成了多少模塊:觸控螢幕、LCD、USB、WiFi、4G等無線通信、音視頻編解碼IP、DDR、存儲控制器、3D/2D加速、GPS、指紋識別、NFC、DMA、G-sensor各種傳感器.......。隨著嵌入式的火熱,參加嵌入式培訓的很越來越多,嵌入式學習培訓要學多久呢?對於嵌入式的學習一般都是4-6個月的時間。
  • 嵌入式系統課程的教與學
    2.掌握嵌入式系統的基本分析與設計方法,能進行典型嵌入式系統的分析與設計。3.熟悉實時作業系統的基礎知識,4.掌握嵌入式編程技術,能進行典型嵌入式系統環境下程序設計。初步了解先進嵌入式系統的原理與方法。
  • 物聯網和嵌入式有什麼關係?嵌入式什麼意思?
    物聯網和嵌入式有什麼關係?嵌入式什麼意思?那麼先來了解下嵌入式設備的本質吧,其本質是一臺專用的、微型計算機,嵌入式設備也由三個層次的相關內容組成:1)硬體,包括cpu(如ARM)、存儲(如flash)、I/O(顯示模塊、通訊模塊、視音頻模塊、I/O控制電路等)。
  • 嵌入式系統測試題(附詳細解析)
    典型的實時系統有民航導航系統、防空預警系統、電力輸送控制系統等;典型的非實時系統有視頻播放系統、博客發布系統、手機交互式城市交通導航系統等。故四個選項中只有D項是實時系統,此題選D。 30.下列哪個不是RTOS的實時指標?(  )。
  • 到底什麼是嵌入式?什麼是單片機?
    但是,如果要問具體什麼是嵌入式,什麼是單片機,它們之間究竟有什麼區別,我相信大部分人並不能解釋清楚。今天,就給大家做一個入門科普,揭秘上述問題的答案。與此同時,我還會給大家介紹一下,我們經常聽說的51、STM32,究竟是什麼。首先,我們來看看什麼是嵌入式。嵌入式,一般是指嵌入式系統,英文叫作:embedded system。嵌入式開發,其實就是對嵌入式系統的開發。
  • 計算機三級考試嵌入式系統開發技術題庫(有答案) - 前程網(365...
    BSP是介於開發板硬體和作業系統之間的一層軟體抽象,主要目的是為了抽象作業系統對硬體的操作,從而使作業系統的代碼與硬體無關。     40.指令系統是計算機硬體的語言系統,也叫做機器語言。 簡述從層次化的角度來看,嵌入式系統可以分為哪些層。
  • PCBA與嵌入式開發
    什麼是嵌入式系統(1) 嵌入式系統的基本介紹嵌入式系統應定義為:嵌入到對象體系中的專用計算機系統。嵌入性、專用性與計算機系統是嵌入式系統的三個基本要素。嵌入式開發就是指在嵌入式作業系統下進行開發,一般常用的系統有ucos,linux,android等。
  • 基於VxWorks的嵌入式系統複合通信模式
    摘要:在嵌入式系統與VxWorks實時作業系統應用愈加廣泛的背景下,結合嵌入式系統對於各類實時通信方式的不同需要,提出基於控制應用的複合通信模式;以Radstone公司的PPCx系列單板機為例,給出實現方法,並對數據通信的產時性與安全性作了研究。片對於各類嵌入式作業系統的數據測驗具有很大的參考價值。
  • 一文告訴你七大嵌入式Linux作業系統,你了解多少呢?
    這些Linux被統稱為「嵌入式Linux」。下面就來看看都有哪些嵌入式Linux在以上領域縱橫馳騁吧! 該公司有個名為「MidoriLinux計劃」。「MidoriLinux」這個名字來源於日本的「綠色」——Midori,用來反映其Linux作業系統的環保外觀。 紅旗嵌入式Linux 由北京中科院紅旗軟體公司推出的嵌入式Linux是國內做得較好的一款嵌入式作業系統。
  • 嵌入式+AI,嵌入式工程師的前景如何?
    如果還不明白,那行,我們說一說具體的嵌入式產品有哪些,嵌入式是做什麼的:傳統嵌入式產品:空調主控模塊、冰箱主控模塊、家用遙控器、智慧型手機、教學投影儀、音響系統、雷達系統、路由器等等;前沿嵌入式產品:無人機、智能音響、機器人控制、城市天眼系統、智能家具、自動駕駛汽車、掃地機器人、小米手環等等;
  • 嵌入式系統概述及與單片機區別說明
    其次,嵌入式系統必須與具體應用相結合,並有針對性地進行設計。因此,可以看出嵌入式是一個系統,嵌入式系統需要嵌入到設備中,例如手機主板上的晶片嵌入到一個行動電話系統中,集成了計算機主板、CPU、硬碟、內存、網卡、顯卡、電源等所有功能。也就是說,嵌入式系統主要是以晶片的組織命名的,比較流行的解釋是,只要晶片嵌入到設備中,就可以稱為嵌入式系統。
  • 嵌入式系統測試題40道附詳細解析
    典型的實時系統有民航導航系統、防空預警系統、電力輸送控制系統等;典型的非實時系統有視頻播放系統、博客發布系統、手機交互式城市交通導航系統等。故四個選項中只有D項是實時系統,此題選D。 30.下列哪個不是RTOS的實時指標?(  )。
  • 一種嵌入式系統bootrom自動備份及切換技術
    嵌入式系統投入實際環境中運行後,一部分在軟體開發過程中無法充分測試的錯誤便會暴露出來;在嵌入式系統的運行期內,用戶也往往會對嵌入式軟體提出新的功能要求和性能要求。因此,嵌入式軟體的更新逐漸成為嵌入式系統實際應用的一個重要問題。在嵌入式系統安裝數量較多,或安裝位置不方便的情況下,採用人工更新方式會花費較大的人力和物力。
  • 巧借WinCE BSP移植 嵌入式系統開發有捷徑
    後來,我在時間和成本的多重壓力因素下反思時,發現我犯了一個致命的錯誤,就是為了更快的把產品推向市場,在開發過程應該是移植作業系統而不是重新定製作業系統。本文根據我在此項目上得到的經驗和總結,先分析BSP移植對WinCE的重要性和影響,然後在此基礎上通過對Bootloader、OAL和驅動程序的移植來具體探討BSP的移植過程。 什麼是WinCE作業系統移植?
  • 使用TI-AM1808構建嵌入式導航系統
    本文探討了利用AM1808構建嵌入式導航系統的過程。並且探討了嵌入式文件系統的組成。在硬體和軟體方面對嵌入式系統構建過程中遇到的問題提出了解決方法。但是考慮到嵌入式系統成本和體積的要求,簡潔有力的設計更應該在整個設計流程中被體現出來。因此,某些功能必須被禁用,以提高系統的簡潔性和穩定性,並且降低成本。  系統的需求分析  使用AM1808構建嵌入式的導航系統,TFT顯示屏是必不可少的組件之一。TFT液晶顯示屏通過顯示不同的海圖和標誌,來引導船隻的正常航行。