靜網PWA視頻評論

嵌入式作業系統的功能

2024年01月05日

- txt下載

嵌入式作業系統的功能
  根據英國電氣工程師協會的定義,嵌入式系統為控制、監視或輔助設備、機器或用於工廠運作的設備。小編下面為你整理了關於嵌入式作業系統的功能,希望對你有所幫助。
  嵌入式作業系統的功能
  嵌入式作業系統是相對於一般作業系統而方的,它除具備了一般作業系統(嵌入式linux系統)最基本的功能,如任務調度、同步機制、中斷處理、文件處理等外,嵌入式作業系統的功能還有以下兩個方面:
  1.構成一個易於編程的虛擬機平台
  嵌入式作業系統構成一個虛擬機平台,EOS把底層的硬體細節封裝起來,為運行在它上面的軟體(如中間件軟體和各種應用軟體)提供了一個抽象的編程接口。軟體開發在這個編程接口的上進行,而不直接與機器硬體層打交道。EOS所提供的編程接口實際上就是作業系統對外提供的系統調用函數。
  2.系統資源的管理者
  嵌入式作業系統是一個系統資源的管理者,負責管理系統當中的各種軟硬體資源,如處理器、內存、各種I/O設備、文件和數據等,使得整個系統能夠高效、可靠地運轉。
  運行在嵌入式環境中的EOS其目標是為了完成某一項或有限項功能,而非通用型的作業系統,因此在性能和實時性方面有嚴格的限制,能耗、成本和可靠性通常是影響設計的重要因素,要求占用資源少,適合在有限存儲空間運行,要求系統功能可以根據產品的設計要求進行剪裁、調整。
  所有的EOS都有一個內核(kernel),內核是系統當中的一個組件,它包含了任務管理、存儲管理、輸入/輸出(I/O)設備管理和文件系統管理四個功能模塊。其中:
  任務管理:對嵌入式系統中的運行軟體進行描述和管理,並完成處理機資源的分配與調度;
  存儲管理:用來提高內存的利用率,方便用戶的使用,並提供足夠的存儲空間;
  I/O設備管理:方便設備的使用,提高CPU和輸入/輸出設備的利用率;
  文件管理:解決文件資源的存儲、共享、保密和保護等問題。
  不同的嵌入式系統的EOS所包含的組件可能各不相同,內核設計也可能各不相同的,完全取決於系統的設計以及實際的應用需求。
  嵌入式作業系統的特點:
  ①可裝卸性。開放性、可伸縮性的體系結構。
  ②強實時性。EOS實時性一般較強,可用於各種設備控制當中。
  ③統一的接口。提供各種設備驅動接口。
  ④操作方便、簡單、提供友好的圖形GUI,圖形介面,追求易學易用。
  ⑤提供強大的網絡功能,支持TCP/地址協議及其它協議,提供TCP/UDP/地址/PPP協議支持及統一的MAC訪問層接口,為各種移動計算設備預留接口。
  ⑥強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的EOS具有較強的穩定性。嵌入式作業系統的用戶接口一般不提供操作命令,它通過系統的調用命令向用戶程序提供服務。
  ⑦固化代碼。在嵌入式系統中,嵌入式作業系統和應用軟體被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,嵌入式作業系統的文件管理功能應該能夠很容易地拆卸,而用各種內存文件系統。
  ⑧更好的硬體適應性,也就是良好的移植性。
  拓展:有哪些常見的嵌入式作業系統
  常見的嵌入式系統有這麼多:
  Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive、autosar......
  什麼是嵌入式作業系統?
  嵌入式作業系統是一種支持嵌入式系統應用的作業系統軟體,它是嵌入式系統的重要組成部分。嵌入時作業系統具有通用作業系統的基本特點,能夠有效管理複雜的系統資源,並且把硬體虛擬化。
  從應用角度可分為通用型嵌入式作業系統和專用型嵌入式作業系統。常見的通用型嵌入式作業系統有Linux、VxWorks、Windows CE.net等。常用的專用型嵌入式作業系統有Smart Phone、Pocket PC、Symbian等。
  按實時性可分為兩類:
  實時嵌入式作業系統主要面向控制、通信等領域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系統軟體公司的QNX、ATI的Nucleus,很多汽車電子行業都是利用實時性很強的作業系統等。
  非實時嵌入式作業系統主要面向消費類電子產品。這類產品包括PDA、行動電話、機頂盒、電子書、WebPhone等。如微軟面向手機應用的Smart Phone作業系統。
  嵌入式系統的設計和實現而言,基本上需要四種不同的工作:系統設計工作,硬體設計工作,驅動程序和作業系統移植工作和應用程式設計開發工作。
  1、系統設計工作
  在系統的設計階段,系統分析師將根據需求確定系統的硬體的基本構成,根據系統的需求選擇使用那種處理器,使用哪種作業系統,使用那些軟體開發工具。系統分析師往往是較為完整的參與過嵌入式系統設計的全過程,對於系統應用的行業較為了解,對於嵌入式系統本身的開發流程十分清楚的人。
  2、硬體設計工作
  系統硬體設計人員需要根據系統分析師的設計結果,進行硬體原理圖的設計。通常需要硬體設計人員熟悉嵌入式系統的硬體構成。硬體設計人員需要了解常用的嵌入式系統處理器,存儲器(Flash,SDRAM),乙太網MAC晶片,音頻/視頻編解碼晶片,電源管理晶片,總線接口電路 (USB,PCI),液晶顯示模塊,可編程邏輯器件(FPGA/CPLD),無線網絡通信模塊(Bluetooth,WLAN,GPRS)等硬體電路構成元素的基本工作原理,連接使用方法,使用注意事項,基本調試方法等內容。在網絡上能找到很多公司的評估板的原理圖,對於這些原理圖要仔細研究,摸清處理器同存儲器,網卡,液晶模塊等器件的連接方法和原因。通過對這些電路的研究,能夠較快地了解整個嵌入式系統的構成,這些電路同實際產品中的電路雖有一定差別的,特別是對於手持設備,但這些差別不影響初學者學習嵌入式系統的硬體設計基本構成。
  1)學習 Linux系統安裝、 常用命令、應用程式安裝。
  2) 學習 Linux 下的 C 編程、這本書必學《UNIX 環境高級編程》、《UNIX 網絡編程》,Rechard Stevens 寫的.,C 高手大都學習過 《C 和指針》、《C 缺陷與陷阱》、《高質量C/C++編程指南》、《C 專家編程》、《The C programming Language》
  3)程式設計師大都要學:數據結構,嵌入式程式設計師數據結構必學!
  4)底層開發人員大都要學:微機原理、計算機體系結構,嵌入式開發人員必學!
  5)單片機可以讓一個從事軟體開發的人了解和如何操作硬體,有必要學,因為一開始就從 ARM 入手,不太現實!
  6)ARM 體系結構,其中有彙編。
  7)數字電路有必要學習,不然你在做底層開發時真的會不知道怎麼看原理圖,起碼也得懂與或門吧。
  8)ARM + Linux 應用程式開發。(前提是要有開發板)
  9)要做底層開發,就必須知道軟硬體之間是如何銜接和配合工作的,那麼電子技術應該要好好學習了,很多時候會用到模擬電路知識,這是區別好手與菜鳥的不同之處之一。
  10)Linux 下的彙編要學,這樣你才能真正了解你寫的程序是如何在一個特定的硬體上跑的。這是區別好手與菜鳥的不同之處之二。
  11)TCP/地址 協議棧要學,所有的嵌入式高手都得掌握的東西,這是區別好手與菜鳥的不同之處之三。
  12)有了這些東西,拿下 Linux 驅動 已經不再話下,需要你去學習 Linux 內核原始碼和Linux驅動程序設計,這是一個技術升華。
  13)音頻、視頻的解碼解碼技術你得學。
  14)各種 IC ,各種 bootloader 你能夠參與其開發設計。
  15)自行設計開發新產品,新技術。
  學到這個地步差不多要花個3年的時間吧。但是後面的路該怎麼走呢?嵌入式系統性的東西搞了一個產品之後,基本上一些套路都摸清楚了。
  不同的行業,對於系統的要求是不一樣的,比如汽車行業,航空航天行業等一些高精度,高安全的需要對實時性要求非常之高,對於安全性和可靠性的要求非常嚴格。而有些行業比如消費類產品,娛樂類的,生活用具方面的對於用戶體驗是不一樣的,數碼產品對於一些圖像聲音的處理,要求更高,需要高清,高品質的。而對於一些通信設備類對於網絡的應答數據傳輸要求就非常嚴格,等等。這些根據不同的要求,選擇符合自己的作業系統,能對開發工作有更大的幫助。

收藏

相關推薦

清純唯美圖片大全

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.