freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

vxworks培訓講稿(嵌入式系統(tǒng))(編輯修改稿)

2024-10-10 10:02 本頁面
 

【文章內容簡介】 合比較松散。 * * * 控制系統(tǒng) 13 中斷 傳 1, 2 BEGIN COUNT+=1。 END 定時器 display BEGIN FOR 從左到右顯示 Count。 END FOR END 真實值 存儲值 顯示值 ……… ……… ……… 9 9 xxx 9 9 0xx 9 9 0xx 10 10 000 ……… ……… ……… 發(fā)生上述錯誤的的原因是 count是一個全局變量,在程序中缺乏數據保護。 實時程序結構體的特點:正確結構必須在時間耗盡線之前被提交,理解調試復雜,錯誤代價大,分析設計要慎重;例如:大的嵌入式系統(tǒng),多任務之間有大量的耦合關系,所以實時程序結構體是一個三維系統(tǒng)。 連續(xù)程序結構體、并行程序結構體 處理的是與執(zhí)行速度無關的數學領域的問題,實時程序結構體處理的是物理領域的問題,實時程序結構體并不提高 CPU指令的速度,而是其程序體反映了客觀世界的優(yōu)先級,例如: Digital Camera的前端由十幾路 DMA將圖象讀入內存,此時內存的讀寫速度都已經成為瓶頸。 第二節(jié) Time Deadline Time deadline s 。 ms 。 連續(xù)系統(tǒng) 。 實時系統(tǒng) us 。 ns 。 CPU的指令速度 。 不可見域 離散事件 人鳥 鼓振 掌翅 離散事件的時間耗 盡線是客觀存在的時間,在離散事件的時間耗盡線的曲線圖中, CPU 14 的指令速度是一個分水嶺,時間耗盡線低于 CPU指令速度的范圍是不可見域,其中的時間是計算機無法識別的。實時程序結構體只是將計算機可識別的事件的時間耗盡線,相對于連續(xù)程序結構體下降了一點。所謂實時是一個相對的概念。 第三節(jié) 數據保護 一個程序總是由代碼和數據組成,對于共享數據的使用要加以保護。 最初的數學模型是利用 Hidden Data Lib來管理共享數據,但是這種方法有一個缺陷:延誤系統(tǒng)的執(zhí)行。 read write control 所以抽象出了兩中數據結構:消息隊列、信號量。抽象思想的關鍵是:數據直接定位,即保護數據元素,而非數據庫;精簡操作接口,減少操作手續(xù)。類比:精簡官僚機構。 第二章 層次設計 第一節(jié) 層次劃分 我們在分析一個系統(tǒng)的時候,首先看到的是系統(tǒng)的“處理”,即功能。 機 處理 ……… ……… ……… ……… 子處理 數據 第二節(jié) 任務劃分 程序在 CPU中是以任務的方式在運行,所以我們要將系統(tǒng)的處理框圖轉化為多任務流程圖,對處理進行任務劃分。任務劃分存在這樣一對矛盾:如果任務太多,必然增加系統(tǒng)任務切換的開銷;如果任務太少,系統(tǒng)的并行度就降低了,實時性就比較差。在任務劃分時要遵循 : 1. I/O原則:不同的外設不同任務。 CPU的操作快于 I/O操作,如果將 I/O操作串行則會很浪費。 2. 優(yōu)先級原則:對于突發(fā)事件的優(yōu)先級等價于事件的時間耗盡線,不同優(yōu)先級的處理不同任務。 3. 大量運算:歸為一個任務 4. 功能耦合:歸為一個任務,舉例: f(),g(f()),h(g(f())) 5. 偶然耦合:歸為一個任務,舉例: f1(), f2(), f3()。早晨起床以后,刷牙、洗臉、吃早飯之間并沒有必然的先后順序,但由于習慣一直是按這個順序做的。 6. 頻率組:對于周期時間,針對不同頻率的處理不同任務。 如果我們在具體分析一個系 統(tǒng)的時候發(fā)生原則沖突的話,則要為每一個原則針對具體的系統(tǒng) code data Synchronous Hidden Data Service Lib 傳感器 1 傳感器 2 數據處理 顯 示 15 設定“權重”,必要的時候可以通過計算“權重”來最終確定如何去劃分任務。 思考題:一個多層通信協(xié)議棧的實現(xiàn),應該如何去劃分任務? 第三節(jié) 任務調度 2. 3. 1任務調度的幾種算法 任務調度算法的發(fā)展過程大致經歷了三個階段,存在三種調度算法: control loop、Interrupt schedule、 RTOS。 Control loop 是通過一種循環(huán)查詢任務標志位的算法來調度任務,其特點是:簡單,但不適于大系統(tǒng)、不靈活、不易升級,如果升級或添加新的模塊就要打 開 loop,重新設計算法。 process 算法 process process Interrupt schedule 是為每個任務分配一個中斷,通過中斷的方式來調度任務,其特點是:簡單,但把應用的并行度下降到 CPU 級。計算機的發(fā)展是體系結構的發(fā)展,是層次結構的發(fā)展,如果采用中斷的任務調度方式,任務就繞過操作系統(tǒng)直接與硬件發(fā)生關聯(lián),破壞了計算機的層次結構。 中斷 1 中斷 2 中斷 3 VxWorks 的任務經創(chuàng)建以后可以處于三種狀態(tài): Ready、 Delayed、 Pended,操作系統(tǒng)采用事件驅動的方式進行任務調度。其特點是:很復雜,需要有一些操作系統(tǒng)的背景。 R?E:不同優(yōu)先級搶占,同一優(yōu)先級時間片輪轉 E?R:被其他任務搶占或時間片耗盡 E?B:所需資源沒有滿足 B?R:所需資源得到滿足 思考題: RTOS 是在什麼時候出來執(zhí)行? 操作系統(tǒng)是被事件驅動的。 RTOS任務調度的算法 Pre_empty:不同優(yōu)先級的任務采 用搶占方式 Pended Ready Delayed Suspended Executing High Priority Task A Medium Priority Task B Low Priority Task C Event Event Event Event 16 Timeslice:相同優(yōu)先級的任務采用時間片輪轉方式( KernelTimeSlice(ticks)) 2. 3. 2 VxWorks的任務調度算法 VxWorks 的每個任務可以規(guī)定自己的 priority; mode:可否設斷點、是否支持浮點操作。 2.3.3 VxWorks的優(yōu)先級空間 priority ISR space 0 system task 230 task space user task 255 IDLE任務的優(yōu)先級是 255。 第四節(jié) 任務之間的關系 1. 通信:松耦合:實現(xiàn)機制:一個消息隊列 緊耦合:實現(xiàn)機制:兩個消息隊列 任務之間的通信也可以用信號量來構造。 2. 控制:數據保護:信號量或互斥量 同步:信號量,信號或消息隊列 第五節(jié) VxWorks的 Object VxWorks是面向對象的操作系統(tǒng),我們可以從下面的角度來討論 VxWorks的對象: 1. VxWorks的對象: Task、 Message Queue、 Semophore、 Timer、 Pipe、 File Descriptor. 2. 對象的屬性: 生存性:對象可以被創(chuàng)建或刪除 在生存期間,可被標識和管理: Name、 ID、 Control Block 平等性:對象之間不象 Unix中的父子進程間那樣存在繼承關系 3. 對象的服務: 系統(tǒng)使用系統(tǒng)服務對對象進行操作 第六節(jié) VxWorks的構成實體 2. 6. 1 Task與 code的關系 Task 是 VxWorks 的一種對象,系統(tǒng)創(chuàng)建以后為其分配一個 TCB 和一個 stack, task 占用 code。 Code被 task占用,不被 OS識別和管理。 舉例:程控交換機的計費系統(tǒng),實現(xiàn)計費算法的代碼只有一個 copy,在交換機系統(tǒng)運A B C D A B C D 時間片 17 行時可以創(chuàng)建多個任務,任務分別去調用該代碼體。 task ……… 實時系統(tǒng)是一個多任務運行環(huán)境,所以要求我們編寫的代碼是可重入的。所謂可重入的代碼體是指代碼體可被多任務占用,而且不出錯。這就要求,代碼內無臨界資源:臨界變量如全局變量,臨界設備如打印機,大部分 I/O都是臨界設備;代碼不修改自身,例如病毒就是一種能夠修改自身的代碼。 舉例:為什麼多任務要求代碼可重入? 例如早期有人曾經想在 DOS 的環(huán)境下執(zhí)行多任務,在 DOS 上面構造了一個 multitask層 ,然后運行多任務,但是經常 down機,最后發(fā) 現(xiàn) BIOS是不可重入的,所以導致死機。 2. 6. 2 Driver與 ISR的關系 首先我們來討論一下 CPU與 device的關系, CPU的 I/O操作有四種方式:查詢 polling、中斷 interrupt、 DMA、 channel I/O processor。 計算機按計算機體系結構來分,大致有兩種:微型機的體系結構和巨型機的體系結構。 ……… ……… I/O 符合馮 .諾依曼結構的計算機從最高層次的抽象的角度來看,由四部分組成:輸入、輸出、處理、存儲。微型機的體系結構是以 CPU為核心的,巨型機的體系結構是以存儲器為核心的。 CPU對 I/O的操作,微型機采用的是查詢、中斷或 DMA的方式,巨型機采用的是 channel I/O processor的方式,在 CPU和 I/O processor 中都有 device 的驅動程序,而我們所需要編寫的驅動程序是在 CPU中的驅動程序。 用戶設計開發(fā)的應用系統(tǒng)往往是上述兩種計算機體系結構的綜合,例如我們使用MPC860設計一塊電路板,如果從整個電路板的角度看,我們的電路是一種典型以 MPC860為核心的微型機的體系結構,但是如果具體地討論 CPU芯片的內部結構,我們會發(fā)現(xiàn)其內部采用的是巨型機的體系結構。 計費算法的 1 個 copy 任務 multitask shell DOS BIOS CPU mem I/O CPU mem I/O processor 18 明確了 CPU和 device 的耦合方式以后,我們來看一下驅動程序和于之相關的中斷服務程序的關系。我們從兩個角度來考慮: 1. 優(yōu)先級:從優(yōu)先級空間可以看出, ISR的優(yōu)先級高于所有的系統(tǒng)任務的優(yōu)先級,而 driver的優(yōu)先級是從調用它的任務那里繼承來的??梢砸源藶橐罁Ⅱ寗映绦虻墓δ?劃分,分別放在 ISR和 driver中; ISR應該只包含直接硬相關的操作,即要求 ISR短、精、直接硬相關;后期的處理放在 driver中。舉例:參加通信展,在展覽會上主要是搜集資料,回來以后再仔細閱讀。 2. 引發(fā)的條件: driver是由任務調用而開始執(zhí)行
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1