㈠ 嵌入式操作系統和一般的操作系統有什麼區別
嵌入式系統應具有的特點是:高可靠性;在惡劣的環境或突然斷電的情況下,系統仍然能夠正常工作;許多嵌入式應用要求實時性,這就要求嵌入式操作系統具有實時處理能力;嵌入式系統和具體應用有機地結合在一起,它的升級換代也是具體產品同步進行;嵌入式系統中的軟體代碼要求高質量、高可靠性,一般都固化在只讀存儲器中或快閃記憶體中,也就是說軟體要求固態化存儲,而不是存儲在磁碟等載體中。
1、嵌入式系統與嵌入式操作系統
1.1 嵌入式系統
嵌入式系統是以嵌入式計算機為技術核心,面向用戶、面向產品、面向應用,軟硬體可裁減的,適用於對功能、可靠性、成本、體積、功耗等綜合性能有嚴格要求的專用計算機系統。
嵌入式系統應具有的特點是:高可靠性;在惡劣的環境或突然斷電的情況下,系統仍然能夠正常工作;許多嵌入式應用要求實時性,這就要求嵌入式操作系統具有實時處理能力;嵌入式系統和具體應用有機地結合在一起,它的升級換代也是具體產品同步進行;嵌入式系統中的軟體代碼要求高質量、高可靠性,一般都固化在只讀存儲器中或快閃記憶體中,也就是說軟體要求固態化存儲,而不是存儲在磁碟等載體中。
1.2 嵌入式操作系統
嵌入式操作系統EOS(Embedded Operating System)是一種用途廣泛的系統軟體,過去它主要應用於工業控制和國防系統領域。EOS負責嵌入系統的全部軟、硬體資源的分配、調度作,控制、協調並發活動;它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產品系列。隨著 Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌入式操作系統在系統實時高效性、硬體的相關依賴性、軟體固化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作系統而方的,它除具備了一般操作系統最基本的功能,如任務調度、同步機制、中斷處理、文件處理等外,還有以下特點:
①可裝卸性。開放性、可伸縮性的體系結構。
②強實時性。EOS實時性一般較強,可用於各種設備控制當中。
③統一的介面。提供各種設備驅動介面。
④操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學易用。
⑤提供強大的網路功能,支持TCP/IP協議及其它協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層介面,為各種移動計算設備預留介面。
⑥強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的EOS具有較強的穩定性。嵌入式操作系統的用戶介面一般不提供操作命令,它通過系統的調用命令向用戶程序提供服務。
⑦固化代碼。在嵌入式系統中,嵌入式操作系統和應用軟體被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,嵌入式操作系統的文件管理功能應該能夠很容易地拆卸,而用各種內存文件系統。
⑧更好的硬體適應性,也就是良好的移植性。
國際上用於信息電器的嵌入式操作系統有40種左右。現在,市場上非常流行的EOS產品,包括3Com公司下屬子公司的Palm OS,全球佔有份額達50%,Microsoft公司的Windows CE不過29%。在美國市場,Palm OS更以80%的佔有率遠超Windows CE。開源的Linux很適於做信息家電的開發。比如:中科紅旗軟體技術有限公司開發的紅旗嵌入式Linux和美商網虎公司開發的基於Xlinux 的嵌入式操作系統「誇克」。「誇克」是目前全世界最小的Linux,它有兩具很突出的特點,就是體積小和使用GCS編碼。
2、三種常用的嵌入式操作系統
2.1 Palm OS
Palm是3Com公司的產品,其操作系統為Palm OS。Palm OS是一種32位的嵌入式操作系統。Palm提供了串列通信介面和紅外線傳輸介面,利用它可以方便地與其它外部設備通信、傳輸數據;擁有開放的OS應用程序介面,開發商可根據需要自行開發所需的應用程序。Palm OS是一套具有術強開放性的系統,現在有大約數千種專用為Palm OS編寫的應用程序,從程序內容上看,小到個人管理、游戲,大到行業解決方案,Palm OS無所不包。在豐富的軟體支持下,基於Palm OS的掌上電腦功能得以不斷擴展。
Palm OS是一套專門為掌上電腦開發的OS。在編寫程序時,Palm OS充分考慮了掌上電腦內存相對較小的情況,因此它只佔有非常小的內存。由於基於Palm OS編寫的應用程序佔用的空間也非常小(通常只有幾十KB),所以,基於Palm OS的掌上電腦(雖然只有幾MB的RAM)可以運行眾多應用程序。
由於Palm產品的最大特點是使用簡便、機體輕巧,因此決定了Palm OS應具有以下特點。
①操作系統的節能功能。由上掌上電腦要求使用電源盡可能小,因此在Palm OS的應用程序中,如果沒有事件運行,則系統設備進入半休眠(doze)的狀態;如果應用程序停止活動一段時間,則系統自動進入休眠(sleep)狀態。
②合理的內存管理。Palm的存儲器全部是可讀寫的快速RAM,動態RAM(Dynamic RAM)類似於PC機上的RAM,它為全局變數和其它不需永久保存的數據提供臨時的存儲空間;存儲RAM(Storage RAM)類似於PC機上的硬碟,可以永久保存應用程序和數據。
③Palm OS的數據是以資料庫(database)的格式來存儲的。資料庫是由一組記錄(records)和一些資料庫頭信息組成的。為保證程序處理速度和存儲器空間,在處理數據的時候,Palm OS不是把數據從存儲堆(Storage Heap)拷貝到動態堆(Dynamic Heap)後再進行處理,而是在存儲堆中直接處理。為避免錯誤地調用存儲器地址,Palm OS規定,這一切都必須調用其內存管理器里的API來實現。
Palm OS與同步軟體(HotSync)結合可以使掌上電腦與PC機上的信息實現同步,把台式同的功能擴展到了掌上電腦。Palm應用范圍相當廣泛,如:聯絡及工作表管理、電子郵件及互聯網通信、銷售人員及組別自動化等等。Palm外圍硬體也十分豐富,有數碼相機、GPS接收器、數據機、GSM無線電話、數碼音頻播放設備、便攜鍵盤、語音記錄器、條碼掃描、無線尋呼接收器、探測儀。其中Palm與GPS結合的應用,不但可以作導航定位,還可以結合GPS作氣候的監測、地名調查等。
2.2 Windows CE
Windows CE是微軟開發的一個開放的、可升級的32位嵌入式操作系統,是基於掌上型電腦類的電子設備操作。它是精簡的Windows 95。Windows CE的圖形用戶界面相當出色。其中CE中的C代表袖珍(Compact)、消費(Consumer)、通信能力(Connectivity)和伴侶(Companion);E代表電子產品(Electronics)。與Windows 95/98、Windows NT不同的是,Windows CE是所有源代碼全部由微軟自行開發的嵌入式新型操作系統,其操作界面雖來源於Windows 95/98,但Windows CE是基於Win32 API重新開發的、新型的信息設備平台。Windows CE具有模塊化、結構化和基於Win32應用程序介面以及與處理器無關等特點。Windows CE不僅繼承了傳統的Windows圖形界面,並且在Windows CE平台上可以使用Windows 95/98上的編程工具(如Visual Basic、Visual C++等)、使用同樣的函數、使用同樣的界面網格,使絕大多數的應用軟體只需簡單的修改和移植就可以在Windows CE平台上繼續使用。
Windows CE的設計目標是:模塊化及可伸縮性、實時性能好,通信能力強大,支持多種CPU。它的設計可以滿足多種設備的需要,這些設備包括了工業控制器、通信集線器以及銷售終端之類的企業設備,還有像照相機、電話和家用娛樂器材之類的消費產品。一個典型的基於Windows CE的嵌入系統通常為某個特定用途而設計,並在不聯機的情況下工作。它要求所使用的操作系統體積較小,內建有對中斷的響應功能。
Windows CE的特點有:
①具有靈活的電源管理功能,包括瞬眠/喚醒模式。
②使用了對象存儲(object store)技術,包括文件系統、注冊表及資料庫。它還具有很多高性能、高效率的操作系統特 性,包括按需換頁、共享存儲、交叉處理同步、支持大容量堆(heap)等。
③擁有良好的通信能力。廣泛支持各種通信硬體,亦支持直接的局域連接以及撥號連接,並提供與PC、內部網以及Internet的連接,還提供與Windows 9x/NT的最佳集成和通信。
④支持嵌套中斷。允許更高優先順序別的中斷首先得到響應,而不是等待低級別的ISR完成。這使得該操作系統具有嵌入式操作系統所要求的實時性。
⑤更好的線程響應能力。對高級別IST(中斷服務線程)的響應時間上限的要求更加嚴格,在線程響應能力方面的改進,幫助開發人員掌握線程轉換的具體時間,並通過增強的監控能力和對硬體的控制能力幫助他們創建新的嵌入式應用程序。
⑥256個優先順序別。可以使開發人員在控制嵌入式系統的時序安排方面有更大的靈活性。
⑦Windows CE的API是Win32 API的一個子集,支持近1500個Win32 API。有了這些API,足可以編寫任何復雜的應用程序。當然,在Windows CE系統中,所提供的API也可以隨具體應用的需求而定。
在掌上型電腦中,Windows CE包含如下一些重要組件:Pocket Outlook及其組件、語音錄音機、移動頻道、遠程撥號訪問、世界時鍾、計算器、多種輸入法、GBK字元集、中文TTF字型檔、英漢雙向詞典、袖珍瀏覽器、電子郵件、Pocket Office、系統設置、Windows CE Services軟體。
2.3 Linux
Linux是一個類似於Unix的操作系統。它起源於芬蘭一個名為Linus Torvalds的業余愛好,但是現在已經是最為流行的一款開放源代碼的操作系統。Linux從1991年問世到現在,短短10年的時間內已發展成為一個功能強大、設計完善的操作系統,伴隨網路技術進步而發展起來的Linux OS已成為Microsoft公司的DOS和Windows 95/98的強勁對手。Linux系統不僅能夠運行於PC平台,還在嵌入式系統方面大放光芒,在各種嵌入式Linux OS迅速發展的狀況下,Linux OS逐漸形成了可與Windows CE等EOS進行抗衡的局面。目前正在開發的嵌入式系統中,49%的項目選擇Linux作為嵌入式操作系統。Linux現已成為嵌入式操作的理想選擇。
中科紅旗軟體技術有限公司開發的紅旗嵌入式Linux正在成為許多嵌入式設備廠商的首選。在不到一年的時間內,紅旗公司先後推出了PDA、機頂盒、瘦客戶機、交換機用的嵌入式Linux系統,並且投入了實際應用。現以紅旗嵌入式Linux為例來講解嵌入式Linux OS的特點:
①精簡的內核,性能高、穩定,多任務。
②適用於不同的CPU,支持多種體系結構,如X86、ARM、MIPS、ALPHA、SPARC等。
③能夠提供完善的嵌入式GUI以及嵌入式X-Windows。
④提供嵌入式瀏覽器、郵件程序、MP3播放器、MPEG播放器、記事本等應用程序。
⑤提供完整的開發工具和SDK,同時提供PC上的開發版本。
⑥用戶可定製,可提供圖形化的定製和配置工具。
⑦常用嵌入式晶元的驅動集,支持大量的周邊硬體設備,驅動豐富。
⑧針對嵌入式的存儲方案,提供實時版本和完善的嵌入式解決方案。
⑨完善的中文支持,強大的技術支持,完整的文檔。
⑩開放源碼,豐富的軟體資源,廣泛的軟體開發者的支持,價格低廉,結構靈活,適用面廣。
3、三種嵌入式操作系統的比較
3.1 Linux OS與Windows Ce的比較
嵌入式Linux OS與Windows CE相比的優點:第一,Linux是開放源代碼的,不在存黑箱技術,遍布全球的眾多Linux愛好者都是Linux開發者的強大技術支持者;而 Windows CE是非開放性OS,使第三方很難實現產品定製。第二,Linux的源代碼隨處可得,注釋豐富,文檔齊全,易於解決各種問題。第三,Linux的內核小、效率高;而Windows CE在這方面是笨拙的,佔用過多的RAM,應用程序龐大。第四,Linux是開放源代碼的OS,在價格上極具競爭力,適合中國國情。Windows CE的版權費用是廠家不得不考慮的因素。第五,Linux不僅支持x86晶元,還是一個跨平台的系統。到目前為止,它可以支持20~30種CPU,很多 CPU(包括家電業的晶元)廠商都開始做Linux的平台移植工作,而且移植的速度遠遠超過Java的開發環境。如果今天採用Linux環境開發產品,那麼將來更換CPU時就不會遇到更換平台的困擾。第六,Linux內核的結構在網路方面是非常完整的,它提供了對包括十兆位、百兆位及千兆位的乙太網絡,還有無線網路、Token ring(令牌環)和光纖甚至衛星的支持。第七,Linux在內核結構的設計中考慮適應系統的可裁減性的要求,Windows CE在內核結構的設計中並未考慮適應系統的高度可裁減性的要求。
嵌入式Linux OS與Windows CE相比的弱點:第一,是開發難度較高,需要很高的技術實力;第二,是核心調試工具不全,調試不太方便,尚沒有很好的用戶圖形界面;第三,與某些商業OS 一樣,嵌入式Linux佔用較大的內存,當然,人們可以去掉部分無用的功能來減小使用的內存,但是如果不仔細,將引起新的問題;第四,有些Linux的應用程序需要虛擬內存,而嵌入式系統中並沒有或不需要虛擬內存,所以並非所有的Linux應用程序都可以在嵌入式系統中運行。
3.2 Palm OS與Windows CE的比較
3Com公司的Palm OS是掌上電腦市場中較為優秀的嵌入式操作系統,是針對這一市場專門設計的系統。它有開放的操作系統應用程序介面(API),支持開發商根據需要自行開發所需的應用程序,具有十分豐富的應用程序。在掌上電腦市場上獨占其霸主地位已久。
從技術層面上講,Palm OS是一套專門為掌上電腦開發的操作系統,具有許多Windows CE無法比擬的優勢;Windows CE過於臃腫,不適合應用在廉價的掌上電腦中。
Palm OS是一套具有極強開放性的系統。開發者向用戶免費提供Palm OS的開發工具,允許用戶利用該工具在Palm OS基礎上方便地編寫、修改相關軟體。與之相比,Windows CE的開發工具就顯得復雜多了,這使得一般用戶很難掌握。這也Palm OS與Windows CE的另一個主要區別。
我們從常用EOS的大小、可開發定製、互操作性、通用性、實時性及應用領域幾個方面,通過表1來歸納如下:
結語
Palm OS、Windows CE、Linux這三種嵌入式操作系統各有不同的特點,不同的用途;但Linux比Palm OS和Windows CE更小、更穩定,而且Linux是開放的OS,在價格上極具競爭力。如今整個市場尚未成型,嵌入式操作系統也未形成統一的國際標准,而且Linux的一系列特徵又為我們開發國產的嵌入式操作系統提供了方便,因此,我們有機會在這個未成熟的市場上佔有一席之地。
㈡ 關於計算機嵌入式操作系統的特點
嵌入式系統是以應用為中心,軟硬體可裁減的,適用於對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統。具有軟體代碼小、高度自動化、響應速度快等特點,特別適合於要求實時和多任務的體系。嵌入式系統主要由嵌入式處理器、相關支撐硬體、嵌入式操作系統及應用軟體系統等組成,它是可獨立工作的「器件」。
一、嵌入式操作系統的發展
作為嵌入式系統(包括硬、軟體系統)極為重要的組成部分的嵌入式操作系統,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動介面、通信協議、圖形界面、標准化瀏覽器等。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理越來越復雜的系統資源;能夠把硬體虛擬化,使得開發人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數、驅動程序、工具集以及應用程序。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬體的相關依賴性、軟體固態化以及應用的專用性等方面具有較為突出的特點。
嵌入式操作系統伴隨著嵌入式系統的發展經歷了四個比較明顯的階段:
第一階段:無操作系統的嵌入演算法階段,以單晶元為核心的可編程式控制制器形式的系統,具有與監測、伺服、指示設備相配合的功能。應用於一些專業性極強的工業控制系統中,通過匯編語言編程對系統進行直接控制,運行結束後清除內存。系統結構和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶介面。
第二階段:以嵌人式CPU為基礎、簡單操作系統為核心的嵌入式系統。CPU種類繁多,通用性比較差;系統開銷小,效率高;一般配備系統模擬器,操作系統具有一定的兼容性和擴展性;應用軟體較專業,用戶界面不夠友好;系統主要用來控制系統負載以及監控應用程序運行。
第三階段:通用的嵌人式實時操作系統階段,以嵌入式操作系統為核心的嵌入式系統。能運行於各種類型的微處理器上,兼容性好;內核精小、效率高,具有高度的模塊化和擴展性;具備文件和目錄管理、設備支持、多任務、網路支持、圖形窗口以及用戶界面等功能;具有大量的應用程序介面(APl);嵌入式應用軟體豐富。
第四階段:以基於Intemet為標志的嵌入式系統。這是一個正在迅速發展的階段。目前大多數嵌入式系統還孤立於lnlemet之外,但隨著Intemet的發展以及Intemet技術與信息家電、工業控制技術等結合日益密切,嵌入式設備與Intemet的結合將代表著嵌入式技術的真正未來。
二、使用實時操作系統的必要性
嵌入式實時操作系統在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統龐大的應用中顯得愈來愈重要。
1.嵌人式實時操作系統提高了系統的可靠性。在控制系統中,出於安全方面的考慮,要求系統起碼不能崩潰,而且還要有自愈能力。不僅要求在硬體設計方面提高系統的可靠性和抗干擾性,而且也應在軟體設計方面提高系統的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前後台系統軟體設計在遇到強干擾時,使得運行的程序產生異常、出錯、跑飛,甚至死循環,造成了系統的崩潰。而實時操作系統管理的系統,這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統運行的系統監控進程對其進行修復。通常情況下,這個系統監視進程用來監視各進程運行狀況,遇到異常情況時採取一些利於系統穩定可靠的措施,如把有問題的任務清除掉。
2.提高了開發效率,縮短了開發周期。在嵌入式實時操作系統環境下,開發一個復雜的應用程序,通常可以按照軟體工程中的解耦原則將整個程序分解為多個任務模塊。每個任務模塊的調試、修改幾乎不影響其他模塊。商業軟體一般都提供了良好的多任務調試環境。
3.嵌入式實時操作系統充分發揮了32位CPU的多任務潛力。32位CPU比8、16位CPU快,另外它本來是為運行多用戶、多任務操作系統而設計的,特別適於運行多任務實時系統。32位CPU採用利於提高系統可靠性和穩定性的設計,使其更容易做到不崩潰。例如,CPU運行狀態分為系統態和用戶態。將系統堆棧和用戶堆棧分開,以及實時地給出CPU的運行狀態等,允許用戶在系統設計中從硬體和軟體兩方面對實時內核的運行實施保護。如果還是採用以前的前後台方式,則無法發揮32位CPU的優勢。從某種意義上說,沒有操作系統的計算機(裸機)是沒有用的。在嵌入式應用中,只有把CPU嵌入到系統中,同時又把操作系統嵌入進去,才是真正的計算機嵌入式應用。
三、嵌入式操作系統選型
當我們在設計信息電器、數字醫療設備等嵌入式產品時,嵌入式操作系統的選擇至關重要。一般而言,在選擇嵌入式操作系統時,可以遵循以下原則。總的來說,就是「做加法還是做減法」的問題。
(一)市場進入時間
制定產品時間表與選擇操作系統有關系,實際產品和一般演示是不同的。目前是Windows程序員可能是人力資源最豐富的。現成資源最多的也就可能是WinCE。使用WinCE能夠很快進入市場。因為WinCE+X86做產品實際上是在做減法,去掉你不要的功能,能很快出產品,但伴隨的可能是成本高,核心競爭力差。而某些高效的操作系統可能由於編程人員缺乏,或由於這方面的技術積累不夠,影響開發進度。
(二)可移植性
操作系統相關性。當進行嵌入式軟體開發時,可移植性是要重點考慮的問題。良好的軟體移植性應該比較好,可以在不同平台、不同系統上運行,跟操作系統無關。軟體的通用性和軟體的性能通常是矛盾的。即通用以損失某些特定情況下的優化性能為代價。很難設想開發一個嵌入式瀏覽器而僅能在某一特定環境下應用。反過來說,當產品與平台和操作系統緊密結合時,往往你的產品的特色就蘊含其中。
(三)可利用資源
產品開發不同於學術課題研究,它是以快速、低成本、高質量的推出適合用戶需求的產品為目的的。集中精力研發出產品的特色,其他功能盡量由操作系統附加或採用第三方產品,因此操作系統的可利用資源對於選型是一個重要參考條件。Linux和WinCE都有大量的資源可以利用,這是他們被看好的重要原因。其他有些實時操作系統由於比較封閉,開發時可以利用的資源比較少,因此多數功能需要自己獨立開發。從而影響開發進度。近來的市場需求顯示,越來越多的嵌入式系統,均要求提供全功能的Web瀏覽器。而這要求有一個高性能、高可靠的GUI的支持。
(四)系統定製能力
信息產品不同於傳統PC的Wintel結構的單純性,用戶的需求是千差萬別的,硬體平台也都不一樣,所以對系統的定製能力提出了要求。要分析產品是否對系統底層有改動的需求,這種改動是否伴隨著產品特色?Linux由於其源代碼開放的天生魅力,在定製能力方面具有優勢。隨著WinCE3.0原碼的開放,以及微軟在嵌入式領域力度的加強,其定製能力會有所提升。
(五)成本
成本是所有產品不得不考慮的問題。操作系統的選擇會對成本有什麼影響呢?Linux免費,WinCE等商業系統需要支付許可證使用費,但這都不是問題的答案。成本是需要綜合權衡以後進行考慮的——選擇某一系統可能會對其他一系列的因素產生影響,如對硬體設備的選型、人員投入、以及公司管理和與其他合作夥伴的共同開發之間的溝通等許多方面的影響。
(六)中文內核支持
國內產品需要對中文的支持。由於操作系統多數是採用西文方式,是否支持雙位元組編碼方式,是否遵循GBK,GBl8030等各種國家標准,是否支持中文輸入與處理,是否提供第三方中文輸入介面是針對國內用戶的嵌入式產品的必需考慮的重要因素。
上面提到用WinCE+x86出產品是減法,這實際上就是所謂PC家電化;另外一種做法是加法,利用家電行業的硬體解決方案(絕大部分是非x86的)加以改進,加上嵌入式操作系統,再加上應用軟體。這是所謂家電PC化的做法,這種加法的優勢是成本低,特色突出,缺點是產品研發周期長,難度大(需要深入了解硬體和操作系統)。如果選擇這種做法,Linux是一個好選擇,它讓你能夠深入到系統底層,如果你願意並且有能力。
四、幾種代表性嵌入式操作系統比較
(一)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的基礎上做了重大改進與升級,並有了近十年的使用實踐,有許多成功應用該實時內核的實例。它的主要特點如下:
1.公開源代碼,容易就能把操作系統移植到各個不同的硬體平台上。
2.可移植性,絕大部分源代碼是用C語言寫的,便於移植到其他微處理器上。
3.可固化。
4.可裁剪性,有選擇的使用需要的系統服務,以減少斗所需的存儲空間。
5.佔先式,完全是佔先式的實時內核,即總是運行就緒條件下優先順序最高的任務。
6.多任務,可管理64個任務,任務的優先順序必須是不同的,不支持時間片輪轉調度法。
7.可確定性,函數調用與服務的執行時間具有其可確定性,不依賴於任務的多少。
8.實用性和可靠性,成功應用該實時內核的實例,是其實用性和可靠性的最好證據。
由於µC/OS一Ⅱ僅是一個實時內核,這就意味著它不像其他實時存在系統那樣提供給用戶的只是一些API函數介面,還有很多工作需要用戶自己去完成。
五、結束語
在嵌入式應用中,使用實時操作系統(RTOS)是當前嵌入式應用的一個特點,一種趨勢,也是單片機應用從低水平向高水平的一個進步。在實際的應用中,根據不同的要求和條件選擇合適的操作系統,使開發工作更容易,設計出更完美的嵌入式系統。
㈢ 嵌入式系統和Windows系統區別
嵌入式系統和Windows系統的區別如下:
1、含義的不同:
嵌入式系統是一種「完全嵌入受控器件內部,為特定應用而設計的專用計算機系統」,根據英國電氣工程師協會的定義,嵌入式系統為控制、監視或輔助設備、機器或用於工廠運作的設備。
而Windows系統屬於通用計算機系統,通用計算機通用計算機系統是相對於嵌入式通用計算機系統來說的,其技術要求是高速、海量的數值計算。
2、包含的范圍不同:
Windows系統僅僅包含Windows操作系統本身,只是一個操作系統。而嵌入式系統包含底層嵌入式硬體、 嵌入式操作系統(如Threadx,Linux,VxWorks等小型內核的輕量系統)和嵌入式應用程序三部分。
3、執行的功能不同:
Windows系統作為通用計算機系統,其特點是能進行精確、快速的計算和判斷,而且通用計算機性好,使用容易,還能聯成網路。
嵌入式系統通常執行的是帶有特定要求的預先定義的任務。由於嵌入式系統只針對一項特殊的任務,設計人員能夠對它進行優化,減小尺寸降低成本。嵌入式系統通常進行大量生產,所以單個的成本節約,能夠隨著產量進行成百上千的放大。
參考資料來源:網路-嵌入式系統
參考資料來源:網路-Windows操作系統
㈣ 嵌入式系統有什麼特點
嵌入式系統是面向用戶、面向產品、面向應用的,它必須與具體應用相結合才會具有生命力、才更具有優勢。因此可以這樣理解上述三個面向的含義,即嵌入式系統是與應用緊密結合的,它具有很強的專用性,必須結合實際系統需求進行合理的裁減利用。
◆嵌入式系統是將先進的計算機技術、半導體技術和電子技術和各個行業的具體應用相結合後的產物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。所以,介入嵌入式系統行業,必須有一個正確的定位。例如Palm之所以在PDA領域佔有70%以上的市場,就是因為其立足於個人電子消費品,著重發展圖形界面和多任務管理;而風河的Vxworks之所以在火星車上得以應用,則是因為其高實時性和高可靠性。
◆嵌入式系統必須根據應用需求對軟硬體進行裁剪,滿足應用系統的功能、可靠性、成本、體積等要求。所以,如果能建立相對通用的軟硬體基礎,然後在其上開發出適應各種需要的系統,是一個比較好的發展模式。目前的嵌入式系統的核心往往是一個只有幾K到幾十K微內核,需要根據實際的使用進行功能擴展或者裁減,但是由於微內核的存在,使得這種擴展能夠非常順利的進行。
實際上,嵌入式系統本身是一個外延極廣的名詞,凡是與產品結合在一起的具有嵌入式特點的控制系統都可以叫嵌入式系統,而且有時很難以給它下一個准確的定義。現在人們講嵌入式系統時,某種程度上指近些年比較熱的具有操作系統的嵌入式系統,本文在進行分析和展望時,也沿用這一觀點。
一般而言,嵌入式系統的構架可以分成四個部分:處理器、存儲器、輸入輸出(I/O)和軟體(由於多數嵌入式設備的應用軟體和操作系統都是緊密結合的,在這里我們對其不加區分,這也是嵌入式系統和一般的PC操作系統的最大區別)。
這些年來掀起了嵌入式系統應用熱潮的原因主要有幾個方面:一是晶元技術的發展,使得單個晶元具有更強的處理能力,而且使集成多種介面已經成為可能,眾多晶元生產廠商已經將注意力集中在這方面。另一方面的原因就是應用的需要,由於對產品可靠性、成本、更新換代要求的提高,使得嵌入式系統逐漸從純硬體實現和使用通用計算機實現的應用中脫穎而出,成為近年來令人關注的焦點。
從上面的定義,我們可以看出嵌入式系統的幾個重要特徵:
1.系統內核小。由於嵌入式系統一般是應用於小型電子裝置的,系統資源相對有限,所以內核較之傳統的操作系統要小得多。比如Enea公司的OSE分布式系統,內核只有5K,而Windows的內核?簡直沒有可比性。
2.專用性強。嵌入式系統的個性化很強,其中的軟體系統和硬體的結合非常緊密,一般要針對硬體進行系統的移植,即使在同一品牌、同一系列的產品中也需要根據系統硬體的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統進行較大更改,程序的編譯下載要和系統相結合,這種修改和通用軟體的「升級」是完全兩個概念。
3.系統精簡。嵌入式系統一般沒有系統軟體和應用軟體的明顯區分,不要求其功能設計及實現上過於復雜,這樣一方面利於控制系統成本,同時也利於實現系統安全。
4.高實時性的系統軟體(OS)是嵌入式軟體的基本要求。而且軟體要求固態存儲,以提高速度;軟體代碼要求高質量和高可靠性。
5.嵌入式軟體開發要想走向標准化,就必須使用多任務的操作系統。嵌入式系統的應用程序可以沒有操作系統直接在晶元上運行;但是為了合理地調度多任務、利用系統資源、系統函數以及和專家庫函數介面,用戶必須自行選配RTOS(Real-Time Operating System)開發平台,這樣才能保證程序執行的實時性、可靠性,並減少開發時間,保障軟體質量。
6.嵌入式系統開發需要開發工具和環境。由於其本身不具備自舉開發能力,即使設計完成以後用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發,這些工具和環境一般是基於通用計算機上的軟硬體設備以及各種邏輯分析儀、混合信號示波器等。開發時往往有主機和目標機的概念,主機用於程序的開發,目標機作為最後的執行機,開發時需要交替結合進行。
7.嵌入式系統與具體應用有機結合在一起,升級換代也是同步進行。因此,嵌入式系統產品一旦進入市場,具有較長的生命周期。
8.為了提高運行速度和系統可靠性,嵌入式系統中的軟體一般都固化在存儲器晶元中。
㈤ 安卓操作系統和嵌入式操作系統哪個更有前途
1、這兩個模式的對比一下,可能還是安卓系統更有前途。這是本人的觀點:
2、那麼什麼是嵌入式系統:以應用為中心,以計算機技術為基礎,軟硬體可裁剪,對功能/可靠性/成本/體積/功耗有嚴格要求的專用計算機系統。比如嵌入式CISC:這里特指嵌入式X86,常常用於對性能要求較高的場景中。嵌入式RISC:最常見的就是各種ARM板了。
而在ARM上運行的系統,最常見的有Linux/WinCE/Android以及QNX/Vxworks等RTOS。
標準的Linux一開始我覺得是不被看作嵌入式系統的,它的實時性不夠,比如一個時間中斷響應時間需要毫秒級,並且訪問內存和外設時間可長可短,不固定。這在某些領域是致命的。
3、在這里可以簡單介紹一下安卓:Android(安卓)是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。剛開始的時候整個系統還僅僅限於手機使用的操作系統,後來Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。
4、現在手機普遍使用的安卓系統本身是基於Linux系統基礎上開發出來的,而安卓本身的系統模式也是嵌入式模式,所以很難區別開來,當然是後浪推前浪,一浪比更一浪強了。安卓系統還是很有前途的。