官术网_书友最值得收藏!

1.3 嵌入式操作系統

1.3.1 嵌入式操作系統的概述

在計算機技術發展的初期由于計算機完成的功能專一,資源也比較有限,并沒有操作系統這個概念,就像我們今天編寫的簡單單片機程序一樣,幾個中斷加上個死循環就能解決問題。然而隨著計算機功能的增強,為了提高計算機資源的利用率,同時為用戶提供一個與計算機的接口,便出現了計算機監控程序(Monitor)用來監視計算機的軟件和硬件資源。隨著計算機技術的飛速發展,計算機的軟件和硬件資源越來越豐富,就對傳統的監控程序提出了更高的要求,因此在20世紀60年代中期監控程序發展成為了操作系統。

我們使用的Windows就是最流行的操作系統,操作系統是控制其他程序運行,管理系統資源并為用戶提供操作接口的系統軟件的集合。而嵌入式操作系統則是針對嵌入式應用的專用系統,如今最火的嵌入式操作系統莫過于Android了。

嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟件,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議等。嵌入式操作系統通常具備通用操作系統的基本特點,如能夠把硬件虛擬化,使得開發人員能夠不用關心底層硬件,從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數、標準設備驅動程序及工具集等。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬件的相關依賴性以及應用的專用性等方面具有較為突出的特點。

1.3.2 常見的嵌入式操作系統

1.μC/OS

μC/OS和μC/OS-II是一個源碼公開、可移植、可固化、可裁剪及占先式的實時多任務操作系統。需要說明的是μC/OS和μC/OS-II只是一個實時操作系統內核,這也就意味著它并不像其他實時操作那樣可以給用戶提供一些API函數接口,很多工作需要設計者自己去完成,但是μC/OS和μC/OS-II已經廣泛用于8位、16位和32位單片機或數字信號處理器。它的主要特點如下:

(1)公開源代碼:方便不同硬件平臺的移植。

(2)可移植性:絕大部分源代碼使用C語言編寫,方便不同平臺的移植。

(3)可固化。

(4)可裁剪性:可以根據具體的應用和硬件資源配置有選擇地使用需要的系統服務,以減少所需的硬件資源要求。

(5)占先式:完全是占先式的實時內核,系統總是運行就緒條件下優先級最高的任務。

(6)多任務:最多可以管理64個任務,任務的優先級必須不同,不支持時間片輪轉調度法。

(7)可確定性:函數調用與服務的執行時間具有可確定性,與任務多少無關。

和其他嵌入式操作系統相比,μC/OS和μC/OS-II是一個輕量級的實時系統,由于它可移植性好的特點,在各種級別的嵌入式處理器上都有所應用。

2.嵌入式Linux

Linux是一個類似于UNIX的操作系統。它起源于芬蘭一個名為Linus Torvalds的業余愛好者,但是現在已經是最流行的一款開放源代碼操作系統。Linux從1991年問世至今,短短十幾年時間內已發展成為一個功能強大、設計完善的操作系統,伴隨網絡技術進步而發展起來的Linux OS已成為微軟公司的Windows的強勁對手。Linux系統不僅運行于PC平臺,還在嵌入式系統方面廣泛應用。

因為是源代碼開放軟件,所以不存在黑箱技術,任何人都可以修改它,或者用它開發自己的產品。Linux系統是可以定制的,系統內核目前已經可以做得很小。一個帶有中文系統及圖形化界面的核心程序也可以做到不足1MB,而且同樣穩定。Linux作為一種可裁減的軟件平臺系統,是發展未來嵌入設備產品的絕佳資源,遍布全球的眾多Linux愛好者又能給予Linux開發者強大的技術支持。因此,Linux作為嵌入式系統新選擇,有很好的發展前景。

μClinux是從Linux2.0/2.4內核派生而來,因而沿襲了主流Linux的絕大部分特性。為了降低硬件成本及運行功耗,很多嵌入式CPU沒有設計內存管理單元(Memory Management Unit,MMU)功能模塊,因此這類CPU只能運行一些較為簡單的操作系統,或者沒有操作系統而直接運行應用程序。而μClinux是專門針對沒有MMU的CPU,并且為嵌入式系統做了很多優化。適用于沒有虛擬內存或內存管理單元的處理器,例如ARM7TDMI,它通常可以用于具有很少內存或Flash的嵌入式系統。μClinux為了支持沒有MMU的處理器而對標準Linux做了修正,它保留了操作系統的所有特性,為硬件平臺更好地運行各種程序提供了保證。運行μClinux的嵌入式系統能夠使用幾乎所有的Linux API函數,不會因為沒有MMU而受到影響。μClinux由于是在標準的Linux的基礎之上進行裁剪和優化,因而形成了一個高度優化、代碼緊湊的嵌入式Linux,雖然它經過裁剪,但是仍然保留了Linux的大多數優點:穩定、良好的移植性,優秀的網絡功能,對各種文件系統完備的支持,以及標準豐富的API等。

3.Windows CE、Windows Mobile、Windows Phone

Windows CE是微軟開發的一個開放的、可升級的32位嵌入式操作系統,是基于掌上電腦類的電子設備操作系統,它是精簡的Windows 95操作系統。Windows CE的圖形用戶界面相當出色。CE中的C代表袖珍(Compact)、消費(Consumer)、通信能力(Connectivity)和伴侶(Companion),E代表電子產品(Electronics)。與Windows 95/98/NT不同的是,Windows CE所有源代碼全部由微軟自行開發,但Windows CE是基于Win32 API重新開發的新型信息設備平臺。Windows CE具有模塊化、結構化和基于Win32應用程序接口以及處理器無關等特點。

Windows CE 1.0最早于1996年推出,是單色的Windows 95簡化版本。1997年秋季,Comdex大會上公布的Windows CE 2.0仍是基于Win95的操作系統,效率遠高于1.0版。Windows CE 3.0是微軟的Windows Compact Edition,已擺脫舊有的Windows 95簡化格式,是一套全新的操作系統,支持5種CPU:x86、PowerPC、ARM、MIPS、SH3/4,并且改名為Windows for Pocket PC,簡稱Pocket PC。2002年1月,微軟又推出Windows CE.Net,即Windows CE 4.0。2004年5月,微軟推出Windows CE 5.0,開放有250萬行源代碼。2006年11月,微軟推出Windows Embedded CE 6.0。

Windows CE的設計目標是:模塊化及可伸縮性、實時性能好、通信能力強大、支持多種CPU。它的設計可以滿足多種設備的需要,一個典型的基于Windows CE的嵌入系統通常為某個特定用途而設計,并在不聯機的情況下工作。它要求所使用的操作系統體積較小,內部兼有對中斷的響應功能。它的特點如下。

(1)具有靈活的電源管理功能,包括睡眠/喚醒模式。

(2)使用了對象存儲(Object Store)技術,包括文件系統、注冊表及數據庫。它具有很多高性能、高效率的操作系統特性,包括按需換頁、共享存儲、交叉處理同步、支持大容量堆(Heap)等。

(3)擁有良好的通信能力。廣泛支持各種通信硬件,也支持直接的局域連接以及撥號連接,并提供與PC、內部網以及互聯網的連接,還提供與Windows 9x/NT的最佳集成和通信。

(4)支持嵌套中斷,允許更高優先級別的中斷首先得到響應,而不是等待低級別的ISR完成。這使得該操作系統具有嵌入式操作系統所要求的實時性。

(5)更好的線程響應能力。對高級別IST(中斷服務線程)的響應時間上限的要求更加嚴格,在線程響應能力方面的改進,幫助開發人員掌握線程轉換的具體時間,并通過增強的監控能力和對硬件的控制能力,幫助他們創建新的嵌入式應用程序。

(6)256個優先級別,可以使開發人員在控制嵌入式系統的時序安排方面有更大的靈活性。

(7)Windows CE的API是Win32API的一個子集,支持近1500個Win32 API。有了這些API,足可以編寫任何復雜的應用程序。當然,在Windows CE系統中,所提供的API也可以隨具體應用的需求而定。

Windows CE在生活中有著廣泛的應用,包括當前市場上絕大多數的GPS導航儀,以及一些車用計算機、電視機頂盒、生產在線的控制設備、公共場所的信息站(Kiosk)、電子辭典等,有些設備甚至沒有任何人機界面。名噪一時的國產手機魅族M8使用的也是Windows CE系統。

Windows Mobile(WM)是在Windows CE的基礎上,強化其手機通信功能,從而獨立發展起來的系統。Windows Mobile又分為兩種:支持觸摸屏的PPC和支持鍵盤的SmartPhone。Windows Mobile是微軟針對移動設備而開發的操作系統。該操作系統的設計初衷是盡量接近于桌面版本的Windows,微軟按照計算機操作系統的模式來設計WM,以便能使得WM與計算機操作系統一模一樣,這也是Windows Mobile在移動領域敗給iOS和Android的主要原因。WM的應用軟件以Microsoft Win32 API為基礎。新繼任者Windows Phone操作系統出現后,Windows Mobile系列正式退出手機系統市場。2010年10月,微軟宣布終止對WM的所有技術支持。

Windows Phone 7/7.5/7.8使用的仍然是Windows CE內核,而2012年6月21日發布的Windows Phone 8則采用和Windows 8相同的針對移動平臺精簡優化NT內核,這標志著移動版Windows Phone將提前與Windows系統同步,部分Windows 8(同樣使用ARM架構的RT版)應用可以更方便地移植到手機上。同時,這也標志著微軟在移動互聯網領域的多終端融合新模式。

Windows Phone 8系統也是第一個支持雙核CPU的版本,宣布Windows Phone進入雙核時代,同時宣告著Windows Phone 7退出歷史舞臺。Windows Phone 8兼容所有Windows Phone 7.5的應用程序,但Windows Phone 8的所有原生程序無法在Windows Phone 7.5上運行,屬于單向兼容。

雖然微軟終止對Windows Mobile的技術支持,同時最新的Windows Phone 8也已經拋棄了Windows CE的內核,但是由于其特點突出,Windows CE在工業領域中仍然占有非常重要的地位。

4.VxWorks

VxWorks操作系統是美國WindRiver公司于1983年設計開發的一種實時操作系統。VxWorks擁有良好的持續發展能力、高性能的內核以及良好的用戶開發環境,在實時操作系統領域內占據一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通信、軍事演習、導彈制導、飛機導航等。

在美國的F-16、FA-18戰斗機、B-2隱形轟炸機和愛國者導彈上,甚至1997年4月在火星表面登陸的火星探測器上也使用了VxWorks。VxWorks是目前嵌入式系統領域中使用最廣泛、市場占有率最高的系統。VxWorks支持多種處理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS RX000、PowerPC、ARM、StrongARM等。大多數VxWorks API是專有的。

主站蜘蛛池模板: 丹寨县| 文昌市| 堆龙德庆县| 郓城县| 孟州市| 南宁市| 奈曼旗| 蒙自县| 三原县| 江孜县| 农安县| 泰州市| 博客| 龙口市| 得荣县| 新干县| 武乡县| 德保县| 丹寨县| 贵港市| 西畴县| 广西| 揭东县| 峨边| 黑水县| 泸西县| 富蕴县| 定安县| 赫章县| 怀安县| 商洛市| 虹口区| 蓬安县| 崇义县| 积石山| 福建省| 安庆市| 白河县| 杭锦后旗| 永昌县| 长治市|