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

正文內(nèi)容

tornadovxworks培訓(xùn)-全文預(yù)覽

  

【正文】 e extensions are based on implicit assumptions about the UNIX process model which do not always hold in VxWorks. In VxWorks, 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 What does VxWorks support ? Library Description aioPxLib Asynchornous I/O semPxLib POSIX Semaphores mqPxLib POSIX Message Queues mmanPxLib POSIX Memory Management schedPxLib POSIX Scheduler Interface sigLib POSIX Signals timerLib, clockLib POSIX Timer/Clock Interface dirLib File/Directory Information 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 RealTime Multitasking Introduction Task Basics Task Control Error Status System Tasks 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Error Status ? VxWorks里使用一個(gè)全局整型變量 errno來(lái)描述錯(cuò)誤信息 – 程序執(zhí)行過(guò)程中我們可以設(shè)置并調(diào)用一些函數(shù)例程來(lái)檢測(cè)錯(cuò)誤信息,并針對(duì)錯(cuò)誤信息設(shè)置相應(yīng)的錯(cuò)誤號(hào) – 然后調(diào)用一些函數(shù)例程檢測(cè)錯(cuò)誤號(hào),當(dāng)程序執(zhí)行異常時(shí)可以根據(jù)錯(cuò)誤號(hào)發(fā)現(xiàn)相應(yīng)的錯(cuò)誤 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Errno and Context Switches At each context switch, the kernel saves and restores the value of errno. TCB errorStatus errno 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Setting Errno Lowest level routine to detect an error sets errno and returns ERROR: STATUS myRoutine () { ... if (myNumFlurbishes = MAX_FLURBISH) { errno = s_myLib_TOO_MANY_FLURBISHES。為了解決這種沖突,用戶需要通過(guò)將默認(rèn)的全局變量 posixPriorityNumbering的設(shè)置改委 FALSE。這種搶占禁止防止任務(wù)的切換,但對(duì)中斷處理不起作用。 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 搶占禁止 ? Wind內(nèi)核可通過(guò)調(diào)用 taskLock()和 taskUnlock() 來(lái)使調(diào)度器起作用和失效。 – 由信號(hào)量保護(hù)的全局或靜態(tài)變量 ? VxWorks的一些庫(kù)封裝對(duì)公共數(shù)據(jù)的訪問(wèn)。但是要求應(yīng)用小心設(shè)計(jì)。一個(gè)被多個(gè)任務(wù)調(diào)用的單個(gè)拷貝稱為共享代碼。 ? 在 VxWorks系統(tǒng)中,可以調(diào)用函數(shù) kernelTimeSlice來(lái)使用時(shí)間片輪轉(zhuǎn)調(diào)度。 – 當(dāng)更高優(yōu)先級(jí)的任務(wù)由就緒態(tài)進(jìn)入運(yùn)行時(shí),系統(tǒng)內(nèi)核立即保存當(dāng)前任務(wù)的上下文,切換到更高優(yōu)先級(jí)的任務(wù)。如每一任務(wù)需各自的內(nèi)存空間,需可選產(chǎn)品 VxVMI的支持。任務(wù)的上下文就是當(dāng)一個(gè)執(zhí)行中的任務(wù)被停止時(shí),所要保存的所有信息。 ? VxWorks實(shí)時(shí)內(nèi)核 Wind提供了基本的多任務(wù)環(huán)境,系統(tǒng)內(nèi)核根據(jù)某一調(diào)度策略讓它們交替運(yùn)行。其實(shí),多數(shù)嵌入式系統(tǒng)并不需要實(shí)時(shí)性 ? Linux是嵌入式操作系統(tǒng),并非實(shí)時(shí)操作系統(tǒng)。而且嵌入式實(shí)時(shí)操作系統(tǒng)很多都是在 ROM中運(yùn)行,僅僅只有需要變化的數(shù)據(jù)才放在 RAM中。 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 嵌入式系統(tǒng)發(fā)展趨勢(shì) ? 嵌入式應(yīng)用軟件的開(kāi)發(fā)需要強(qiáng)大的開(kāi)發(fā)工具和操作系統(tǒng)的支持。 – 2)具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能。也就是系統(tǒng)首先調(diào)度高優(yōu)先級(jí)的任務(wù)運(yùn)行。 ? Deadline Driven算法 – Deadline Driven算法提供動(dòng)態(tài)的優(yōu)先級(jí)。完成一個(gè)任務(wù)后才能完成下一個(gè) 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 實(shí)時(shí)進(jìn)程調(diào)度算法 (二 ) ? Rate Monatomic/Pacing算法 – 此算法是基于靜態(tài)優(yōu)先級(jí)調(diào)度協(xié)議的方法。給每個(gè)任務(wù)設(shè)定優(yōu)先級(jí),然后在FIFO中按照優(yōu)先級(jí)排列。 – – 。 WinCE。例如,可以為確保生產(chǎn)線上的機(jī)器人能獲取某個(gè)物體而設(shè)計(jì)一個(gè)操作系統(tǒng)。 ? 中斷延遲 (Interrupt latency ) 是計(jì)算機(jī)接收到中斷信號(hào)到操作系統(tǒng)作出響應(yīng),并完成換道轉(zhuǎn)入中斷服務(wù)程序的時(shí)間。 ? 實(shí)時(shí)操作系統(tǒng),主要任務(wù)是對(duì)事件進(jìn)行實(shí)時(shí)的處理,雖然事件可能在無(wú)法預(yù)知的時(shí)刻到達(dá),但是軟件上必須在事件發(fā)生時(shí)能夠在嚴(yán)格的時(shí)限內(nèi)作出響應(yīng)(系統(tǒng)響應(yīng)時(shí)間),即使是在尖峰負(fù)荷下,也應(yīng)如此,系統(tǒng)時(shí)間響應(yīng)的超時(shí)就意味著致命的失敗。嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Tornado amp。 – 方法一是分為周期性的和非周期性的( periodic和 aperiodic) – 方法二是分為硬實(shí)時(shí)和軟實(shí)時(shí)( hard real_time和 soft real_time) – 專用系統(tǒng)和開(kāi)放系統(tǒng) – 集中式系統(tǒng)和分布式系統(tǒng) 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 實(shí)時(shí)多任務(wù)操作系統(tǒng)與分時(shí)多任務(wù)操作系統(tǒng) ? 分時(shí)操作系統(tǒng),軟件的執(zhí)行在時(shí)間上的要求,并不嚴(yán)格,時(shí)間上的錯(cuò)誤,一般不會(huì)造成災(zāi)難性的后果。 ? 任務(wù)換道時(shí)間 (Contextswitching time) 是任務(wù)之間切換而使用的時(shí)間。 ? 實(shí)時(shí)操作系統(tǒng)是保證在一定時(shí)間限制內(nèi)完成特定功能的操作系統(tǒng)。 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 硬實(shí)時(shí)、軟實(shí)時(shí) (二 ) ? 軟實(shí)時(shí)的 RTOS一般應(yīng)用在消費(fèi)類電子產(chǎn)品 ,如手持電腦、個(gè)人數(shù)字助理 (PDA)和機(jī)頂盒等消費(fèi)電子類 。 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 實(shí)時(shí)系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì) ? 實(shí)時(shí)系統(tǒng)的體系結(jié)構(gòu)必須滿足 – – – I/O吞吐率 – I/O設(shè)備的拓?fù)溥B接 – – – – – 。先到先服務(wù) ? 優(yōu)先級(jí)隊(duì)列算法 – 種算法從 FIFO發(fā)展而來(lái)。 ? 以上的調(diào)度算法都是獨(dú)占的 – 即任務(wù)運(yùn)行時(shí),不允許別的任務(wù)搶先。周期越短, deadline越緊迫,優(yōu)先級(jí)越高。該算法的基本思想是在系統(tǒng)中使用優(yōu)先級(jí)驅(qū)動(dòng)的可搶先的調(diào)度算法。是將應(yīng)用程序和操作系統(tǒng)與計(jì)算機(jī)硬件集成在一起的系統(tǒng) 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 嵌入式硬件 ? 嵌入式硬件包括處理器/微處理器、存儲(chǔ)器及外設(shè)器件和 I/ O端口、圖形控制器等 ? 特點(diǎn): – 1)對(duì)實(shí)時(shí)多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)內(nèi)核心的執(zhí)行時(shí)間減少到最低限度。 – 4)嵌入式微處理器必須功耗很低,尤其是用于便攜式的無(wú)線及移動(dòng)的計(jì)算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng)更是如此,如需要功耗只有 mW甚至 μ W級(jí)。這種方法對(duì)于硬實(shí)時(shí)系統(tǒng)來(lái)說(shuō)是很合適的。 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 嵌入式系統(tǒng)和實(shí)時(shí)系統(tǒng) ? 嵌入式系統(tǒng)經(jīng)常被誤解為就是實(shí)時(shí)性系統(tǒng)。 VxWorks內(nèi)核使任務(wù)能快速共享系統(tǒng)的絕大部分資源,同時(shí)有獨(dú)立的上下文來(lái)控制個(gè)別線程的執(zhí)行。 ? 任務(wù)控制塊里面包含了: – 當(dāng)前狀態(tài)、優(yōu)先級(jí)、要等待的事件或資源、任務(wù)程序碼的起始地址、初始堆棧指針 – 任務(wù)的 “ 上下文 ” ( context)。所有的代碼運(yùn)行在同一地址空間。沒(méi)有處于懸置或休眠態(tài)的最高優(yōu)先級(jí)任務(wù)將一直運(yùn)行下去。 當(dāng) ticks為 0時(shí),時(shí)間片調(diào)度被關(guān)閉 ? 基于優(yōu)先級(jí)的搶占式調(diào)度可以發(fā)生在任何時(shí)候,時(shí)間片輪轉(zhuǎn)調(diào)度只能在相同優(yōu)先級(jí)的任務(wù)間每隔 ticks發(fā)生一次。例如 printf。 ? VxWorks的 I/O和驅(qū)動(dòng)程序是可重入的。任務(wù)只在自己的堆棧內(nèi)進(jìn)行操作。 ? 這種機(jī)制由 taskVarLib庫(kù)中的函數(shù)來(lái)提供。當(dāng)設(shè)置搶占禁止的任務(wù)解除阻塞,再次開(kāi)始運(yùn)行時(shí),搶占又被禁止。 POSIX中,優(yōu)先數(shù)越高,優(yōu)先級(jí)越高; Wind方案相反。priority) taskPrioritySet (tid, priority) 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Task Stacks Allocated from memory pool when task is created. Fixed size after creation. The kernel reserves some space from the stack, making the stack space actually available slightly less than the stack space requested. Exceeding stack size (“stack crash”) causes unpredictable system behavior. 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Stack Overflows Press the checkstack button: To check for a stack overflow use the Browser. Examine the highwater mark indicator in the stack display window. Highwater Mark Indicator (UNIX) Note: In the PC Browser Stack Check Window, the high water makr triangles are not present. Instead, the number displayed inside each stack bar is that stack?s high water mark. The filled portion of the bar indicates the current stack usage graphically. 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Task Options Can be bitwise or?ed together when the task is created. VX_FP_TASK Add floating point support. VX_NO_STACK_FILL Don?t fill stack with 0xee?s. VX_UNBREAKABE Disable breakpoints. VX_DEALLOC_STACK Deallocate stack and TCB when task exists (automatically set for you). Use taskOptionsGet() to inquire about a task?s options. Use taskOptionsSet() to unset VX_DEALLOC_STACK. 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Task Creation During time critical code, task creation can be unacceptably time consuming. To reduce creation time, a task can be spawned with the VX_NO_STACK_FILL option bit set. Alternatively, spawn a task at system startup, which blocks immediately, and waits to be made ready when needed. 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Task Deletion Deletes the specified task. Deallocates the TCB and stack. Analogous to a taskDelete() of self. exit (code) code parameter gets stored in the TCB field exitCode. TCB may be examined for postmortem debugging by Unsetting the VX_DEALLOC_STACK option or, Using a delete hook. taskDelete(tid) 嵌入式培訓(xùn)專題 微迪軟件培訓(xùn)中心 Resource Reclamation Contrary to the philosophy of sharing system resources among all tasks. Can be an expensive process, w
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1