




已閱讀5頁(yè),還剩36頁(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)基礎(chǔ)培訓(xùn),日期:2019年7月9日,版次:v1.0,培訓(xùn)內(nèi)容,嵌入式操作系統(tǒng)基本概念 vxWorks操作系統(tǒng)介紹 運(yùn)行支撐MAP和IAP簡(jiǎn)介,培訓(xùn)內(nèi)容,嵌入式操作系統(tǒng)基本概念,實(shí)時(shí)計(jì)算機(jī)系統(tǒng),實(shí)時(shí)計(jì)算機(jī)系統(tǒng) 簡(jiǎn)稱為實(shí)時(shí)系統(tǒng)(real-time system),指能夠在確定和限定的時(shí)間內(nèi)執(zhí)行其功能并對(duì)外部的異步事件作出響應(yīng)的計(jì)算機(jī)系統(tǒng)。 三個(gè)衡量指標(biāo): 響應(yīng)時(shí)間(Response Time) 生存時(shí)間(Survival Time) 吞吐量(Throughput),實(shí)時(shí)操作系統(tǒng),實(shí)時(shí)多任務(wù)操作系統(tǒng) (Real Time Operating System) 對(duì)規(guī)模較大的實(shí)時(shí)系統(tǒng),需要使用實(shí)時(shí)多任務(wù)操 作系統(tǒng)來(lái)加以管理。實(shí)時(shí)操作系統(tǒng)是指具有實(shí)時(shí) 性,能支持實(shí)時(shí)控制系統(tǒng)工作的操作系統(tǒng)。重要 特點(diǎn)是要滿足對(duì)時(shí)間的限制和要求。 實(shí)時(shí)操作系統(tǒng)可以分為: 一般實(shí)時(shí)操作系統(tǒng) 嵌入式實(shí)時(shí)操作系統(tǒng),嵌入式系統(tǒng),嵌入式系統(tǒng) (Embedded System):以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積和功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。 交叉開(kāi)發(fā)“宿主機(jī)/目標(biāo)機(jī)”方式,嵌入式實(shí)時(shí)操作系統(tǒng),嵌入式實(shí)時(shí)操作系統(tǒng)具備了實(shí)時(shí)操作系統(tǒng)和嵌入式系統(tǒng)的特征。即采用的是交叉開(kāi)發(fā)的方式,同時(shí)要滿足實(shí)時(shí)操作系統(tǒng)對(duì)時(shí)間的限制和要求。 常用的商用實(shí)時(shí)操作系統(tǒng) 1.Tornado/VxWorks 2.pSOSystem 3.WindowsCE,任務(wù),任務(wù)(task) RTOS的任務(wù)是由計(jì)算機(jī)所執(zhí)行的一項(xiàng)活動(dòng),也就是一段程序,該程序可以認(rèn)為CPU完全只屬于該程序自己。,任務(wù)(續(xù)),任務(wù)的特點(diǎn): 動(dòng)態(tài)性 并發(fā)性 異步獨(dú)立性 任務(wù)的狀態(tài): 運(yùn)行態(tài)(Executing) 就緒態(tài)(Ready) 等待(waiting,通常又稱為掛起,suspend) 休眠(Dormant),狀態(tài)遷移圖,互斥,互斥 用于確保當(dāng)一個(gè)任務(wù)使用一個(gè)共享資源時(shí),其它任務(wù)不能做同樣的操作的手段。 與共享資源打交道時(shí),使之滿足互斥條件最一般的方法有: 關(guān)中斷 使用測(cè)試并置位指令 禁止做任務(wù)切換 利用信號(hào)量,同步,同步 在實(shí)時(shí)系統(tǒng)中通常幾個(gè)任務(wù)是協(xié)同工作的,需要在確定的時(shí)間里執(zhí)行各自的功能,這就產(chǎn)生同步問(wèn)題。 對(duì)于單個(gè)任務(wù),所謂同步就是使它能在指定的時(shí)間執(zhí)行。一個(gè)任務(wù)可以通過(guò)系統(tǒng)調(diào)用來(lái)使自己掛起一段時(shí)間或者掛起到某一指定的時(shí)刻。 通常我們所謂的任務(wù)同步,主要是指兩個(gè)或兩個(gè)以上的任務(wù)需要協(xié)調(diào)執(zhí)行的情況。實(shí)現(xiàn)同步主要有兩種方式:信號(hào)量和事件。,任務(wù)間通信,任務(wù)間通信主要有兩種途徑 共享數(shù)據(jù)結(jié)構(gòu) -全局變量 -緩沖區(qū)數(shù)據(jù)結(jié)構(gòu) 發(fā)消息給另一個(gè)任務(wù) -郵箱 -消息隊(duì)列,中斷,中斷處理 中斷是一種硬件機(jī)制,用于通知CPU有個(gè)異步事件發(fā)生了。異步事件是指無(wú)一定時(shí)序關(guān)系的隨機(jī)發(fā)生的事件。中斷一旦被識(shí)別,CPU就保存部分(或全部)上下文,即部分或全部寄存器值,跳轉(zhuǎn)到專門的子程序,稱為中斷服務(wù)子程序(ISR)。中斷服務(wù)子程序做事件處理,處理完成后,程序回到: 在前后臺(tái)系統(tǒng)中,程序回到后臺(tái)程序 對(duì)非搶占內(nèi)核,程序回到被中斷的任務(wù) 對(duì)搶占內(nèi)核,讓進(jìn)入就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)開(kāi)始運(yùn)行,時(shí)鐘節(jié)拍,時(shí)鐘節(jié)拍 在實(shí)時(shí)系統(tǒng)中,一般不能缺少實(shí)時(shí)時(shí)鐘,它是實(shí)時(shí)軟件運(yùn)行的必不可少的硬件設(shè)施。 實(shí)時(shí)時(shí)鐘單純地提供一個(gè)規(guī)則的脈沖序列,脈沖之間的間隔可以作為系統(tǒng)的時(shí)間基準(zhǔn)稱為時(shí)基,時(shí)基的大小代表了實(shí)時(shí)時(shí)鐘的精度,這個(gè)精度取決于系統(tǒng)的要求。 軟時(shí)鐘方法 硬件所做的工作,死鎖,死鎖 若一個(gè)進(jìn)程集合中的每一個(gè)進(jìn)程都在等待只能由本集合中的另一個(gè)進(jìn)程才能引發(fā)的事件,則這種情況被視為死鎖(deadlock)。 例:系統(tǒng)有兩個(gè)信號(hào)量,初始值都是1,任務(wù)1和任務(wù)2優(yōu)先級(jí)相同。任務(wù)1申請(qǐng)到信號(hào)量1,此時(shí)系統(tǒng)調(diào)度到任務(wù)2,任務(wù)2申請(qǐng)到了信號(hào)量2,此時(shí),任務(wù)2又想申請(qǐng)信號(hào)量1,由于任務(wù)1沒(méi)有釋放而阻塞。系統(tǒng)調(diào)度任務(wù)1運(yùn)行,任務(wù)1想申請(qǐng)信號(hào)量2,同樣由于任務(wù)2沒(méi)有釋放而阻塞。這樣一來(lái),任務(wù)1和任務(wù)2都想獲得對(duì)方占用的資源,永遠(yuǎn)都不可能繼續(xù)執(zhí)行下去,引起了死鎖。,調(diào)度策略,實(shí)時(shí)調(diào)度策略 任務(wù)調(diào)度就是從就緒狀態(tài)的任務(wù)中,挑選一個(gè)任務(wù)到處理器上運(yùn)行。 常見(jiàn)的調(diào)度算法有: 1.先進(jìn)先出 2.短任務(wù)優(yōu)先 3.輪循調(diào)度 4.基于優(yōu)先級(jí)的搶占式調(diào)度,培訓(xùn)內(nèi)容,vxWorks操作系統(tǒng)介紹,任務(wù)的定義,代碼,上下文(context),任務(wù)上下文,內(nèi)存位置: TCB 內(nèi)容: CPU的寄存器(PC+SP+) 堆棧 I/O輸入,輸出分配的I/O。 延時(shí)定時(shí)器 時(shí)間片定時(shí)器 內(nèi)核的控制結(jié)構(gòu) 信號(hào)句柄 其它用于調(diào)試和監(jiān)控的值,任務(wù)的狀態(tài)及轉(zhuǎn)換,任務(wù)狀態(tài)轉(zhuǎn)換圖,基于優(yōu)先級(jí)可搶占調(diào)度算法,時(shí)間片輪轉(zhuǎn)調(diào)度算法,搶占禁止,taskLock() /taskUnlock () 執(zhí)行時(shí)間長(zhǎng) 不禁止中斷 intLock()/intUnlock() 執(zhí)行時(shí)間短 會(huì)增加系統(tǒng)的中斷時(shí)延 不會(huì)關(guān)掉任務(wù)調(diào)度(semTake會(huì)調(diào)度),消息隊(duì)列,消息隊(duì)列使用注意,使用消息隊(duì)列發(fā)送和接受消息時(shí)都存在著內(nèi)存拷貝 。因此要注意效率。 如果傳遞的是指針的話要注意堆棧的問(wèn)題。 注意消息隊(duì)列的大小。 中斷中可以調(diào)用msgQSend ,但必須使用NO_WAIT的方式。,二進(jìn)制信號(hào)量,二進(jìn)制信號(hào)量能夠滿足兩種類型的任務(wù)協(xié)調(diào)需要:互斥和同步。二進(jìn)制信號(hào)量需要的系統(tǒng)開(kāi)銷最小,因而特別適用于高性能的需求。 二進(jìn)制信號(hào)量可以處于兩種狀態(tài):FULL態(tài)或者EMPTY態(tài)。FULL態(tài)代表信號(hào)量可用,一般量化為1;EMPTY態(tài)代表信號(hào)量不可用,對(duì)應(yīng)的量化為0。 用于互斥時(shí)信號(hào)量的初始值必須是1(FULL) 用于同步時(shí)信號(hào)量的初始值必須是0(EMPTY),互斥信號(hào)量,互斥信號(hào)量:用來(lái)解決任務(wù)的優(yōu)先級(jí)繼承、安全刪除和對(duì)資源的遞歸訪問(wèn)等問(wèn)題。互斥信號(hào)量使用有一些特別要求: 1)它只能用于互斥 2)它只能被取走它的任務(wù)釋放,且可以嵌套調(diào)用 3)它不能被中斷服務(wù)程序使用 4)不能用semFlush()函數(shù)對(duì)它進(jìn)行操作,計(jì)數(shù)信號(hào)量,計(jì)數(shù)信號(hào)量是任務(wù)同步和互斥的另一種實(shí)現(xiàn)方式。計(jì)數(shù)信號(hào)量除了保留信號(hào)量被釋放的次數(shù)的跟蹤以外,其他功能和二進(jìn)制信號(hào)量是一樣的。每次信號(hào)量被釋放一次,計(jì)數(shù)增加1;每次信號(hào)量被占用一次,計(jì)數(shù)減少1。當(dāng)計(jì)數(shù)減少為0時(shí),要求得到信號(hào)量的任務(wù)被阻塞。,中斷服務(wù),中斷使用注意,不能調(diào)用那些由可能引起阻塞的程序 (malloc、free、printf等) 不允許通過(guò)VxWorks的驅(qū)動(dòng)來(lái)執(zhí)行其它I/O操作 浮點(diǎn)寄存器 (自己保存和恢復(fù)) 請(qǐng)注意能被中斷中調(diào)用的系統(tǒng)函數(shù) (semGive,logMsg,msgQSend,intLock等),內(nèi)存劃分,LOCAL_MEM_LOCAL_ADRS到RAM_LOW_ADRS之間的空間用于存放一些與具體CPU相關(guān)的系統(tǒng)信息如中斷向量等; RAM_LOW_ADRS到FREE_RAM_ADRS之間用于存放VxWorks image(映像文件); WDB_POOL_SIZE段專供調(diào)試使用; SYSTEM MEMORY POOL與USER_RESERVED_MEM段可供用戶使用。,內(nèi)存分配方式,從靜態(tài)存儲(chǔ)區(qū)域分配,固定長(zhǎng)度的內(nèi)存池,如UB:user block 在棧上創(chuàng)建 從堆上分配,即malloc,頻繁使用會(huì)造成內(nèi)存碎片,培訓(xùn)內(nèi)容,運(yùn)行支撐MAP和IAP簡(jiǎn)介,支撐系統(tǒng)位置,系統(tǒng)位置 應(yīng)用模塊之下 系統(tǒng)層面之上,支撐系統(tǒng)作用,功能或作用 約束上層應(yīng)用(框架規(guī)范) 簡(jiǎn)化應(yīng)用設(shè)計(jì) 屏蔽系統(tǒng)層面差異 資源控制,便于管理 輔助故障診斷,支撐系統(tǒng)組成,支撐內(nèi)核模塊 內(nèi)存管理 進(jìn)
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)外遮陽(yáng)系統(tǒng)市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)反應(yīng)釜用碳化硅遠(yuǎn)紅外電加熱器市場(chǎng)調(diào)查研究報(bào)告
- 幼兒園魚文化課程故事
- DB32T 4627-2023城市隧道通風(fēng)設(shè)計(jì)標(biāo)準(zhǔn)
- 睡蓮栽植協(xié)議書模板
- 建筑鋼管租賃合同協(xié)議
- 建筑裝飾拆除合同協(xié)議
- 智慧物流技術(shù)在2025年倉(cāng)儲(chǔ)管理中的成本控制報(bào)告
- 工地保險(xiǎn)購(gòu)買合同協(xié)議
- 小商品代購(gòu)合同協(xié)議
- 土釘墻、噴錨護(hù)坡分包合同
- 軍隊(duì)系統(tǒng)反腐倡廉心得體會(huì)
- 應(yīng)急總醫(yī)院合同制康復(fù)醫(yī)學(xué)科工作人員招考聘用高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《消防器材使用教程》課件
- 《小兒靜脈穿刺》課件
- DB11-T 212-2024 園林綠化工程施工及驗(yàn)收規(guī)范
- 托盤貿(mào)易合作合同范例
- 勞動(dòng)節(jié)安全教育家長(zhǎng)會(huì)
- 品類運(yùn)營(yíng)管理
- 用工單位與勞務(wù)派遣公司合同
- 我的家鄉(xiāng)浙江衢州
評(píng)論
0/150
提交評(píng)論