




已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
嵌入式操作系統(tǒng)基礎(chǔ)培訓(xùn),日期:2019年7月9日,版次:v1.0,培訓(xùn)內(nèi)容,嵌入式操作系統(tǒng)基本概念 vxWorks操作系統(tǒng)介紹 運(yùn)行支撐MAP和IAP簡介,培訓(xùn)內(nèi)容,嵌入式操作系統(tǒng)基本概念,實(shí)時(shí)計(jì)算機(jī)系統(tǒng),實(shí)時(shí)計(jì)算機(jī)系統(tǒng) 簡稱為實(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)來加以管理。實(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)。 交叉開發(fā)“宿主機(jī)/目標(biāo)機(jī)”方式,嵌入式實(shí)時(shí)操作系統(tǒng),嵌入式實(shí)時(shí)操作系統(tǒng)具備了實(shí)時(shí)操作系統(tǒng)和嵌入式系統(tǒng)的特征。即采用的是交叉開發(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)中斷 使用測試并置位指令 禁止做任務(wù)切換 利用信號(hào)量,同步,同步 在實(shí)時(shí)系統(tǒng)中通常幾個(gè)任務(wù)是協(xié)同工作的,需要在確定的時(shí)間里執(zhí)行各自的功能,這就產(chǎn)生同步問題。 對(duì)于單個(gè)任務(wù),所謂同步就是使它能在指定的時(shí)間執(zhí)行。一個(gè)任務(wù)可以通過系統(tǒng)調(diào)用來使自己掛起一段時(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ā)生了。異步事件是指無一定時(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ù)開始運(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沒有釋放而阻塞。系統(tǒng)調(diào)度任務(wù)1運(yùn)行,任務(wù)1想申請(qǐng)信號(hào)量2,同樣由于任務(wù)2沒有釋放而阻塞。這樣一來,任務(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)行。 常見的調(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í)間長 不禁止中斷 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)存拷貝 。因此要注意效率。 如果傳遞的是指針的話要注意堆棧的問題。 注意消息隊(duì)列的大小。 中斷中可以調(diào)用msgQSend ,但必須使用NO_WAIT的方式。,二進(jìn)制信號(hào)量,二進(jìn)制信號(hào)量能夠滿足兩種類型的任務(wù)協(xié)調(diào)需要:互斥和同步。二進(jìn)制信號(hào)量需要的系統(tǒng)開銷最小,因而特別適用于高性能的需求。 二進(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)量:用來解決任務(wù)的優(yōu)先級(jí)繼承、安全刪除和對(duì)資源的遞歸訪問等問題?;コ庑盘?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等) 不允許通過VxWorks的驅(qū)動(dòng)來執(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ū)域分配,固定長度的內(nèi)存池,如UB:user block 在棧上創(chuàng)建 從堆上分配,即malloc,頻繁使用會(huì)造成內(nèi)存碎片,培訓(xùn)內(nèi)容,運(yùn)行支撐MAP和IAP簡介,支撐系統(tǒng)位置,系統(tǒng)位置 應(yīng)用模塊之下 系統(tǒng)層面之上,支撐系統(tǒng)作用,功能或作用 約束上層應(yīng)用(框架規(guī)范) 簡化應(yīng)用設(shè)計(jì) 屏蔽系統(tǒng)層面差異 資源控制,便于管理 輔助故障診斷,支撐系統(tǒng)組成,支撐內(nèi)核模塊 內(nèi)存管理 進(jìn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公自動(dòng)化設(shè)備與辦公用品整合供應(yīng)合同
- 老人護(hù)理app課件
- 翻譯形合意和說課課件
- 大二政治概論考試題型及答案
- 安全培訓(xùn)課件下載
- 施工質(zhì)量事故應(yīng)急預(yù)案
- 安全生產(chǎn)24小時(shí)領(lǐng)導(dǎo)帶班制度
- 鋼結(jié)構(gòu)安全生產(chǎn)管理制度
- 空中交通安全管理
- 生產(chǎn)安全事故評(píng)估
- 變壓器知識(shí)點(diǎn)培訓(xùn)課件
- 手術(shù)室低值耗材成本管理
- 2024年無人駕駛環(huán)衛(wèi)行業(yè)研究報(bào)告
- DB21T 3358-2020 電梯再生制動(dòng)系統(tǒng)要求及試驗(yàn)方法
- 醫(yī)療器械生產(chǎn)質(zhì)量管理規(guī)范培訓(xùn)試題及答案
- ISO45001管理體系培訓(xùn)課件
- 對(duì)賬單標(biāo)準(zhǔn)格式模板
- 初中教研員面試題目
- 2024年快遞員職業(yè)技能大賽考試題庫(含答案)
- GB/T 44353.2-2024動(dòng)物源醫(yī)療器械第2部分:來源、收集與處置的控制
- 【甲子光年】2024自動(dòng)駕駛行業(yè)報(bào)告-“端到端”漸行漸近
評(píng)論
0/150
提交評(píng)論