版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、嵌入式實(shí)時操作系統(tǒng)uC/OS-II課程安排第一章 4課時第二章 3課時第三章 5課時第四章 3課時第五章 2課時第六章 4課時第七章 4課時第九章 2課時第十章 4課時1.5 初識C/OS-操作系統(tǒng)1992年美國人Jean Labrosse編寫適合于小巧控制器的嵌入式實(shí)時操作系統(tǒng),應(yīng)用面覆蓋了諸多領(lǐng)域,如照相機(jī)、醫(yī)療器械、音響設(shè)備、發(fā)動機(jī)控制、航空器、高速公路電話系統(tǒng)、自動提款機(jī)等是指micro;C是指control2000年下半年,中國電力出版社購得C/OS-一書中譯本的版權(quán),譯者是清華大學(xué)教授紹貝貝先生和他的研究生們。C/OS-一進(jìn)入中國,就受到了中國嵌入式系統(tǒng)工程師、高校師生的極大關(guān)注。
2、C/OS-是專門為單片機(jī)嵌入式系統(tǒng)應(yīng)用而設(shè)計的主體代碼用的是標(biāo)準(zhǔn)的ANSI C語言編成,十分易于移植。目前已經(jīng)成功地移植到了四十多種CPU上了,涵蓋8位、16位、32位和64位等多種機(jī)型,其中還包括了部分DSP芯片。所有的移植范例都能從網(wǎng)站上下載,移植十分容易,有的廠商在推出嵌入式芯片的同時就提供了C/OS-的移植代碼,如Motorla的16位56800系列單片機(jī)。C/OS-有良好應(yīng)用環(huán)境和相當(dāng)大的應(yīng)用群體。在現(xiàn)在中國的嵌入式領(lǐng)域,幾乎到處都可以見到C/OS-的影子。操作系統(tǒng)的選擇uC/OS:Vxworks:嵌入式linuxwince手機(jī) 操作系統(tǒng)Symbian(塞班)是一個實(shí)時性、多任務(wù)的純
3、16位操作系統(tǒng),具有功耗低、內(nèi)存占用少等特點(diǎn),非常適合手機(jī)等移動設(shè)備使用,經(jīng)過不斷完善,可以支持GPRS、藍(lán)牙、SyncML、以及3G技術(shù)。目前根據(jù)人機(jī)界面的不同,Symbian體系的UI(User Interface 用戶界面)平臺分為Series 60、Series 80、Series 90、UIQ等。 手機(jī)操作系統(tǒng)iOS是由蘋果公司為iPhone開發(fā)的操作系統(tǒng)。它主要是給iPhone、iPod touch以及iPad使用。就像其基于Mac OS X的操作系統(tǒng)一樣,它也是以Darwin為基礎(chǔ)的。原本這個系統(tǒng)名為iPhone OS,直到2010年6月7日WWDC大會上宣布改名為iOS。 iO
4、S的系統(tǒng)架構(gòu)分為四個層次:核心操作系統(tǒng)層(the Core OS layer),核心服務(wù)層(the Core Services layer),媒體層(the Media layer),可輕觸層(the Cocoa Touch layer)。系統(tǒng)操作占用大概240MB的存儲器空間。 BrewCDMA之父高通公司開發(fā)的封閉式系統(tǒng) 安裝軟件極為艱難 常見在500元以下的CDMA手機(jī) 有QQ Windows PhoneWindows Mobile系統(tǒng)包括 Pocket PC和Smartphone以及Media Centers,Pocket PC針對無線PDA,Smartphone專為手機(jī) Palm O
5、S這是一種32位的嵌入式操作系統(tǒng),主要運(yùn)用于移動終端上。此系統(tǒng)最初由3Com公司的Palm Computing部開發(fā),目前Palm Computing已經(jīng)獨(dú)立成一家公司。Palm OS與同步軟件HotSync結(jié)合可以使移動終端與電腦上的信息實(shí)現(xiàn)同步,把臺式機(jī)的功能擴(kuò)展到了移動設(shè)備上。Android 最新android 4這是Google開發(fā)的基于Linux平臺的開源手機(jī)操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序 移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。Google與開放手機(jī)聯(lián)盟合作開發(fā)了Android(安卓),這個聯(lián)盟由包括中國移動、摩托羅拉、高通、宏達(dá)電
6、子和 T-Mobile 在內(nèi)的 30 多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。BlackBerry OSBlackBerry OS是Research In Motion專用的操作系統(tǒng),第三方開發(fā) 。 第三方軟件開發(fā)商可以利用APIs以及專有的BlackBerry APIs寫軟件,但任何應(yīng)用程式,如需使它限制使用某些功能,必須附有數(shù)碼簽署(digitally signed),以便用戶能夠聯(lián)系到RIM公司的開發(fā)者的帳戶。這次簽署的程序能保障作者的申請,但并不能保證它的質(zhì)量或安全代碼。 目前用戶首選的嵌入式操作系統(tǒng)Vxworks用于海陸空Vxworks用于航天 推薦讀物與網(wǎng)址嵌入式系統(tǒng)固件揭密,電子工業(yè)出
7、版社操作系統(tǒng)原理. 國防科技大學(xué)出版社,1995計算機(jī)體系結(jié)構(gòu). 高等教育出版社,2000老古開發(fā)網(wǎng)周立功單片機(jī)華恒網(wǎng)絡(luò),嵌入式系統(tǒng)綜述嵌入式開發(fā)網(wǎng) E: /課程安排第 一 章 嵌入式系統(tǒng)導(dǎo)論第 二 章 嵌入式操作系統(tǒng)中的基本概念第 三 章 任務(wù)管理第 四 章 中斷與時間管理第 五 章 事件控制塊第 六 章 消息第 七 章 信號量與互斥型號量第 八 章 事件標(biāo)志組第 九 章 內(nèi)存管理第 十 章 移植與應(yīng)用第十一 章 幾個版本的區(qū)別第一章 嵌入式系統(tǒng)導(dǎo)論1.1 嵌入式系統(tǒng)的基本概念1.2 嵌入式系統(tǒng)的組成結(jié)構(gòu)1.3 嵌入式系統(tǒng)的基本設(shè)計方法1.4 嵌入式操作系統(tǒng)的基本概念1.5 初識C/OS-I
8、I1.1嵌入式系統(tǒng)的基本概念1.1.1 嵌入式系統(tǒng)的發(fā)展概況 嵌入式應(yīng)用的起源 計算機(jī)技術(shù)的分化 兩大分支的發(fā)展方向1.1.2 嵌入式系統(tǒng)的定義1.1.3 嵌入式系統(tǒng)的特點(diǎn)1.1嵌入式系統(tǒng)的基本概念1.1.1 嵌入式系統(tǒng)的發(fā)展概況嵌入式應(yīng)用的起源1946.2.15 ENIAC (Electronic Numerical Integrator And Computer)長30.48米,寬1米,占地面積170平方米,30個操作臺,約相當(dāng)于10間普通房間的大小重達(dá)30噸耗電量150千瓦造價48萬美元。它包含了17,468 真空管,7,200水晶 二極管, 1,500 中轉(zhuǎn), 70,000 電阻器,
9、10,000 電容器,1500繼電器,6000多個開關(guān)每秒執(zhí)行5000次加法或400次乘法,是繼電器計算機(jī)的1000倍、手工計算的20萬倍。承擔(dān)開發(fā)任務(wù)的“莫爾小組”由四位科學(xué)家和工程師??颂?、莫克利、戈?duì)査固?、博克斯組成,總工程師??颂禺?dāng)時年僅24歲。 嵌入式應(yīng)用的起源ENIAC 誕生的起因二戰(zhàn)需要研制新的大炮和導(dǎo)彈要求“彈道試驗(yàn)研究室”提供6張火力表對導(dǎo)彈進(jìn)行技術(shù)鑒定火力表的數(shù)學(xué)模型是非常復(fù)雜的非線性方程組,沒有準(zhǔn)確的解,只能用數(shù)值方法近似求解計算量:每張表需要200計算員計算2個月了改變這種不利的狀況,賓夕法尼亞大學(xué)莫爾電機(jī)工程學(xué)院的莫希利(John Mauchly)于 1942年提出了
10、試制第一臺電子計算機(jī)的初始設(shè)想“高速電子管計算裝置的使用”,期望用電子管代替繼電器以提高機(jī)器的計算速度。美國軍方提供經(jīng)費(fèi)15萬美元 馮諾依曼(vn weumann,美籍匈牙利人)對計算機(jī)的關(guān)鍵問題作出了重要貢獻(xiàn),保證了它的順利誕生。 ENIAC的意義:宣告了一個新時代的開始。從此科學(xué)計算的大門也被打開了。嵌入式應(yīng)用的起源此后的近30年里:長期供養(yǎng)在機(jī)房里為少數(shù)精英所掌握用于數(shù)值求解1971.11 intel公司推出第一顆商用集成電路微處理器INTEL4004 C4004出產(chǎn)年份: 1971年頻率/前端總線 : 0.74MHz / 0.74MHz (4bit)封裝/針腳數(shù)量 : 陶瓷DIP /
11、16針核心技術(shù)/晶體管數(shù)量: 10微米 / 2250每秒運(yùn)算6萬次運(yùn)行頻率:108KHz成本不到100美元 一件劃時代的作品人類歷史上最具革新的產(chǎn)品之一 它是第一款商用微處理器,但不是第一款微處理器,第一款是用于F-14雄貓戰(zhàn)機(jī)中由6顆晶片組成的中央空氣數(shù)據(jù)計算機(jī):CADC(CenterAir Data Computer),構(gòu)造比4004還要簡單,速度只有9.15KHz。中國的超級計算機(jī)天河二號(Tianhe-2),300多萬個處理器,每秒執(zhí)行超過30千萬億次的計算輕易地?fù)魯×松蠈霉谲娒绹饦鋷X國家實(shí)驗(yàn)室的 Titan,Titan每秒可做到17.59千萬億次計算。天河二號很有中國特色,它運(yùn)行一
12、個特殊的Linux版本麒麟,該系統(tǒng)由國防科技大學(xué)開發(fā)。它也有自己的本土網(wǎng)絡(luò)設(shè)備,甚至用中國自己的處理器來驅(qū)動超級計算的管理工具。其唯一使用的美國組件是英特爾的微處理器,用來做系統(tǒng)的數(shù)學(xué)計算。嵌入式應(yīng)用的起源Intel 8080/8085、8086,Motorola 的6800、68000,以及Zilog的Z80、Z8000等計算機(jī)走出機(jī)房廣泛地應(yīng)用于儀器儀表、醫(yī)療設(shè)備、機(jī)器人、家用電器等領(lǐng)域 這個時期也被人們稱為PC時代。 1978 -80864004 808080858086 8088 80286 80386 80486 Pentium PRO Pentium MMX Pentium II
13、Pentium III Pentium 4 嵌入式應(yīng)用的起源隨著計算機(jī)運(yùn)算速度的飛速提高,微型機(jī)所表現(xiàn)出來的智力水平引起了控制領(lǐng)域的廣泛關(guān)注,將微型機(jī)嵌入到應(yīng)用系統(tǒng)中,實(shí)現(xiàn)應(yīng)用系統(tǒng)的智能化控制的設(shè)想和實(shí)踐蘊(yùn)運(yùn)而生。計算機(jī)廠家開始大量地以插件方式向用戶提供OEM產(chǎn)品,再由用戶根據(jù)自己的需要選擇一套適合的CPU板、存儲器板以及各種I/O插件板,并將它們嵌入到自己的系統(tǒng)設(shè)備中,從而導(dǎo)致了嵌入式計算機(jī)系統(tǒng)的誕生。例如,將微機(jī)配置好專用軟件、外部接口電路,并經(jīng)機(jī)械、電氣加固后,安裝到飛機(jī)、大型艦船、大型電話交換機(jī)中構(gòu)成自動控制系統(tǒng)或狀態(tài)監(jiān)測系統(tǒng)等。 出于兼容性和靈活性的考慮,系列化、模塊化的單板機(jī)也問世
14、了,其典型代表是Intel公司的iSBC系列單板機(jī)Zilog公司的MCB單板機(jī)等。后來人們可以不必從選擇芯片開始,而是只要選擇各功能模塊,就能夠組建一臺專用計算機(jī)系統(tǒng)。用戶和開發(fā)者都希望從不同的廠家選購最適合的OEM產(chǎn)品,插入外購或自制的機(jī)箱中就形成新的系統(tǒng),這樣就要求插件是互相兼容的,從而導(dǎo)致了工業(yè)控制微機(jī)系統(tǒng)總線的誕生。1976年Intel公司推出了Multibus1983年擴(kuò)展為帶寬達(dá)40MB/s的Multibus。1978年由Prolog設(shè)計的簡單STD總線被廣泛應(yīng)用。嵌入式應(yīng)用的起源20世紀(jì)90年代,在分布控制、柔性制造、數(shù)字化通信和信息家電等巨大需求的牽引下,嵌入式應(yīng)用進(jìn)一步加速發(fā)
15、展。面向?qū)崟r信號處理算法的DSP產(chǎn)品向著高速、高精度、低功耗發(fā)展。Texas推出的第三代DSP芯片TMS320C30,引導(dǎo)著微控制器向32位高速智能化發(fā)展。在應(yīng)用方面,掌上電腦、手持PC機(jī)、機(jī)頂盒技術(shù)相對成熟,發(fā)展也較為迅速。特別是掌上電腦,1997年在美國市場上掌上電腦不過四五個品牌,而1998年底,各式各樣的掌上電腦如雨后春筍般紛紛涌現(xiàn)出來。21世紀(jì)無疑是一個網(wǎng)絡(luò)的時代,使嵌入式計算機(jī)系統(tǒng)應(yīng)用到各類網(wǎng)絡(luò)中去也成為嵌入式系統(tǒng)發(fā)展的重要方向。在發(fā)展?jié)摿薮蟮摹靶畔⒓译姟敝?,人們非常關(guān)注的網(wǎng)絡(luò)電話設(shè)備,即IP電話,就是一個代表。 嵌入式應(yīng)用的起源計算機(jī)被嵌入到應(yīng)用系統(tǒng)中,原來通用計算機(jī)的標(biāo)準(zhǔn)形態(tài)
16、便不再復(fù)現(xiàn)了,人機(jī)交互模式、處理模式、功耗模式也各不相同。為了把實(shí)現(xiàn)嵌入式應(yīng)用的計算機(jī)與通用計算機(jī)系統(tǒng)區(qū)別開來,就把這種以嵌入為手段、以控制為目的的專用計算機(jī)稱作嵌入式計算機(jī)系統(tǒng)。因此,嵌入式系統(tǒng)起源于微型機(jī)時代,嵌入式系統(tǒng)的嵌入性是它的一個根本特點(diǎn),其本質(zhì)是將計算機(jī)嵌入到應(yīng)用系統(tǒng)中去。 嵌入式應(yīng)用的起源計算機(jī)技術(shù)的分化后PC從產(chǎn)生的背景來看,嵌入式計算機(jī)系統(tǒng)與通用計算機(jī)系統(tǒng)有著完全不同的技術(shù)要求、應(yīng)用目標(biāo)和技術(shù)發(fā)展方向。通用計算機(jī)系統(tǒng)的技術(shù)要求是高速、海量的數(shù)值計算;技術(shù)發(fā)展方向是總線速度的無限提升,存儲容量的無限擴(kuò)大;應(yīng)用目標(biāo)多樣化,通過軟件的配置完成多種計算。嵌入式計算機(jī)系統(tǒng)的應(yīng)用目標(biāo)是
17、實(shí)現(xiàn)應(yīng)用系統(tǒng)的智能化控制,技術(shù)要求是可靠、可裁減,能滿足應(yīng)用對其體積、功耗等的嚴(yán)格要求,技術(shù)發(fā)展方向是追求與應(yīng)用系統(tǒng)密切相關(guān)的嵌入性、專用性、智能化和可靠性的提升。計算機(jī)技術(shù)的分化-后PC時代在早期,由于嵌入式應(yīng)用范圍比較狹窄,大多用于工業(yè)控制領(lǐng)域,人們還可以勉強(qiáng)將通用計算機(jī)通過改裝、加固、定制專業(yè)軟件等方法,嵌入到大型系統(tǒng)中去實(shí)現(xiàn)嵌入式應(yīng)用,但隨著經(jīng)濟(jì)、技術(shù)的高速發(fā)展,嵌入式應(yīng)用越來越廣泛,已經(jīng)深入到我們生活中的方方面面,比如:小到彩電、空調(diào)、洗衣機(jī)、手機(jī),大到飛機(jī)、導(dǎo)彈、汽車等等,嵌入式應(yīng)用對計算機(jī)的功能、體積、功耗、價格、重量、可靠性等方面的要求越來越苛刻,通過改造通用計算機(jī)的傳統(tǒng)方法遠(yuǎn)
18、遠(yuǎn)不能勝任。因此,嵌入式計算機(jī)不得不脫離通用計算機(jī)系統(tǒng)走上了獨(dú)立發(fā)展的道路。這就形成了現(xiàn)代計算機(jī)兩大分支并行發(fā)展的時期,也稱為后PC時代。 兩大分支的發(fā)展方向 嵌入式計算機(jī)系統(tǒng)與通用計算機(jī)系統(tǒng)的專業(yè)分工和獨(dú)立發(fā)展,導(dǎo)致了當(dāng)今計算機(jī)技術(shù)的飛速發(fā)展。通用計算機(jī)領(lǐng)域致力于發(fā)展其專用的軟、硬件技術(shù),不必兼顧嵌入式應(yīng)用的要求,CPU已經(jīng)從單核發(fā)展到雙核、四核,微機(jī)的處理速度已經(jīng)遠(yuǎn)遠(yuǎn)超過了當(dāng)年的小中型計算機(jī),超級計算機(jī)1秒鐘已經(jīng)能運(yùn)算30千萬億條指令;操作系統(tǒng)的發(fā)展使計算機(jī)在具備了高速處理海量數(shù)據(jù)能力的同時,應(yīng)用也越來越方便。嵌入式計算機(jī)系統(tǒng)則走上了另一條發(fā)展之路單芯片化。如果說微機(jī)開創(chuàng)了嵌入式計算機(jī)系統(tǒng)
19、的應(yīng)用,那么單片機(jī)則開創(chuàng)了嵌入式計算機(jī)系統(tǒng)獨(dú)立發(fā)展的道路。在單片機(jī)的發(fā)展道路上,曾出現(xiàn)過兩種探索模式,即“模式”和“創(chuàng)新模式”?!澳J健北举|(zhì)上是將通用計算機(jī)系統(tǒng)中的基本單元進(jìn)行裁剪后,直接芯片化,構(gòu)成單片微型計算機(jī);“創(chuàng)新模式”則完全按嵌入式應(yīng)用的要求,以全新的方式設(shè)計能滿足嵌入式應(yīng)用要求的體系結(jié)構(gòu)、指令系統(tǒng)、總線方式、管理模式、外設(shè)接口等的單片微型計算機(jī)。1976年Intel公司開發(fā)的MCS-48和隨后開發(fā)的MCS-51就是按照創(chuàng)新模式發(fā)展起來的單片形態(tài)的嵌入式系統(tǒng)。歷史證明,“創(chuàng)新模式”是嵌入式系統(tǒng)獨(dú)立發(fā)展的正確道路,MCS-51的體系結(jié)構(gòu)也因此成為單片嵌入式系統(tǒng)的典型體系結(jié)構(gòu)。 嵌入式計
20、算機(jī)系統(tǒng)簡稱嵌入式系統(tǒng),它的應(yīng)用發(fā)源于微機(jī),發(fā)展于單片機(jī),那么,究竟什么是嵌入式系統(tǒng)呢?嵌入式系統(tǒng)的定義是怎樣的呢? 1.1.2嵌入式系統(tǒng)的定義1.1.2嵌入式系統(tǒng)的定義依據(jù)IEEE(國際電氣和電子工程師協(xié)會)的定義是:“Device used to control, monitor, or assist the operation of equipment, machinery or plants”,即嵌入式系統(tǒng)為控制、監(jiān)視或者輔助設(shè)備、機(jī)器或甚至工廠運(yùn)作的裝置,它是一種計算機(jī)軟件和硬件綜合體,并且特別強(qiáng)調(diào)“量身定制”的原則,也就是基于某種特殊的用途,設(shè)計者就會根據(jù)這些用途設(shè)計出一種截然不同
21、的系統(tǒng)來。 按照Wayne Wolf在其所著的嵌入式系統(tǒng)設(shè)計教科書上的定義是“What is an embedded system? Loosely defined, it is any device that includes a programmable computer but is not itself a general-purpose computer.”,意為“不嚴(yán)格地定義,嵌入式系統(tǒng)是包含可編程計算機(jī)的任意設(shè)備,而它本身并不是作為通用計算機(jī)而設(shè)計的。” “一臺個人電腦不能稱之為嵌入式計算系統(tǒng),盡管它常常被用于搭建嵌入式系統(tǒng)。 我國微機(jī)學(xué)會的定義“嵌入式系統(tǒng)是以嵌入式應(yīng)用為目的的
22、計算機(jī)系統(tǒng)”,并分為系統(tǒng)級、板級、片級。系統(tǒng)級包括各類工控設(shè)備、PC104模塊等;板級包括各類CPU主板和OEM產(chǎn)品;片級包括各種以單片機(jī)、DSP、微處理器為核心的設(shè)備。 目前在我國流行得比較廣泛的定義“嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁減,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積和功耗等嚴(yán)格要求的專用計算機(jī)系統(tǒng)。” ES=3C(Computer+Communication+ Consumerelectronics)+ Internet + WAP + GBS + UPS + Sensors + IP + Other ESOC。 定義嵌入式系統(tǒng)是嵌入到對象體系中的專用計算機(jī)
23、系統(tǒng)”“嵌入性”、“專用性”與“計算機(jī)系統(tǒng)”是嵌入式系統(tǒng)的三個基本要素,對象體系則是指所嵌入的應(yīng)用系統(tǒng)。 按照定義,只要滿足嵌入式系統(tǒng)三要素的,都可以稱為嵌入式系統(tǒng),因此嵌入式系統(tǒng)根據(jù)其形態(tài)和規(guī)模的不同可分為:系統(tǒng)級,包括工控機(jī)、嵌入到應(yīng)用中的通用計算機(jī)等。隨著IT技術(shù)的不斷發(fā)展,通用計算機(jī)在體積、功耗、性能等各個方面都得到了空前的提高,一些嵌入式系統(tǒng)的特點(diǎn)也在通用計算機(jī)上得到體現(xiàn)。在一些產(chǎn)品上,嵌入式系統(tǒng)和通用計算機(jī)上出現(xiàn)了融合的趨勢;板級,包括各種CPU主板;芯片級,如CPU、MCU、SOC、DSP、MPU等; 在理解嵌入式系統(tǒng)的定義的時候,要分清嵌入式系統(tǒng)與嵌入式應(yīng)用系統(tǒng)的區(qū)別。嵌入式應(yīng)
24、用系統(tǒng)是指內(nèi)部含有嵌入式系統(tǒng)的設(shè)備、裝置或者系統(tǒng),比如:手機(jī)、數(shù)字彩電、空調(diào)、工控單元、PDA、汽車、導(dǎo)彈等。這種區(qū)別就好像我們常說的單片機(jī)系統(tǒng)與單片機(jī)應(yīng)用系統(tǒng)的區(qū)別一樣,盡管人們常常在不嚴(yán)格的場合將單片機(jī)系統(tǒng)和單片機(jī)應(yīng)用系統(tǒng)混稱,但是概念上的差別是很明顯的。 1.1.3嵌入式系統(tǒng)的特點(diǎn) 系統(tǒng)內(nèi)核小、實(shí)時高效 專用性強(qiáng) 系統(tǒng)精簡 軟件固化 嵌入式系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境 1.2 嵌入式系統(tǒng)的組成結(jié)構(gòu)早期,分為三層結(jié)構(gòu)硬件層嵌入式操作系統(tǒng)層應(yīng)用程序?qū)佑布邮腔A(chǔ)不同的應(yīng)用對應(yīng)不同的硬件環(huán)境為了便于操作系統(tǒng)在不同結(jié)構(gòu)的硬件上移植,微軟提出了將操作系統(tǒng)底層與硬件相關(guān)的部分單獨(dú)抽象出來,設(shè)計成單獨(dú)的
25、硬件抽象層HAL(Hardware Abstraction Layer)的思想它通過硬件抽象層接口設(shè)計,向操作系統(tǒng)及應(yīng)用程序提供對硬件進(jìn)行抽象后的服務(wù)。硬件抽象層這個中間層的引入,展蔽了底層硬件的多樣性,操作系統(tǒng)不再直接面對具體的硬件環(huán)境,而是面向由這個中間層次所代表的、邏輯上的硬件環(huán)境,實(shí)現(xiàn)嵌入式操作系統(tǒng)的可移植性和跨平臺性。目前,在嵌入式領(lǐng)域中,HAL通常是以BSP(Board Support Package)板級支持包的形式實(shí)現(xiàn)的。這樣,原先嵌入式系統(tǒng)的3層結(jié)構(gòu)逐步演化為如圖1.1的4層結(jié)構(gòu)。然而,目前BSP形式的硬件抽象層還不能解決大多數(shù)操作系統(tǒng)移植和跨平臺問題。 圖1.1 嵌入式系統(tǒng)
26、組成結(jié)構(gòu)圖1.2.1 硬件層圖1.2 嵌入式系統(tǒng)硬件組成結(jié)構(gòu)圖BCNG開發(fā)板 嵌入式處理器嵌入式處理器是嵌入式系統(tǒng)的核心,品種總量已經(jīng)超過1000種,流行的體系結(jié)構(gòu)有30幾個系列,其中8051系列占多半。生產(chǎn)8051單片機(jī)的半導(dǎo)體廠家有20多個,共350多個衍生產(chǎn)品,僅Philips就有近100種。現(xiàn)在幾乎每個半導(dǎo)體制造商都生產(chǎn)嵌入式處理器,越來越多的公司有自己的處理器設(shè)計部門。嵌入式處理器的尋址空間一般從64kB到16MB,處理速度從0.1MIPS到2000MIPS,常用封裝從8個引腳到144個引腳。嵌入式微處理器一般具備以下4個特點(diǎn):對實(shí)時多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中
27、斷響應(yīng)時間;具有功能很強(qiáng)的存儲區(qū)保護(hù)功能。這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了避免在軟件模塊之間出現(xiàn)錯誤的交叉作用,需要設(shè)計強(qiáng)大的存儲區(qū)保護(hù)功能,同時也有利于軟件診斷;可擴(kuò)展的處理器結(jié)構(gòu),可以滿足快速開發(fā)最高性能的嵌入式系統(tǒng)的要求;嵌入式微處理器的功耗很低,很多產(chǎn)品的功耗只有mW甚至W級。 嵌入式處理器嵌入式處理器的分類一般有兩種一是按功能特點(diǎn)分類,可分為:嵌入式微控制器(MicroControllerUnit,MCU)嵌入式微控制器又稱單片機(jī),就是將整個計算機(jī)系統(tǒng)集成到一塊芯片中。 嵌入式微處理器(Embedded MicroProcessor Unit,EMPU)嵌入式微處理器的基
28、礎(chǔ)是通用計算機(jī)中的CPU嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)EDSP處理器對系統(tǒng)結(jié)構(gòu)和指令進(jìn)行了特殊設(shè)計,使其適合于執(zhí)行DSP算法,編譯效率較高,指令執(zhí)行速度也較高。 嵌入式片上系統(tǒng)(SystemOnChip,SOC);在一個硅片上實(shí)現(xiàn)一個更為復(fù)雜的系統(tǒng),這就是嵌入式片上系統(tǒng)(System On Chip,SOC)。 二是按數(shù)據(jù)總線的位數(shù)分,可分為:4位機(jī)、8位機(jī)、16位機(jī)、32位機(jī)和64位機(jī)。 嵌入式微處理器(4)國產(chǎn):龍芯64位方舟32位,主頻由166MHZ提升到400MHZ 存儲器存儲器是嵌入式系統(tǒng)中的重要組成部件,用于存放程
29、序和數(shù)據(jù)。 存儲器主要有半導(dǎo)體材料、磁性材料和光介質(zhì)材料三種 存儲器中最小的存儲單位就是一個雙穩(wěn)態(tài)半導(dǎo)體電路或一個CMOS晶體管或磁性材料或光介質(zhì)的存儲元,它可存儲一個二進(jìn)制代碼。 存儲器嵌入式系統(tǒng)中,以半導(dǎo)體存儲器為多。半導(dǎo)體存儲器種類很多,從存、取功能上可以分為只讀存儲器(Read-Only Memory,ROM)隨機(jī)存儲器(Random Access Meemory,RAM)可編程ROM(Programmable Read-Only Memory,PROM)可擦除的可編程ROM(Erasable Programmable Read-Only Memory,EPROM)閃存(flash M
30、emory)鐵電存儲器(FRAM) 常用的接口總線嵌入式系統(tǒng)中常用的總線主要可分為兩大類并行總線和串行總線。常用的并行總線有:CPU并行總線;工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(Industry Standard Architecture,ISA)總線;外部設(shè)備互連(Peripheral Component Interconnect,PCI)總線等。 常用的接口總線而常的串行總線較多,主要有:通用異步接收傳輸(Uiversal Asynchronous Receiver/Transmitter,UART)總線;串行通信接口(Serial Communication Interface,SCI);串行外設(shè)接口(Ser
31、ial Peripheral Interface,SPI)總線;內(nèi)部集成電路(Inter-IC,I2C)總線;IEEE1394總線、USB;RS-232總線、RS-485總線;控制器區(qū)域網(wǎng)(Controller Area Network,CAN)總線;單總線(1-Wire)和局域互連網(wǎng)絡(luò)(LocalInterconnectNetwork,LIN)總線等。 這些總線在速度、物理接口要求和通信方法學(xué)上都有所不同。串行總線與并行總線相比,最大的優(yōu)點(diǎn)在于總線線數(shù)少,這有利于減小系統(tǒng)的復(fù)雜性。 1.2.2 軟件結(jié)構(gòu) 嵌入式系統(tǒng)的軟件結(jié)構(gòu)可以分為兩種,一是無操作系統(tǒng)支持的程序結(jié)構(gòu)二是基于RTOS的程序結(jié)構(gòu)
32、。例如:數(shù)據(jù)采集系統(tǒng),假設(shè)要求完成:數(shù)據(jù)采集、數(shù)據(jù)處理鍵盤輸入LCD顯示打印等功能的軟件工作。 1.2.2 軟件結(jié)構(gòu)1.2.3 硬件抽象層硬件抽象層隱藏特定平臺的硬件接口細(xì)節(jié),為操作系統(tǒng)提供虛擬硬件平臺,使其具有硬件無關(guān)性,可在多種平臺上進(jìn)行移植。 在嵌入式系統(tǒng)中,硬件抽象層多以BSP的形式實(shí)現(xiàn),它完成系統(tǒng)上電后最初的硬件和軟件初始化,并對底層硬件進(jìn)行封裝,使得操作系統(tǒng)不再面對具體的操作。關(guān)于BSP還存在幾種不同的理解:(1)BSP是操作系統(tǒng)的驅(qū)動程序,最著名例子就是風(fēng)河系統(tǒng)公司,它傾向于這種理解;(2)驅(qū)動程序,一些嵌入式系統(tǒng)的供應(yīng)商提供的驅(qū)動程序也常稱為BSP;(3)板級開發(fā)工具,因?yàn)樵谀?/p>
33、些BSP中往往還包括了程序編輯器、編譯連接器、嵌入式操作系統(tǒng)、底層支持庫等。一般嵌入式操作系統(tǒng)的開發(fā)者常常將BSP理解為HAL,本書采用這樣的理解。 1.2.3 硬件抽象層在絕大多數(shù)的嵌入式系統(tǒng)中,BSP是一個不可或缺的組成部分,操作系統(tǒng)啟動以前的初始化工作主要由BSP完成,盡管目前沒有統(tǒng)一的定義,但其主要功能一般可以歸納為:初始化和設(shè)備驅(qū)動,主要包括:片級初始化主要對CPU進(jìn)行初始化,包括設(shè)置CPU的存儲器地址范圍、堆棧指針、程序指針、數(shù)據(jù)寄存器、控制寄存器、端口輸入輸出模式、時鐘頻率設(shè)置、屏蔽中斷等。片級初始化的過程就是把CPU從上電時的默認(rèn)狀態(tài)逐步設(shè)置成系統(tǒng)所要求的工作狀態(tài)。這個過程只包
34、含對硬件的初始化。板級初始化主要對CPU外部其它硬件設(shè)備進(jìn)行初始化,為隨后的操作系統(tǒng)初始化和應(yīng)用程序的運(yùn)行建立條件,如配置程序的數(shù)據(jù)結(jié)構(gòu)和參數(shù)等。這個過程既包含硬件,又包含軟件的初始化。操作系統(tǒng)初始化,為軟件系統(tǒng)提供一個實(shí)時多任務(wù)的運(yùn)行環(huán)境。在這個過程中,BSP把嵌入式CPU的控制權(quán)轉(zhuǎn)交給嵌入式操作系統(tǒng),由操作系統(tǒng)完成余下的初始化操作,如:加載和初始化與硬件無關(guān)的設(shè)備驅(qū)動程序、建立系統(tǒng)內(nèi)存區(qū),加載并初始化網(wǎng)絡(luò)系統(tǒng)、文件系統(tǒng)等。最后,操作系統(tǒng)創(chuàng)建應(yīng)用程序環(huán)境,并將控制權(quán)交給應(yīng)用程序的入口。操作系統(tǒng)初始化不是BSP的主要工作,而是由BSP發(fā)起的,BSP設(shè)計的關(guān)鍵主要在于前面兩個過程。 1.3 嵌入
35、式系統(tǒng)的基本設(shè)計方法 目前,嵌入式系統(tǒng)設(shè)計流程模型有很多,如 瀑布模型 快速原型模型 螺旋模型 噴泉模型 智能模型 混合模型 增量模型 WINWIN模型 并行開發(fā)模型 基于體系結(jié)構(gòu)的開發(fā)模型 基于構(gòu)建的開發(fā)模型 XP方法等等 設(shè)計者可以根據(jù)設(shè)計對象復(fù)雜度和個人愛好,靈活的選擇不同的系統(tǒng)設(shè)計方法。 1.4 嵌入式操作系統(tǒng)的概念1.4.1 嵌入式操作系統(tǒng)的發(fā)展歷程嵌入式操作系統(tǒng)是嵌入式系統(tǒng)極為重要的組成部分通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn)如能夠有效管理越來越復(fù)雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開
36、發(fā)人員從繁忙的驅(qū)動程序移植和維護(hù)中解脫出來;能夠提供庫函數(shù)、驅(qū)動程序、工具集以及應(yīng)用程序。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有較為突出的特點(diǎn)。1.4.1 嵌入式操作系統(tǒng)的發(fā)展歷程第一階段,無操作系統(tǒng)的嵌入算法階段通過匯編語言編程對系統(tǒng)進(jìn)行直接控制,運(yùn)行結(jié)束后清除內(nèi)存。系統(tǒng)結(jié)構(gòu)和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口,比較適合于各類專用領(lǐng)域中。 1.4.1 嵌入式操作系統(tǒng)的發(fā)展歷程第二階段,以嵌入式CPU為基礎(chǔ)、簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。 CPU 種類繁多,通用性比較差;系統(tǒng)開銷小,效率高;一般配
37、備系統(tǒng)仿真器,操作系統(tǒng)具有一定的兼容性和擴(kuò)展性;應(yīng)用軟件較專業(yè),用戶界面不夠友好;操作系統(tǒng)主要用來控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序運(yùn)行。 1.4.1 嵌入式操作系統(tǒng)的發(fā)展歷程第三階段,通用的嵌入式實(shí)時操作系統(tǒng)階段 以嵌入式操作系統(tǒng)為核心的嵌入式系統(tǒng)能運(yùn)行于各種類型的微處理器上,兼容性好;內(nèi)核精小、效率高,具有高度的模塊化和擴(kuò)展性;具備文件和目錄管理、設(shè)備支持、多任務(wù)、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能;具有大量的應(yīng)用程序接口;嵌入式應(yīng)用軟件豐富。 1.4.1 嵌入式操作系統(tǒng)的發(fā)展歷程第四階段是以Internet為標(biāo)志的嵌入式系統(tǒng)嵌入式實(shí)時操作系統(tǒng)開始向網(wǎng)絡(luò)操作系統(tǒng)方向發(fā)展,這是一個正在迅速發(fā)展的
38、階段。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外隨著Internet的發(fā)展以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等結(jié)合的日益密切,嵌入式設(shè)備與Internet的結(jié)合將代表著嵌入式技術(shù)的真正未來。 1.4.2 嵌入式實(shí)時操作系統(tǒng)的定義 操作系統(tǒng)的定義 實(shí)時操作系統(tǒng)的定義 嵌入式操作系統(tǒng)的結(jié)構(gòu)與組成 操作系統(tǒng)的定義操作系統(tǒng)(Operating System,OS)是計算機(jī)系統(tǒng)中負(fù)責(zé)支撐應(yīng)用程序運(yùn)行環(huán)境以及用戶操作環(huán)境的系統(tǒng)軟件,同時也是計算機(jī)系統(tǒng)的核心與基石。它的職責(zé)通常是合理地組織計算機(jī)工作流程,控制程序的執(zhí)行,對硬件直接進(jìn)行監(jiān)管,實(shí)現(xiàn)對各種計算資源(如內(nèi)存、處理器時鐘等)的管理
39、、提供諸如作業(yè)管理之類的面向應(yīng)用程序的服務(wù)等等。操作系統(tǒng)的理論是計算機(jī)科學(xué)中一個古老而又活躍的分支,而操作系統(tǒng)的設(shè)計與實(shí)現(xiàn)則是軟件工業(yè)的基礎(chǔ)與核心。操作系統(tǒng)實(shí)際上是一個計算機(jī)系統(tǒng)中硬、軟件資源的總指揮部,主要有兩方面的作用:管理系統(tǒng)中的各種資源,包括硬件資源和軟件資源;為用戶提供良好的界面。 操作系統(tǒng)位于底層硬件與用戶應(yīng)用程序之間,是兩者溝通的橋梁。用戶可以通過操作系統(tǒng)的用戶界面,輸入命令。操作系統(tǒng)則對命令進(jìn)行解釋,驅(qū)動硬件設(shè)備,實(shí)現(xiàn)用戶要求。操作系統(tǒng)分成四大部分:驅(qū)動程序 最底層的、直接控制和監(jiān)視各類硬件的部分,它們的職責(zé)是隱藏硬件的具體細(xì)節(jié),并向其它部分提供一個抽象的、通用的接口; 內(nèi)核
40、操作系統(tǒng)之最核心部分,通常運(yùn)行在最高特權(quán)級,負(fù)責(zé)提供基礎(chǔ)性、結(jié)構(gòu)性的功能;支承庫 也稱“接口庫”,是一系列特殊的程序庫,它們職責(zé)在于把系統(tǒng)所提供的基本服務(wù)包裝成應(yīng)用程序所能使用的編程接口,是最靠近應(yīng)用程序的部分; 外圍 所謂外圍,是指操作系統(tǒng)中除以上三類以外的所有其它部分,通常是用于提供特定高級服務(wù)的部件。例如,在微內(nèi)核結(jié)構(gòu)中,大部分系統(tǒng)服務(wù),以及UNIX/Linux中各種守護(hù)進(jìn)程都通常被劃歸此列。 目前,用于通用計算機(jī)上的操作系統(tǒng)主要有兩個家族:類Unix家族和微軟Windows家族。嵌入式系統(tǒng)使用的操作系統(tǒng)多種多樣,并且很多和Windows和Unix都沒有直接的聯(lián)系。 操作系統(tǒng)的定義嵌入式
41、實(shí)時操作系統(tǒng)的定義 1實(shí)時系統(tǒng)的定義一般地說,實(shí)時系統(tǒng)是指系統(tǒng)在限定的時間內(nèi)能夠提供所需要的服務(wù)水平,實(shí)時系統(tǒng)根據(jù)對于實(shí)時性要求的不同,可以分為軟實(shí)時和硬實(shí)時兩種類型。軟實(shí)時系統(tǒng)要求各個任務(wù)運(yùn)行得越快越好,但并不苛求某一任務(wù)運(yùn)行的時間長度。如果系統(tǒng)特定的時序得不到滿足,只會引起性能的嚴(yán)重下降,并不產(chǎn)生嚴(yán)重后果。硬實(shí)時系統(tǒng)不僅要求各個任務(wù)執(zhí)行無誤而且要求做到準(zhǔn)時,如果特定的時序得不到滿足,將會引起災(zāi)難性的后果。實(shí)時系統(tǒng)可分為兩種類型,即軟實(shí)時系統(tǒng)和硬實(shí)時系統(tǒng),其特性對比如圖1.6所示。 圖1.6 兩種實(shí)時系統(tǒng)特性對比 2實(shí)時系統(tǒng)的重要特征在實(shí)時系統(tǒng)中,系統(tǒng)的正確性不僅取決于系統(tǒng)計算結(jié)果的正確性,
42、而且還取決于正確結(jié)果產(chǎn)生的時間(在分時系統(tǒng)中,只要滿足前者即可),即時序。如果出現(xiàn)時序和邏輯的偏差將會引起嚴(yán)重的后果。高速系統(tǒng)往往能完成實(shí)時運(yùn)算,但高速系統(tǒng)不等于實(shí)時系統(tǒng),實(shí)時系統(tǒng)強(qiáng)調(diào)的不僅僅是運(yùn)算速度“快”,強(qiáng)調(diào)更多的是運(yùn)算時序和邏輯的“準(zhǔn)確”、“及時”。因此,為了滿足運(yùn)算的“準(zhǔn)確”和“及時”,系統(tǒng)行為的可預(yù)測性和可確定性是實(shí)時系統(tǒng)的重要特征。大多數(shù)實(shí)時系統(tǒng)是軟硬兩種實(shí)時系統(tǒng)的結(jié)合,它們的應(yīng)用涵蓋廣泛的領(lǐng)域,而多數(shù)實(shí)時系統(tǒng)又是嵌入式的。這意味著計算機(jī)建在系統(tǒng)內(nèi)部,用戶看不到有個計算機(jī)在系統(tǒng)里面,例如:汽車中的安全氣囊、防抱死系統(tǒng)(ABS)、衛(wèi)星系統(tǒng)、噴氣發(fā)動機(jī)控制、數(shù)字電視、數(shù)碼相機(jī)等等。
43、3嵌入式操作系統(tǒng)的定義 實(shí)時操作系統(tǒng)RTOS:泛指所有具有一定實(shí)時資源調(diào)度和通訊能力,能支持實(shí)時控制系統(tǒng)工作的操作系統(tǒng)。嵌入式操作系統(tǒng)(Real-Time embedded Operating System,RTOS 或EOS)是指支持嵌入式系統(tǒng)工作的操作系統(tǒng)。大多數(shù)嵌入式系統(tǒng)都是實(shí)時系統(tǒng),而且多是硬實(shí)時多任務(wù)系統(tǒng),這就要求相應(yīng)的嵌入式操作系統(tǒng)也必須是實(shí)時操作系統(tǒng)。所以通常認(rèn)為實(shí)時操作系統(tǒng)就是嵌入式操作系統(tǒng),有時也統(tǒng)稱為嵌入式實(shí)時操作系統(tǒng)。嵌入式操作系統(tǒng)是嵌入式系統(tǒng)極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。目前,嵌入式操作
44、系統(tǒng)的品種較多,據(jù)統(tǒng)計,僅用于信息電器的嵌入式操作系統(tǒng)就有40種左右,其中較為流行的主要有: Windows CE、Palm OS、Real-Time Linux、VxWorks、C/OS-、pSOS、PowerTV以及Microware 公司的OS-9等。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有較為突出的特點(diǎn)。實(shí)時操作系統(tǒng)作為操作系統(tǒng)的一個重要分支已成為研究的一個熱點(diǎn),主要探討實(shí)時多任務(wù)調(diào)度算法和可調(diào)度性、死鎖解除等問題。 嵌入式操作系統(tǒng)的結(jié)構(gòu)與組成 內(nèi)核是多任務(wù)系統(tǒng)中的核心部分提供多任務(wù),為多任務(wù)分配CPU時間提供任務(wù)管理
45、與調(diào)度、時間管理、任務(wù)間通信和同步、內(nèi)存管理等重要服務(wù),并作為系統(tǒng)調(diào)用提供給任務(wù)的使用者。內(nèi)核的基本任務(wù)是任務(wù)調(diào)度和任務(wù)間通信實(shí)時內(nèi)核主要有可剝奪型內(nèi)核和不可剝奪型內(nèi)核兩種。內(nèi)核允許將系統(tǒng)分成多個獨(dú)立的任務(wù),每個任務(wù)處理程序的一部分,從而簡化系統(tǒng)的設(shè)計過程。一個好的實(shí)時內(nèi)核需要具備以下功能和特點(diǎn):(1)任務(wù)管理;(2)任務(wù)間可以進(jìn)行同步和通信;(3)具有實(shí)時時鐘服務(wù)功能;(4)具有中斷管理服務(wù)功能;(5)操作系統(tǒng)的行為是可知的和可預(yù)測的。操作系統(tǒng)行為的可知性和可預(yù)測性是實(shí)時操作系統(tǒng)的本質(zhì)特征,系統(tǒng)的實(shí)時性強(qiáng)調(diào)的不是系統(tǒng)的運(yùn)行速率的快和慢,而是強(qiáng)調(diào)能否在規(guī)定的時間內(nèi)完成所需完成的任務(wù),因此,只有
46、每個行為執(zhí)行的時間都能預(yù)測,才能使系統(tǒng)設(shè)計的實(shí)時性指標(biāo)得到可靠的保證。 嵌入式操作系統(tǒng)的結(jié)構(gòu)與組成 內(nèi)核的結(jié)構(gòu)可以分為單內(nèi)核(monolithic kernel)、微內(nèi)核(microkernel)、超微內(nèi)核(nanokernel)、以及外核(exokernel)等 單內(nèi)核結(jié)構(gòu)是操作系統(tǒng)中各核心部件雜然混居的形態(tài)該結(jié)構(gòu)于1960年代(亦有1950年代初之說,尚存爭議)誕生,歷史最長,是操作系統(tǒng)內(nèi)核與外圍分離時的最初形態(tài)。 微內(nèi)核結(jié)構(gòu)是1980年代產(chǎn)生出來的較新的內(nèi)核結(jié)構(gòu),強(qiáng)調(diào)結(jié)構(gòu)性部件與功能性部件的分離。20世紀(jì)末,基于微內(nèi)核結(jié)構(gòu),理論界中又發(fā)展出了超微內(nèi)核與外內(nèi)核等多種結(jié)構(gòu)。盡管自1980年代
47、起,大部分理論研究都集中在以微內(nèi)核為首的“新興”結(jié)構(gòu)之上,然而,在應(yīng)用領(lǐng)域之中,以單內(nèi)核結(jié)構(gòu)為基礎(chǔ)的操作系統(tǒng)卻一直占據(jù)著主導(dǎo)地位。 在眾多常用操作系統(tǒng)之中,除了QNX和基于Mach的UNIX等個別系統(tǒng)外,幾乎全部采用單內(nèi)核結(jié)構(gòu),例如大部分的Unix、Linux,以及Windows(微軟聲稱Windows NT是基于改良的微內(nèi)核架構(gòu)的,盡管理論界對此存有異議)。微內(nèi)核和超微內(nèi)核結(jié)構(gòu)主要用于研究性操作系統(tǒng),還有一些嵌入式系統(tǒng)使用外核。 1.4.3 評價嵌入式操作系統(tǒng)的幾個重要指標(biāo) 一個實(shí)時操作系統(tǒng)的實(shí)時性能的主要評測標(biāo)準(zhǔn)和指標(biāo)包括系統(tǒng)響應(yīng)時間、任務(wù)切換時間、中斷延遲時間、中斷響應(yīng)時間、調(diào)度抖動(j
48、itter)、調(diào)度延遲等,具體的含義如下:系統(tǒng)響應(yīng)時間(System Response Time)是系統(tǒng)發(fā)出處理要求到系統(tǒng)給出應(yīng)答信號的時間。這是RTOS一個比較綜合的性能指標(biāo)。任務(wù)切換時間(Context-Switching Time)指運(yùn)行多任務(wù)時,系統(tǒng)發(fā)生任務(wù)切換、保存和恢復(fù)CPU寄存器內(nèi)容的時間。任務(wù)切換所需要的時間取決于CPU有多少寄存器要出入棧。實(shí)時內(nèi)核的性能不應(yīng)該以每秒鐘能做多少次任務(wù)切換來評價。中斷延遲(Interrupt latency)是從硬件中斷發(fā)生到開始執(zhí)行中斷處理程序第一條指令所用的時間,也就是從中斷發(fā)生到中斷跳轉(zhuǎn)指令執(zhí)行完畢之間的這段時間。中斷響應(yīng)時間 定義為從中斷
49、發(fā)生起到開始執(zhí)行中斷用戶處理程序的第一條指令所用的時間,換句話說,中斷響應(yīng)是從中斷發(fā)生到剛剛開始處理異步事件之間的這段時間,它包括開始處理這個中斷前的全部開銷。調(diào)度抖動 是指一個周期性任務(wù)的周期間隔的變化。通常,實(shí)時應(yīng)用以周期性任務(wù)的形式被調(diào)度,并且在硬件定時器產(chǎn)生一個中斷喚醒調(diào)度器時開始執(zhí)行。雖然定時器中斷可能發(fā)生得跟時鐘一樣有規(guī)律,但是許多不確定因素會導(dǎo)致調(diào)度器的運(yùn)行時間變得不確定,導(dǎo)致接下來的任務(wù)的開始時間就會相應(yīng)地變化,這個影響就叫調(diào)度抖動。抖動跟具體的應(yīng)用緊密相關(guān)。調(diào)度器延遲 是指進(jìn)行任務(wù)調(diào)度時,調(diào)度器所花費(fèi)的時間。精簡的調(diào)度程序和較短的任務(wù)切換間將會獲得較好的實(shí)時性能。 1.4.4
50、嵌入式實(shí)時操作系統(tǒng)的特點(diǎn) 使用嵌入式操作系統(tǒng)的必要性 早期嵌入式系統(tǒng)的特點(diǎn)硬件設(shè)備一般都很簡單軟件的編程和調(diào)試工具也很原始程序大都采用宏匯編語言調(diào)試是一件很麻煩的事應(yīng)用軟件與系統(tǒng)硬件密切相關(guān),一般不講移植,每個系統(tǒng)軟件都從頭開發(fā)。隨著嵌入式技術(shù)逐步地向深層次發(fā)展,已經(jīng)無法滿足高效率開發(fā)的需求。系統(tǒng)越來越復(fù)雜軟件開發(fā)量越來越大應(yīng)用軟件從頭開發(fā)、逐行編寫的方式效率太低。于是,人們提出了大規(guī)模地移植已有程序、軟件開發(fā)工程化的思想。人們想到像使用通用計算機(jī)平臺一樣,使應(yīng)用程序從硬件的關(guān)聯(lián)中脫離出來,把硬件驅(qū)動交給專用的程序來完成,同時還需要降低程序間的耦合度、解決程序之間相互通信問題,這工作都可以由操
51、作系統(tǒng)來完成。 使用嵌入式操作系統(tǒng)的必要性首先,嵌入式操作系統(tǒng)的應(yīng)用提高了系統(tǒng)的可靠性。 其次,提高了開發(fā)效率,縮短了開發(fā)周期。 再次,嵌入式實(shí)時操作系統(tǒng)為了并發(fā)執(zhí)行程序提供了可能,充分挖掘了CPU特別是高性能CPU的潛能。 從某種意義上說,沒有操作系統(tǒng)的計算機(jī)(裸機(jī))是沒有用的。在嵌入式應(yīng)用中,只有把CPU嵌入到系統(tǒng)中,同時又把操作系統(tǒng)嵌入進(jìn)去,才是真正的計算機(jī)嵌入式應(yīng)用。開發(fā)人員一旦使用操作系統(tǒng),就會對操作系統(tǒng)產(chǎn)生很大的依賴型。 使用嵌入式實(shí)時操作系統(tǒng)最大的缺點(diǎn)是增加了額外的 ROM/RAM 開銷, 25% 的 CPU 額外負(fù)荷,以及內(nèi)核的費(fèi)用。 嵌入式操作系統(tǒng)的特點(diǎn)(1)體積?。?)實(shí)時
52、性強(qiáng)(3)可剪裁(4)可靠性高(5)特殊的開發(fā)調(diào)試環(huán)境 1.4.5 嵌入式操作系統(tǒng)的分類 嵌入式操作系統(tǒng)總數(shù)超過150個國外嵌入式操作系統(tǒng)已經(jīng)從簡單走向成熟國內(nèi)嵌入式操作系統(tǒng)的研究開發(fā)有2種類型一類是基于國外操作系統(tǒng)二次開發(fā)完成的,如海信的基于Windows CE的機(jī)頂盒系統(tǒng);另一類是中國自主開發(fā)的嵌入式操作系統(tǒng),如凱思集團(tuán)公司自主開發(fā)的嵌入式操作系統(tǒng)Hopen OS(女媧計劃)、北京科銀京成技術(shù)有限公司開發(fā)的道系統(tǒng)(DeltaOS)等。 1.4.5 嵌入式操作系統(tǒng)的分類從嵌入式系統(tǒng)的應(yīng)用來分類面向低端設(shè)備的嵌入式操作系統(tǒng)低端設(shè)備如各種工業(yè)控制系統(tǒng)、計算機(jī)外設(shè)、民用消費(fèi)品的微波爐、洗衣機(jī)、冰箱
53、等,其典型的操作系統(tǒng)是COS-。面向高端設(shè)備的嵌入式操作系統(tǒng)兩類。高端設(shè)備如信息化家電、掌上電腦、機(jī)頂盒、WAP手機(jī)、路由器,常用的操作系統(tǒng)有Windows CE、Linux等。1.4.5 嵌入式操作系統(tǒng)的分類從嵌入式操作系統(tǒng)的專業(yè)化程序來分類專用型嵌入式操作系統(tǒng)兩類。常用的專用型嵌入式操作系統(tǒng)有Smart Phone、Pocket PC、Symbian等。通用型嵌入式操作系統(tǒng)常見的通用型嵌入式操作系統(tǒng)有Linux、VxWorks、Windows CE、COS-等。1.4.5 嵌入式操作系統(tǒng)的分類按實(shí)時性要求來分類強(qiáng)(硬)實(shí)時性嵌入式操作系統(tǒng)強(qiáng)實(shí)時嵌入式操作系統(tǒng)主要面向控制、通信等領(lǐng)域。如Wi
54、ndRiver公司的VxWorks、ISI的pSOS、QNX系統(tǒng)軟件公司的QNX、ATI的Nucleus等。弱(軟)實(shí)時性嵌入式操作系統(tǒng)兩類。弱實(shí)時嵌入式操作系統(tǒng)主要面向消費(fèi)類電子產(chǎn)品。這類產(chǎn)品包括PDA、移動電話、機(jī)頂盒、電子書、WebPhone等。如微軟面向手機(jī)應(yīng)用的Smart Phone操作系統(tǒng)。 1.4.6 通用操作系統(tǒng)與嵌入式操作系統(tǒng)的區(qū)別 作為操作系統(tǒng)的一個分支,嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn),但它們的區(qū)別也是很明顯的,主要表現(xiàn)在設(shè)計目標(biāo)不同、調(diào)度原則不同、運(yùn)行環(huán)境不同、實(shí)時特性不同、交互性和穩(wěn)定性不同等幾個方面。 1設(shè)計目標(biāo)不同通用操作系統(tǒng)的設(shè)計目標(biāo)是追求最大的吞吐率、
55、強(qiáng)調(diào)系統(tǒng)整體性能最佳。通用操作系統(tǒng)多數(shù)由分時操作系統(tǒng)發(fā)展而來,大部分支持多用戶和多進(jìn)程。而分時操作系統(tǒng)的基本設(shè)計目標(biāo)是:盡量縮短系統(tǒng)平均響應(yīng)時間,提高系統(tǒng)的吞吐率,在單位時間內(nèi)為盡可能多的用戶提供服務(wù)。通用操作系統(tǒng)中采用的很多算法和策略技巧都體現(xiàn)了這種設(shè)計原則。但也因此喪失了系統(tǒng)行為的可確定性和可預(yù)測性。嵌入式操作系統(tǒng)除了要滿足應(yīng)用的功能需求外,更注重的是滿足應(yīng)用的各種實(shí)時性要求。而實(shí)時性目標(biāo)是采用各種算法和策略,始終保證系統(tǒng)行為的可預(yù)測性??深A(yù)測性是指在系統(tǒng)運(yùn)行的任何時刻、任何情況下,嵌入式操作系統(tǒng)都能為爭奪資源(包括CPU、內(nèi)存、網(wǎng)絡(luò)帶寬等)的多個實(shí)時任務(wù)合理地分配資源,使每個實(shí)時任務(wù)的實(shí)
56、時性要求都能得到滿足。系統(tǒng)行為的可預(yù)測性是嵌入式操作系統(tǒng)與通用操作系統(tǒng)的根本區(qū)別。由于它們的基本設(shè)計原則不同,導(dǎo)致二者在資源調(diào)度策略的選擇上、操作系統(tǒng)實(shí)現(xiàn)的方法上都有較大差異。 1.4.6 通用操作系統(tǒng)與嵌入式操作系統(tǒng)的區(qū)別 2調(diào)度原則不同通用操作系統(tǒng)為了達(dá)到最佳整體性能,其調(diào)度原則是公平法則;嵌入式操作系統(tǒng)為了保證系統(tǒng)的實(shí)時性要求,多數(shù)采用的是基于優(yōu)先級的可剝奪的調(diào)度策略。3內(nèi)存管理機(jī)制不同通用計算機(jī)系統(tǒng)為了存儲和運(yùn)行海量程序,通常具有海量硬盤和大容量的內(nèi)存,為了高效率地運(yùn)行程序,通用操作系統(tǒng)使用了虛擬內(nèi)存的技術(shù),為用戶提供一個功能強(qiáng)大的虛擬機(jī),但因虛存機(jī)制引起的缺頁掉頁現(xiàn)象會給系統(tǒng)帶來不確
57、定性。嵌入式系統(tǒng)一般沒有硬盤,操作系統(tǒng)和應(yīng)用程序大多一起固化在ROM中,內(nèi)存資源也很有限,因此嵌入式實(shí)時操作系統(tǒng)很少或有限地使用虛存技術(shù)。 1.4.6 通用操作系統(tǒng)與嵌入式操作系統(tǒng)的區(qū)別 4穩(wěn)定性及交互性不同從硬件環(huán)境上看,通用操作系統(tǒng)針對的通用計算機(jī)系統(tǒng),具有標(biāo)準(zhǔn)化的CPU、存儲和I/O架構(gòu)。為了最大限度的兼容各種軟硬件產(chǎn)品,通用操作系統(tǒng)一般都要求面面俱到、具有廣泛的適應(yīng)性,通用操作系統(tǒng)通過屏蔽底層資源,為開發(fā)者提供一系列標(biāo)準(zhǔn)系統(tǒng)調(diào)用來使用操作系統(tǒng),所以通用操作系統(tǒng)一般都具有人機(jī)友好的開發(fā)界面。而嵌入式操作系統(tǒng)的硬件資源則相對比較苛刻,通常沒有標(biāo)準(zhǔn)化的存儲、I/O和顯示器架構(gòu),內(nèi)存容量一般都
58、比較小,能源供給常常也很有限,要在如此緊張的資源下完成復(fù)雜的功能,就要求操作系統(tǒng)必須盡量小巧、高效。而且對于嵌入式系統(tǒng)的開發(fā)者來說,通常都能夠掌握系統(tǒng)的全部資源,具有自主進(jìn)行控制使用全部資源的能力,所以嵌入式操作系統(tǒng)一般不提供、也無需提供開發(fā)界面。即使提供用戶界面,嵌入式操作系統(tǒng)的用戶接口一般也不提供操作命令,它通過系統(tǒng)的調(diào)用命令向用戶程序提供服務(wù),控制邏輯相對固定。嵌入式系統(tǒng)的工作過程是在高度自動化和高度專業(yè)化的前提下完成的,通常很少出現(xiàn)有人工干預(yù)的情況,這就要求負(fù)責(zé)系統(tǒng)管理的嵌入式操作系統(tǒng)具有較強(qiáng)的穩(wěn)定性。 1.4.6 通用操作系統(tǒng)與嵌入式操作系統(tǒng)的區(qū)別 5實(shí)時性不同通用操作系統(tǒng)一般是根據(jù)
59、用戶利用鍵盤和鼠標(biāo)發(fā)出的命令來進(jìn)行工作的,在時序上并不十分嚴(yán)格而嵌入式操作系統(tǒng)主要是對儀器設(shè)備的動作進(jìn)行監(jiān)測控制,有很大一部分都具有嚴(yán)格的時序要求,特別是在像航空航天器那樣的關(guān)鍵任務(wù)系統(tǒng)中,實(shí)時性的要求可能達(dá)到微秒量級,在這樣的應(yīng)用環(huán)境中,非實(shí)時的通用操作系統(tǒng)無法勝任。 1.4.6 通用操作系統(tǒng)與嵌入式操作系統(tǒng)的區(qū)別 1.5 初識C/OS-操作系統(tǒng)1992年美國人Jean Labrosse編寫適合于小巧控制器的嵌入式實(shí)時操作系統(tǒng),應(yīng)用面覆蓋了諸多領(lǐng)域,如照相機(jī)、醫(yī)療器械、音響設(shè)備、發(fā)動機(jī)控制、航空器、高速公路電話系統(tǒng)、自動提款機(jī)等是指micro;C是指control2000年下半年,中國電力出
60、版社購得C/OS-一書中譯本的版權(quán),譯者是清華大學(xué)教授紹貝貝先生和他的研究生們。C/OS-一進(jìn)入中國,就受到了中國嵌入式系統(tǒng)工程師、高校師生的極大關(guān)注。C/OS-是專門為單片機(jī)嵌入式系統(tǒng)應(yīng)用而設(shè)計的主體代碼用的是標(biāo)準(zhǔn)的ANSI C語言編成,十分易于移植。目前已經(jīng)成功地移植到了四十多種CPU上了,涵蓋8位、16位、32位和64位等多種機(jī)型,其中還包括了部分DSP芯片。所有的移植范例都能從網(wǎng)站上下載,移植十分容易,有的廠商在推出嵌入式芯片的同時就提供了C/OS-的移植代碼,如Motorla的16位56800系列單片機(jī)。C/OS-有良好應(yīng)用環(huán)境和相當(dāng)大的應(yīng)用群體。在現(xiàn)在中國的嵌入式領(lǐng)域,幾乎到處都可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 說課模板及框架圖
- 人教部編版四年級語文上冊第20課《陀螺》精美課件
- 算法設(shè)計與分析 課件 5.5.1-動態(tài)規(guī)劃應(yīng)用-矩陣連乘-問題描述和分析
- 2024年伊春客運(yùn)從業(yè)資格證理論考試題
- 2024年呼和浩特客運(yùn)資格考試考題題庫答案
- 2024年河池客運(yùn)資格證考試試題模擬
- 吉首大學(xué)《教師綜合素質(zhì)強(qiáng)化》2021-2022學(xué)年第一學(xué)期期末試卷
- 吉首大學(xué)《程序設(shè)計基礎(chǔ)實(shí)驗(yàn)》2021-2022學(xué)年期末試卷
- 《機(jī)床夾具設(shè)計》試卷22
- 吉林藝術(shù)學(xué)院《藝術(shù)專題策劃》2021-2022學(xué)年第一學(xué)期期末試卷
- 分包單位資格報審表-填寫模板
- 城市經(jīng)濟(jì)學(xué)習(xí)題與答案
- 馬工程《馬克思主義發(fā)展史》課后習(xí)題答案
- 《培養(yǎng)良好的衛(wèi)生習(xí)慣》主題班會(30張)課件
- 1到50帶圈數(shù)字直接復(fù)制
- 醫(yī)學(xué)學(xué)員溝通和接診能力面試評分表
- 創(chuàng)業(yè)指導(dǎo)師培訓(xùn)計劃
- 幼兒園中班數(shù)學(xué)《有趣的圖形》課件
- 四年級上冊數(shù)學(xué)課件-4.6 整數(shù)的四則運(yùn)算(運(yùn)算定律)▏滬教版 (共15張PPT)
- 《飼料標(biāo)簽》國標(biāo)
- DB11-415-2016危險貨物道路運(yùn)輸安全技術(shù)要求
評論
0/150
提交評論