第二章 嵌入式系統(tǒng)和嵌入式實(shí)時(shí)操作系統(tǒng)_第1頁(yè)
第二章 嵌入式系統(tǒng)和嵌入式實(shí)時(shí)操作系統(tǒng)_第2頁(yè)
第二章 嵌入式系統(tǒng)和嵌入式實(shí)時(shí)操作系統(tǒng)_第3頁(yè)
第二章 嵌入式系統(tǒng)和嵌入式實(shí)時(shí)操作系統(tǒng)_第4頁(yè)
第二章 嵌入式系統(tǒng)和嵌入式實(shí)時(shí)操作系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二章嵌入式系統(tǒng)

和嵌入式實(shí)時(shí)操作系統(tǒng)2.1嵌入式系統(tǒng)2.2實(shí)時(shí)操作系統(tǒng)2.3嵌入式實(shí)時(shí)操作系統(tǒng)2.1嵌入式系統(tǒng)為了區(qū)別于原有的通用計(jì)算機(jī)系統(tǒng),人們把嵌入到對(duì)象體系中,為實(shí)現(xiàn)對(duì)象體系智能化控制的計(jì)算機(jī)系統(tǒng),稱做嵌入式計(jì)算機(jī)系統(tǒng),簡(jiǎn)稱嵌入式系統(tǒng)在人們的日常生活中隨時(shí)都可看到嵌入式系統(tǒng)的應(yīng)用:自動(dòng)駕駛儀或發(fā)動(dòng)機(jī)狀態(tài)監(jiān)測(cè)系統(tǒng)洗衣機(jī)中提供不同的洗滌模式安裝到音像設(shè)備中可以獲得高保真的音響和影像等導(dǎo)航設(shè)備工業(yè)自動(dòng)化儀表工業(yè)流水線控制嵌入式系統(tǒng)常用芯片嵌入式系統(tǒng)的特點(diǎn):專用性強(qiáng)嵌入式系統(tǒng)通常是面向某個(gè)特定應(yīng)用的,所以它的硬件和軟件(尤其是軟件),都是為特定用戶群來(lái)設(shè)計(jì)的,具有專用性的特點(diǎn)。實(shí)時(shí)性好目前的嵌入式系統(tǒng)或多或少都具備實(shí)時(shí)性。在硬件極少使用存取速度慢的磁盤等存儲(chǔ)器;在軟件上需精心設(shè)計(jì),使系統(tǒng)能夠快速響應(yīng)外部事件。可裁剪性好為了使嵌入式系統(tǒng)產(chǎn)品在通用和專用之間達(dá)到某種平衡,把嵌入式系統(tǒng)硬件和操作系統(tǒng)設(shè)計(jì)成可裁剪的,以便使嵌入式系統(tǒng)開發(fā)人員根據(jù)實(shí)際應(yīng)用需要來(lái)量體裁衣,去除冗余,從而使系統(tǒng)在滿足應(yīng)用要求的前提下達(dá)到最精簡(jiǎn)的配置??煽啃愿咔度胧较到y(tǒng)通常應(yīng)用在涉及產(chǎn)品質(zhì)量、人身設(shè)備安全、國(guó)家機(jī)密等重大場(chǎng)合,所以與普通系統(tǒng)相比較,對(duì)嵌入式系統(tǒng)可靠性的要求極高功耗低有很多嵌入式系統(tǒng)的宿主對(duì)象都是一些小型應(yīng)用系統(tǒng),例如移動(dòng)電話、MP3、數(shù)碼相機(jī)等,這些設(shè)備不可能配備容量較大的電源,因此低功耗一直是嵌入式系統(tǒng)追求的目標(biāo)。通常嵌入式系統(tǒng)中的軟件及數(shù)據(jù)一般不存儲(chǔ)于磁盤等載體中,而大多存儲(chǔ)在EPROM、EEPROM或閃存(FlashMemory)中2.2實(shí)時(shí)操作系統(tǒng)2.2.1實(shí)時(shí)系統(tǒng)及其特點(diǎn)1、什么是實(shí)時(shí)系統(tǒng)實(shí)例1在艦船的頭部通常裝有用來(lái)發(fā)現(xiàn)礁石的聲納,以避免發(fā)生觸礁事故。現(xiàn)用一個(gè)計(jì)算機(jī)系統(tǒng)接收并處理聲納信號(hào),處理結(jié)果用來(lái)控制舵機(jī)的動(dòng)作若聲納發(fā)現(xiàn)礁石,此時(shí)艦船將在10min后與礁石相撞;而舵機(jī)完成合理的規(guī)避動(dòng)作需要8min,則留給計(jì)算機(jī)系統(tǒng)用來(lái)計(jì)算和控制舵機(jī)做出合理動(dòng)作所需的時(shí)間就不能超過(guò)2min,并且應(yīng)保證計(jì)算結(jié)果正確無(wú)誤必須在有限的時(shí)間內(nèi)獲得正確結(jié)果實(shí)時(shí)系統(tǒng)的定義:①能及時(shí)響應(yīng)外部事件的請(qǐng)求②能在一個(gè)規(guī)定的時(shí)間內(nèi)完成對(duì)事件的處理兩個(gè)基本要求:①實(shí)時(shí)系統(tǒng)必須產(chǎn)生正確的計(jì)算結(jié)果,稱為邏輯或功能正確(LogicalorFunctionalCorrectness)②實(shí)時(shí)系統(tǒng)的計(jì)算必須在預(yù)定的時(shí)間內(nèi)完成,稱為時(shí)間正確(TimingCorrectness)實(shí)時(shí)→及時(shí)→動(dòng)作快→動(dòng)作需快到什么程度?需要具體問(wèn)題具體分析實(shí)例2用來(lái)生產(chǎn)鋼板的軋鋼機(jī)系統(tǒng)鋼板的厚度由軋輥之間的縫隙決定設(shè)被軋制的鋼板以20m/s的速度通過(guò)軋輥的輥縫,當(dāng)鋼板測(cè)厚儀發(fā)現(xiàn)鋼板不滿足厚度的質(zhì)量要求時(shí),需要用100ms的時(shí)間來(lái)控制輥縫,那么這個(gè)控制系統(tǒng)的響應(yīng)速度是否及時(shí)呢?如鋼板的總長(zhǎng)度為100m,并要求廢品率不超過(guò)3%,則系統(tǒng)合格,是實(shí)時(shí)系統(tǒng)若要求廢品率不超過(guò)1%,則系統(tǒng)不合格2、實(shí)時(shí)系統(tǒng)的特點(diǎn)通常,把必須在有限時(shí)間內(nèi)完成的任務(wù)叫做實(shí)時(shí)任務(wù),用來(lái)完成實(shí)時(shí)任務(wù)的系統(tǒng)就是實(shí)時(shí)系統(tǒng)實(shí)時(shí)任務(wù)具有確切的完成期限時(shí)間要求嚴(yán)格的稱為硬實(shí)時(shí)系統(tǒng);要求不嚴(yán)格的稱為軟實(shí)時(shí)系統(tǒng)實(shí)時(shí)任務(wù)的活動(dòng)是不可逆的實(shí)時(shí)任務(wù)大多由外部事件激活的用來(lái)完成實(shí)時(shí)任務(wù)的計(jì)算機(jī)系統(tǒng)叫做實(shí)時(shí)計(jì)算機(jī)系統(tǒng)

在實(shí)時(shí)計(jì)算機(jī)系統(tǒng)中配備的能滿足實(shí)時(shí)任務(wù)需要的操作系統(tǒng)叫做實(shí)時(shí)操作系統(tǒng)2.2.2計(jì)算機(jī)實(shí)時(shí)操作系統(tǒng)1、實(shí)時(shí)操作系統(tǒng)目前用來(lái)保證系統(tǒng)實(shí)時(shí)性的主要是軟件,特別是操作系統(tǒng)。實(shí)時(shí)操作系統(tǒng)的設(shè)計(jì)應(yīng)盡量滿足5個(gè)條件:①實(shí)時(shí)操作系統(tǒng)必須是多任務(wù)系統(tǒng)多任務(wù)系統(tǒng)把一個(gè)大的應(yīng)用程序分成相對(duì)獨(dú)立的多個(gè)任務(wù)來(lái)完成,給應(yīng)用程序的設(shè)計(jì)和維護(hù)提供了極大的方便。同時(shí),這種組織方式特別適合用外部事件來(lái)激活②實(shí)時(shí)操作系統(tǒng)的內(nèi)核應(yīng)該是可剝奪型的調(diào)度器能以強(qiáng)硬的方式獲得處理器使用權(quán)并分配給另外的進(jìn)程。系統(tǒng)中的每個(gè)進(jìn)程都有一個(gè)表示其緊急程度的優(yōu)先級(jí)別,調(diào)度器根據(jù)優(yōu)先級(jí)別來(lái)決定是否要?jiǎng)儕Z當(dāng)前進(jìn)程的處理器使用權(quán)。③進(jìn)程調(diào)度的延時(shí)可預(yù)測(cè)并盡可能小該延時(shí)指的是調(diào)度器進(jìn)行任務(wù)切換時(shí)所需要的時(shí)間。該時(shí)間必須是可預(yù)知的,即調(diào)度器所用的時(shí)間不能受其他因素(例如任務(wù)數(shù)目)的影響。調(diào)度時(shí)間是否可預(yù)測(cè)主要取決于調(diào)度算法。④系統(tǒng)提供的服務(wù)時(shí)間可預(yù)知實(shí)時(shí)操作系統(tǒng)提供的所有服務(wù)的運(yùn)行時(shí)間必須是可預(yù)知的,至少要有一個(gè)最壞界限⑤中斷延時(shí)盡可能小首先處理器不是隨時(shí)都可以響應(yīng)中斷申請(qǐng)的。處理器關(guān)閉中斷時(shí)不能響應(yīng)中斷申請(qǐng);處理器在正在執(zhí)行一條指令時(shí)也不能響應(yīng)中斷申請(qǐng)。

外部事件(發(fā)出中斷申請(qǐng))處理器(系統(tǒng)內(nèi)核接受該請(qǐng)求并做出中斷響應(yīng))從請(qǐng)求發(fā)出到中斷被響應(yīng)所經(jīng)歷的時(shí)間稱為中斷延時(shí)有哪些因素影響中斷延時(shí)的大小?當(dāng)具有高優(yōu)先級(jí)別的中斷請(qǐng)求(通常對(duì)應(yīng)于更緊急的實(shí)時(shí)任務(wù))出現(xiàn)時(shí),若處理器正處于關(guān)閉中斷狀態(tài),則該中斷不會(huì)被響應(yīng)。這對(duì)于緊急任務(wù)來(lái)說(shuō)就是一個(gè)延時(shí),低級(jí)中斷服務(wù)程序關(guān)閉中斷時(shí)間越長(zhǎng),這段延時(shí)也就越長(zhǎng),對(duì)緊急任務(wù)的及時(shí)處理就越不利。如何解決:例Linux系統(tǒng)把中斷服務(wù)程序分為前后兩部分,把必須在關(guān)中斷狀態(tài)進(jìn)行的任務(wù)放在前半部分并使其盡可能短,而把大多數(shù)工作放在了中斷開放的后半部分調(diào)度器引起的調(diào)度延時(shí)會(huì)反映到中斷延時(shí)中,從而影響中斷延時(shí)的大小,因?yàn)橹袛嗟姆?wù)有時(shí)是用一個(gè)進(jìn)程來(lái)完成的。調(diào)度延時(shí)由兩部分組成:一部分是調(diào)度器在調(diào)度工作時(shí)所必須耗費(fèi)的時(shí)間(可明確大小);一部分是調(diào)度器等待調(diào)度所需要的時(shí)間(不可明確大小)。在操作系統(tǒng)中,在中斷過(guò)程中是不允許進(jìn)程調(diào)度的,中斷的優(yōu)先權(quán)是大于所有進(jìn)程的。即調(diào)度器只能等待所有中斷服務(wù)都結(jié)束之后才能進(jìn)行進(jìn)程調(diào)度。如果中斷嵌套層次很多,這個(gè)延時(shí)的長(zhǎng)度就很可觀了!這種延時(shí)的可預(yù)測(cè)性極差,是設(shè)計(jì)實(shí)時(shí)系統(tǒng)的難點(diǎn)之一造成中斷延時(shí)的因素還有DMA(直接內(nèi)存訪問(wèn)DirectMemoryAccess,是一種不經(jīng)過(guò)CPU而直接從內(nèi)存存取數(shù)據(jù)的數(shù)據(jù)交換模式,可減輕CPU占有率,節(jié)省系統(tǒng)資源)DMA也是一種中斷,只不過(guò)它向處理器請(qǐng)求的是總線的控制權(quán),而不是處理器。所以,在DMA控制期間,由于處理器要把總線控制權(quán)讓給DMA而失去總線控制權(quán),盡管處理器還可以做一些不使用總線的工作,但不能馬上響應(yīng)來(lái)自總線的外部中斷請(qǐng)求,因此也會(huì)造成較大的中斷延時(shí)。在實(shí)時(shí)系統(tǒng)中是否以及如何使用DMA技術(shù),在設(shè)計(jì)系統(tǒng)時(shí)要慎重考慮。一般在實(shí)時(shí)性要求較高的硬實(shí)時(shí)系統(tǒng)中不使用DMA技術(shù)實(shí)時(shí)計(jì)算機(jī)系統(tǒng)最好采用RISC指令系統(tǒng)。兩個(gè)原因:一是RISC指令系統(tǒng)的指令執(zhí)行時(shí)間比CISC系統(tǒng)指令短得多,所以指令執(zhí)行時(shí)間所引起的中斷延時(shí)也會(huì)小得多;二是在CISC指令系統(tǒng)中,指令的執(zhí)行時(shí)間極不均勻,短的指令只需要幾個(gè)時(shí)鐘脈沖,長(zhǎng)的指令需要幾十個(gè)脈沖才能完成,這就給程序模塊執(zhí)行時(shí)間的預(yù)測(cè)帶來(lái)了困難,使之難于滿足實(shí)時(shí)系統(tǒng)執(zhí)行時(shí)間可預(yù)測(cè)的要求。CISC復(fù)雜指令系統(tǒng):指令種類多、指令格式不規(guī)范、尋址方式多RISC精簡(jiǎn)指令系統(tǒng):從復(fù)雜指令集中精簡(jiǎn)出來(lái)的,只包含處理器經(jīng)常使用的指令,具有簡(jiǎn)單高效的特點(diǎn)。對(duì)不常用的處理器功能,常通過(guò)組合指令來(lái)完成2、實(shí)時(shí)調(diào)度為了使內(nèi)核是可剝奪型的,實(shí)時(shí)操作系統(tǒng)的調(diào)度器必須采用基于優(yōu)先級(jí)的調(diào)度算法。代表性的實(shí)時(shí)調(diào)度算法介紹:①單調(diào)速率RM(Rate-Monotonic)算法是一種典型的靜態(tài)優(yōu)先級(jí)調(diào)度算法,主要用來(lái)處理周期性實(shí)時(shí)進(jìn)程。凡是執(zhí)行周期越短、執(zhí)行頻度越高的進(jìn)程,其緊急程度越高,優(yōu)先級(jí)別越高;反之其緊急程度越低,優(yōu)先級(jí)別越低令進(jìn)程的優(yōu)先級(jí)別為prio(取整數(shù))(其中k為比例系數(shù);T為進(jìn)程的周期)設(shè)進(jìn)程延時(shí)表示為τ,則進(jìn)程延時(shí)的嚴(yán)重程度為:τ/T(嚴(yán)重程度越高,優(yōu)先級(jí)別越高)例題:一個(gè)事件發(fā)生的周期T=200ms,一般需要運(yùn)行50ms才完畢,按單調(diào)速率算法確定該進(jìn)程的優(yōu)先級(jí)別答:如果取k=1,則prio=k/T=5工業(yè)鍋爐壓力和溫度數(shù)據(jù)采集處理系統(tǒng)壓力的波動(dòng)比較頻繁溫度的變化相對(duì)較為緩慢為了能及時(shí)反映這兩個(gè)參數(shù)的變化壓力參數(shù)的檢測(cè)周期比溫度參數(shù)的檢測(cè)周期小得多※負(fù)責(zé)處理壓力參數(shù)的實(shí)時(shí)進(jìn)程的優(yōu)先度級(jí)別高※負(fù)責(zé)處理溫度參數(shù)的實(shí)時(shí)進(jìn)程的優(yōu)先度級(jí)別低②截止期限最早優(yōu)先算法算法思想,進(jìn)程截止期限(由系統(tǒng)設(shè)計(jì)者根據(jù)系統(tǒng)的實(shí)時(shí)要求給出的進(jìn)程完成的最晚時(shí)間值)越近,則這個(gè)進(jìn)程緊急程度越高,優(yōu)先級(jí)別越高,具體實(shí)施時(shí)按優(yōu)先級(jí)別來(lái)排隊(duì)例題:在系統(tǒng)中,某個(gè)事件在t=0時(shí)刻激活了三個(gè)實(shí)時(shí)進(jìn)程:進(jìn)程A、B和C,已知這三個(gè)進(jìn)程的截止期限分別為DA、DB和DC,三個(gè)進(jìn)程的運(yùn)行情況如所示進(jìn)程運(yùn)行時(shí)間進(jìn)程截止時(shí)間若事件在t=t1時(shí)刻激活這三個(gè)進(jìn)程可以想象:進(jìn)程A和進(jìn)程B均不能在截止期限完成,即出現(xiàn)時(shí)間不正確!?。、劭蛇_(dá)截止期限最早優(yōu)先算法該算法是對(duì)期限最早優(yōu)先算法的改進(jìn),其主要思想是:在調(diào)度時(shí),先觀察所有被激活的進(jìn)程里是否有進(jìn)程在該進(jìn)程的截止期限內(nèi)干不完事情的。如果有(反正干完也沒有用),該進(jìn)程就不被運(yùn)行,而去運(yùn)行那些能把工作做完的進(jìn)程。具體做法為:對(duì)就緒隊(duì)列中的所有進(jìn)程,仍按截止期限來(lái)確定優(yōu)先級(jí)別;然后在激活進(jìn)程的事件到來(lái)時(shí)和調(diào)度時(shí),根據(jù)下式判斷是否會(huì)有進(jìn)程按照原來(lái)確定的優(yōu)先級(jí)超出該進(jìn)程的截止期限,如果有則取消該進(jìn)程,其他進(jìn)程的優(yōu)先級(jí)別不變。d:進(jìn)程的截止裕度D:進(jìn)程的截止期限t1:系統(tǒng)當(dāng)前時(shí)間E:估算的進(jìn)程運(yùn)行時(shí)間d>0:意味著該進(jìn)程在截止期限到來(lái)之前可以運(yùn)行完畢,即其計(jì)算結(jié)果時(shí)間正確,這種進(jìn)程叫做截止期限可達(dá)的進(jìn)程

d<0:截止期限不可達(dá)的進(jìn)程×④最小裕度算法使用進(jìn)程的截止裕度d來(lái)確定進(jìn)程的優(yōu)先級(jí)別:截止裕度d小的進(jìn)程,優(yōu)先級(jí)別高截止裕度d大的進(jìn)程,優(yōu)先級(jí)別低4、實(shí)時(shí)進(jìn)程的可調(diào)度性所謂實(shí)時(shí)進(jìn)程的可調(diào)度性,指多個(gè)實(shí)時(shí)進(jìn)程是否可經(jīng)過(guò)適當(dāng)?shù)恼{(diào)度使它們都能正確地完成工作。①對(duì)于使用單調(diào)速率算法的周期性進(jìn)程集,若滿足下列條件:則這個(gè)進(jìn)程集被稱為是可調(diào)度的例題:有三個(gè)同時(shí)發(fā)生的周期型進(jìn)程,進(jìn)程1、進(jìn)程2和進(jìn)程3,這三個(gè)進(jìn)程的周期分別為P1=70ms、P2=80ms和P3=30ms,它們完成任務(wù)所需的時(shí)間分別為C1=20ms、C2=15ms和C3=10ms。試判斷該進(jìn)程集是否為可調(diào)度的?答:

不滿足要求,所以題目中的三個(gè)進(jìn)程是不可調(diào)度的②對(duì)于使用截止期優(yōu)先算法或最小裕度算法的周期性進(jìn)程集,若滿足下列條件:則這個(gè)進(jìn)程集被稱為是可調(diào)度的例題:有三個(gè)同時(shí)發(fā)生的周期型進(jìn)程,進(jìn)程1、進(jìn)程2和進(jìn)程3,這三個(gè)進(jìn)程的周期分別為P1=70ms、P2=80ms和P3=30ms,它們完成任務(wù)所需的時(shí)間分別為C1=20ms、C2=15ms和C3=10ms。試判斷該進(jìn)程集是否為可調(diào)度的?答:

滿足要求,所以題目中的三個(gè)進(jìn)程是可調(diào)度的5、實(shí)時(shí)系統(tǒng)的時(shí)鐘實(shí)時(shí)時(shí)鐘是實(shí)時(shí)操作系統(tǒng)的時(shí)間基準(zhǔn),沒有實(shí)時(shí)時(shí)鐘,就沒有實(shí)時(shí)系統(tǒng)的一切活動(dòng)實(shí)際應(yīng)用中,實(shí)時(shí)時(shí)鐘是通過(guò)硬件時(shí)鐘中斷實(shí)現(xiàn)的實(shí)時(shí)時(shí)鐘是一種計(jì)時(shí)器,就像一只正常行走的鐘表實(shí)時(shí)時(shí)鐘的縮寫是RTC(Real_TimeClock)RTC是集成電路,通常稱為時(shí)鐘芯片類比時(shí)鐘的重要性6、實(shí)時(shí)系統(tǒng)的存儲(chǔ)管理工作速度高是實(shí)時(shí)系統(tǒng)的追求目標(biāo)。所以在數(shù)據(jù)的存儲(chǔ)上,實(shí)時(shí)系統(tǒng)一般不采用速度較慢的磁盤。通常是將操作系統(tǒng)、應(yīng)用程序以及必要的數(shù)據(jù)這些必須永久存儲(chǔ)的信息存放在具有“只讀”特性且讀/寫速度比較快的半導(dǎo)體存儲(chǔ)器中。在現(xiàn)有的技術(shù)水平下,比較理想的半導(dǎo)體存儲(chǔ)介質(zhì)是閃存(FlashMemory)在正常工作電壓下就可以擦除和重寫7、實(shí)時(shí)系統(tǒng)與普通系統(tǒng)的比較2.3嵌入式實(shí)時(shí)操作系統(tǒng)2.3.1什么是嵌入式實(shí)時(shí)操作系統(tǒng)嵌入式操作系統(tǒng)的特點(diǎn):微型化嵌入式系統(tǒng)芯片內(nèi)部存儲(chǔ)器的容量通常很小(1MB以內(nèi));一般也不配置外存,電源的容量較小(常常用電池甚至微型電池供電);外部設(shè)備多樣化,因而不允許嵌入式操作系統(tǒng)占用較多的資源,所以在保證應(yīng)用功能的前提下,嵌入式操作系統(tǒng)的規(guī)模越小越好實(shí)時(shí)性

要求系統(tǒng)能快速響應(yīng)事件,具有較強(qiáng)的實(shí)時(shí)性,所以嵌入式實(shí)時(shí)操作系統(tǒng)的內(nèi)核都是可剝奪型的

可裁剪性嵌入式操作系統(tǒng)運(yùn)行的硬件平臺(tái)多種多樣,所以要求嵌入式操作系統(tǒng)中提供的各個(gè)功能模塊可以讓用戶根據(jù)需要選擇使用,即要求它具有良好的可裁剪性高可靠性嵌入式系統(tǒng)廣泛應(yīng)用于重要的生產(chǎn)設(shè)備領(lǐng)域,所以要求嵌入式操作系統(tǒng)必須有極高的可靠性,對(duì)關(guān)鍵、要害的應(yīng)用還要提供必要的容錯(cuò)和防錯(cuò)措施,以進(jìn)一步提高系統(tǒng)的可靠性易移植性嵌入式操作系統(tǒng)應(yīng)可在不做大量修改的情況下能穩(wěn)定地運(yùn)行于不同的平臺(tái)由于嵌入式系統(tǒng)存儲(chǔ)器的容量較小,因此嵌入式系統(tǒng)的軟件一般只有操作系統(tǒng)和應(yīng)用軟件兩個(gè)層次2.3.2微內(nèi)核1、微內(nèi)核的客戶/服務(wù)器結(jié)構(gòu)微內(nèi)核:把內(nèi)核中應(yīng)提供的部分服務(wù)功能模塊移動(dòng)到內(nèi)核外來(lái)實(shí)現(xiàn)類比去飯店下館子有可能服務(wù)員端上來(lái)的菜是其他飯店做的菜。如果一個(gè)飯店的大部分菜肴都可以這樣來(lái)提供,那么這個(gè)飯店所占用的土地面積一定會(huì)小得多微內(nèi)核的處理思想:把內(nèi)核的某些服務(wù)模塊作為一個(gè)進(jìn)程放在內(nèi)核以外當(dāng)要求服務(wù)的進(jìn)程有服務(wù)要求時(shí),通過(guò)系統(tǒng)調(diào)用接口向內(nèi)核提出服務(wù)申請(qǐng)系統(tǒng)調(diào)用接口接收到該申請(qǐng)后,則立即通過(guò)向內(nèi)核外的服務(wù)進(jìn)程發(fā)送一個(gè)消息來(lái)啟動(dòng)這個(gè)服務(wù)進(jìn)程此時(shí)要求服務(wù)的進(jìn)程和提供服務(wù)的進(jìn)程都處在操作系統(tǒng)的用戶區(qū)層,內(nèi)核就變小了通常把要求服務(wù)的進(jìn)程叫做“客戶”,把提供服務(wù)的進(jìn)程叫做“服務(wù)器”

這種微內(nèi)核結(jié)構(gòu)叫做“客戶/服務(wù)器”結(jié)構(gòu)與進(jìn)程控制塊相關(guān)的進(jìn)程調(diào)度、進(jìn)程創(chuàng)建、進(jìn)程刪除服務(wù)必須保留在內(nèi)核中!進(jìn)程通信的管理必須保留在內(nèi)核中!中斷的管理必須保留在內(nèi)核中!注意!2、一類特殊的微內(nèi)核結(jié)構(gòu)在一些小型嵌入式實(shí)時(shí)操作系統(tǒng)中,不區(qū)分系統(tǒng)空間和用戶空間,因此這種操作系統(tǒng)的內(nèi)核沒有比較清晰的邊界,并且用戶進(jìn)程與操作系統(tǒng)的關(guān)系極為緊密。這樣的操作系統(tǒng)大多只提供進(jìn)程管理、進(jìn)程通信管理及簡(jiǎn)單的存儲(chǔ)管理,從邏輯上看這三個(gè)部分就是屬于內(nèi)核部分了。本課將要介紹的μC/OS就屬于這樣一種操作系統(tǒng)。2.3.3嵌入式實(shí)時(shí)操作系統(tǒng)的可裁剪性及其實(shí)現(xiàn)所謂操作系統(tǒng)的可裁剪性,就是一個(gè)規(guī)模大且功能齊全的操作系統(tǒng),在結(jié)構(gòu)上保證了用戶可在其中有選擇地保留某些模塊,而刪減掉一些模塊的性能操作系統(tǒng)的可裁剪性也常被叫做操作系統(tǒng)的可配置性配置方法有兩種:

在系統(tǒng)進(jìn)行編譯連接時(shí)進(jìn)行配置

在系統(tǒng)運(yùn)行時(shí)進(jìn)行配置在系統(tǒng)進(jìn)行編譯連接時(shí)進(jìn)行配置在操作系統(tǒng)中都有一個(gè)配置文件

在這個(gè)文件中系統(tǒng)的設(shè)計(jì)者可通過(guò)對(duì)一些配置常數(shù)的設(shè)置來(lái)選擇使用或不使用的模塊在對(duì)系統(tǒng)編譯連接時(shí),編譯系統(tǒng)會(huì)按配置常數(shù)的設(shè)置值對(duì)與之對(duì)應(yīng)的模塊進(jìn)行編譯或不編譯,可大大減小系統(tǒng)所占的內(nèi)存條件編譯是實(shí)現(xiàn)系統(tǒng)裁剪的有效手段前提條件:用戶要獲得待裁剪的操作系統(tǒng)的源代碼

在系統(tǒng)運(yùn)行時(shí)進(jìn)行配置依靠系統(tǒng)在初始化運(yùn)行階段執(zhí)行一些條件轉(zhuǎn)移語(yǔ)句來(lái)實(shí)現(xiàn)這些條件語(yǔ)句是根據(jù)事先由目標(biāo)系統(tǒng)開發(fā)人員編寫的配置文件中的一些參數(shù)來(lái)跳轉(zhuǎn)的實(shí)現(xiàn)了系統(tǒng)功能上的裁剪,但不是物理上的裁剪,即被裁剪的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論