




已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
嵌入式操作系統(tǒng)基礎(chǔ)培訓(xùn),日期:2019年7月9日,版次:v1.0,培訓(xùn)內(nèi)容,嵌入式操作系統(tǒng)基本概念 vxWorks操作系統(tǒng)介紹 運行支撐MAP和IAP簡介,培訓(xùn)內(nèi)容,嵌入式操作系統(tǒng)基本概念,實時計算機(jī)系統(tǒng),實時計算機(jī)系統(tǒng) 簡稱為實時系統(tǒng)(real-time system),指能夠在確定和限定的時間內(nèi)執(zhí)行其功能并對外部的異步事件作出響應(yīng)的計算機(jī)系統(tǒng)。 三個衡量指標(biāo): 響應(yīng)時間(Response Time) 生存時間(Survival Time) 吞吐量(Throughput),實時操作系統(tǒng),實時多任務(wù)操作系統(tǒng) (Real Time Operating System) 對規(guī)模較大的實時系統(tǒng),需要使用實時多任務(wù)操 作系統(tǒng)來加以管理。實時操作系統(tǒng)是指具有實時 性,能支持實時控制系統(tǒng)工作的操作系統(tǒng)。重要 特點是要滿足對時間的限制和要求。 實時操作系統(tǒng)可以分為: 一般實時操作系統(tǒng) 嵌入式實時操作系統(tǒng),嵌入式系統(tǒng),嵌入式系統(tǒng) (Embedded System):以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積和功耗嚴(yán)格要求的專用計算機(jī)系統(tǒng)。 交叉開發(fā)“宿主機(jī)/目標(biāo)機(jī)”方式,嵌入式實時操作系統(tǒng),嵌入式實時操作系統(tǒng)具備了實時操作系統(tǒng)和嵌入式系統(tǒng)的特征。即采用的是交叉開發(fā)的方式,同時要滿足實時操作系統(tǒng)對時間的限制和要求。 常用的商用實時操作系統(tǒng) 1.Tornado/VxWorks 2.pSOSystem 3.WindowsCE,任務(wù),任務(wù)(task) RTOS的任務(wù)是由計算機(jī)所執(zhí)行的一項活動,也就是一段程序,該程序可以認(rèn)為CPU完全只屬于該程序自己。,任務(wù)(續(xù)),任務(wù)的特點: 動態(tài)性 并發(fā)性 異步獨立性 任務(wù)的狀態(tài): 運行態(tài)(Executing) 就緒態(tài)(Ready) 等待(waiting,通常又稱為掛起,suspend) 休眠(Dormant),狀態(tài)遷移圖,互斥,互斥 用于確保當(dāng)一個任務(wù)使用一個共享資源時,其它任務(wù)不能做同樣的操作的手段。 與共享資源打交道時,使之滿足互斥條件最一般的方法有: 關(guān)中斷 使用測試并置位指令 禁止做任務(wù)切換 利用信號量,同步,同步 在實時系統(tǒng)中通常幾個任務(wù)是協(xié)同工作的,需要在確定的時間里執(zhí)行各自的功能,這就產(chǎn)生同步問題。 對于單個任務(wù),所謂同步就是使它能在指定的時間執(zhí)行。一個任務(wù)可以通過系統(tǒng)調(diào)用來使自己掛起一段時間或者掛起到某一指定的時刻。 通常我們所謂的任務(wù)同步,主要是指兩個或兩個以上的任務(wù)需要協(xié)調(diào)執(zhí)行的情況。實現(xiàn)同步主要有兩種方式:信號量和事件。,任務(wù)間通信,任務(wù)間通信主要有兩種途徑 共享數(shù)據(jù)結(jié)構(gòu) -全局變量 -緩沖區(qū)數(shù)據(jù)結(jié)構(gòu) 發(fā)消息給另一個任務(wù) -郵箱 -消息隊列,中斷,中斷處理 中斷是一種硬件機(jī)制,用于通知CPU有個異步事件發(fā)生了。異步事件是指無一定時序關(guān)系的隨機(jī)發(fā)生的事件。中斷一旦被識別,CPU就保存部分(或全部)上下文,即部分或全部寄存器值,跳轉(zhuǎn)到專門的子程序,稱為中斷服務(wù)子程序(ISR)。中斷服務(wù)子程序做事件處理,處理完成后,程序回到: 在前后臺系統(tǒng)中,程序回到后臺程序 對非搶占內(nèi)核,程序回到被中斷的任務(wù) 對搶占內(nèi)核,讓進(jìn)入就緒態(tài)的優(yōu)先級最高的任務(wù)開始運行,時鐘節(jié)拍,時鐘節(jié)拍 在實時系統(tǒng)中,一般不能缺少實時時鐘,它是實時軟件運行的必不可少的硬件設(shè)施。 實時時鐘單純地提供一個規(guī)則的脈沖序列,脈沖之間的間隔可以作為系統(tǒng)的時間基準(zhǔn)稱為時基,時基的大小代表了實時時鐘的精度,這個精度取決于系統(tǒng)的要求。 軟時鐘方法 硬件所做的工作,死鎖,死鎖 若一個進(jìn)程集合中的每一個進(jìn)程都在等待只能由本集合中的另一個進(jìn)程才能引發(fā)的事件,則這種情況被視為死鎖(deadlock)。 例:系統(tǒng)有兩個信號量,初始值都是1,任務(wù)1和任務(wù)2優(yōu)先級相同。任務(wù)1申請到信號量1,此時系統(tǒng)調(diào)度到任務(wù)2,任務(wù)2申請到了信號量2,此時,任務(wù)2又想申請信號量1,由于任務(wù)1沒有釋放而阻塞。系統(tǒng)調(diào)度任務(wù)1運行,任務(wù)1想申請信號量2,同樣由于任務(wù)2沒有釋放而阻塞。這樣一來,任務(wù)1和任務(wù)2都想獲得對方占用的資源,永遠(yuǎn)都不可能繼續(xù)執(zhí)行下去,引起了死鎖。,調(diào)度策略,實時調(diào)度策略 任務(wù)調(diào)度就是從就緒狀態(tài)的任務(wù)中,挑選一個任務(wù)到處理器上運行。 常見的調(diào)度算法有: 1.先進(jìn)先出 2.短任務(wù)優(yōu)先 3.輪循調(diào)度 4.基于優(yōu)先級的搶占式調(diào)度,培訓(xùn)內(nèi)容,vxWorks操作系統(tǒng)介紹,任務(wù)的定義,代碼,上下文(context),任務(wù)上下文,內(nèi)存位置: TCB 內(nèi)容: CPU的寄存器(PC+SP+) 堆棧 I/O輸入,輸出分配的I/O。 延時定時器 時間片定時器 內(nèi)核的控制結(jié)構(gòu) 信號句柄 其它用于調(diào)試和監(jiān)控的值,任務(wù)的狀態(tài)及轉(zhuǎn)換,任務(wù)狀態(tài)轉(zhuǎn)換圖,基于優(yōu)先級可搶占調(diào)度算法,時間片輪轉(zhuǎn)調(diào)度算法,搶占禁止,taskLock() /taskUnlock () 執(zhí)行時間長 不禁止中斷 intLock()/intUnlock() 執(zhí)行時間短 會增加系統(tǒng)的中斷時延 不會關(guān)掉任務(wù)調(diào)度(semTake會調(diào)度),消息隊列,消息隊列使用注意,使用消息隊列發(fā)送和接受消息時都存在著內(nèi)存拷貝 。因此要注意效率。 如果傳遞的是指針的話要注意堆棧的問題。 注意消息隊列的大小。 中斷中可以調(diào)用msgQSend ,但必須使用NO_WAIT的方式。,二進(jìn)制信號量,二進(jìn)制信號量能夠滿足兩種類型的任務(wù)協(xié)調(diào)需要:互斥和同步。二進(jìn)制信號量需要的系統(tǒng)開銷最小,因而特別適用于高性能的需求。 二進(jìn)制信號量可以處于兩種狀態(tài):FULL態(tài)或者EMPTY態(tài)。FULL態(tài)代表信號量可用,一般量化為1;EMPTY態(tài)代表信號量不可用,對應(yīng)的量化為0。 用于互斥時信號量的初始值必須是1(FULL) 用于同步時信號量的初始值必須是0(EMPTY),互斥信號量,互斥信號量:用來解決任務(wù)的優(yōu)先級繼承、安全刪除和對資源的遞歸訪問等問題?;コ庑盘柫渴褂糜幸恍┨貏e要求: 1)它只能用于互斥 2)它只能被取走它的任務(wù)釋放,且可以嵌套調(diào)用 3)它不能被中斷服務(wù)程序使用 4)不能用semFlush()函數(shù)對它進(jìn)行操作,計數(shù)信號量,計數(shù)信號量是任務(wù)同步和互斥的另一種實現(xiàn)方式。計數(shù)信號量除了保留信號量被釋放的次數(shù)的跟蹤以外,其他功能和二進(jìn)制信號量是一樣的。每次信號量被釋放一次,計數(shù)增加1;每次信號量被占用一次,計數(shù)減少1。當(dāng)計數(shù)減少為0時,要求得到信號量的任務(wù)被阻塞。,中斷服務(wù),中斷使用注意,不能調(diào)用那些由可能引起阻塞的程序 (malloc、free、printf等) 不允許通過VxWorks的驅(qū)動來執(zhí)行其它I/O操作 浮點寄存器 (自己保存和恢復(fù)) 請注意能被中斷中調(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)存儲區(qū)域分配,固定長度的內(nèi)存池,如UB:user block 在棧上創(chuàng)建 從堆上分配,即malloc,頻繁使用會造成內(nèi)存碎片,培訓(xùn)內(nèi)容,運行支撐MAP和IAP簡介,支撐系統(tǒng)位置,系統(tǒng)位置 應(yīng)用模塊之下 系統(tǒng)層面之上,支撐系統(tǒng)作用,功能或作用 約束上層應(yīng)用(框架規(guī)范) 簡化應(yīng)用設(shè)計 屏蔽系統(tǒng)層面差異 資源控制,便于管理 輔助故障診斷,支撐系統(tǒng)組成,支撐內(nèi)核模塊 內(nèi)存管理 進(jìn)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 歷史●安徽卷丨2024年安徽省普通高中學(xué)業(yè)水平選擇性考試歷史試卷及答案
- 《ERP原理與應(yīng)用(微課版)》陳承歡成明山課后思考參考答案
- 高中生英語課堂學(xué)習(xí)投入現(xiàn)狀及其影響因素研究
- 西部志愿者試題及答案
- 北京八中2024-2025學(xué)年度第二學(xué)期第三次模擬答案
- 生物●全國甲卷丨2023年普通高等學(xué)校招生全國統(tǒng)一考試生物試卷及答案
- 建材公司風(fēng)險管理與應(yīng)急預(yù)案制定
- 2025版無限期勞動合同協(xié)議書模板
- 2025年中國臺式封口機(jī)行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 2025餐廳轉(zhuǎn)讓合同簡易模板
- 24春國家開放大學(xué)《公共關(guān)系學(xué)》形考任務(wù)1-4參考答案
- 29.4常見腫瘤標(biāo)志物講解
- 精神障礙者民事行為能力評定指南
- 游泳池安全保障制度和措施范本
- 志愿服務(wù)證明(多模板)
- 2024屆高考語文復(fù)習(xí)詩歌教考融合之《登高》(含解析)
- 中南地區(qū)工程建設(shè)標(biāo)準(zhǔn)設(shè)計建筑圖集 13ZJ301 建筑無障礙設(shè)施
- 婦科疾病的運動與體育鍛煉預(yù)防
- 2023年重慶市高考思想政治試卷真題(含答案)
- CONSORT2010流程圖(FlowDiagram)【模板】文檔
- 籃球比賽分組循環(huán)積分表
評論
0/150
提交評論