現在位置: 首頁 > 技術文章 > RTOS > 文章
2013年11月17日 RTOS ⁄ 共 1563字 什么是優先級反轉,優先級繼承已關閉評論
使用實時內核,優先級反轉問題是實時系統中出現得最多的問題。下圖解釋優先級反轉是如何出現的。如圖,任務1優先級高于任務2,任務2優先級高于任務3。任務1和任務2處于掛起狀態,等待某一事件的發生,任務3正在運行如[下圖(1)]。此時,任務3要使用其共享資源。使用共享資源之前,首先必須得到該資源的信號量(Semaphore)。任務3得到了該信號量,并開始使用該共享資源[下圖(2)]。由于任務1優先級高,它等待的事件到來之后剝奪了...
閱讀全文
2013年11月17日 RTOS ⁄ 共 1084字 什么是可重入函數,什么是不可重入函數已關閉評論
可重入型函數可以被一個以上的任務調用,而不必擔心數據的破壞。可重入型函數任何時候都可以被中斷,一段時間以后又可以運行,而相應數據不會丟失。可重入型函數或者只使用局部變量,即變量保存在CPU寄存器中或堆棧中。如果使用全局變量,則要對全局變量予以保護。如下程序是一個可重入型函數的例子。 void strcpy(char *dest, char *src) { while (*dest++ = *src++) { ; } *dest = NUL; } 函數Strcpy()做字符串復制...
閱讀全文
2013年11月17日 UCOS-II ⁄ 共 1673字 不可剝奪型內核與可剝奪型內核已關閉評論
不可剝奪型內核 不可剝奪型內核要求每個任務自我放棄CPU的所有權。不可剝奪型調度法也稱作合作型多任務,各個任務彼此合作共享一個CPU。異步事件還是由中斷服務來處理。中斷服務可以使一個高優先級的任務由掛起狀態變為就緒狀態。但中斷服務以后控制權還是回到原來被中斷了的那個任務,直到該任務主動放棄CPU的使用權時,那個高優先級的任務才能獲得CPU的使用權。 不可剝奪型內核的一個優點是響應中斷快。在討論中斷響應時會進...
閱讀全文
2013年11月17日 UCOS-II ⁄ 共 652字 評論 2 條
一個任務,也稱作一個線程,是一個簡單的程序,該程序可以認為CPU完全只屬該程序自己。實時應用程序的設計過程,包括如何把問題分割成多個任務,每個任務都是整個應用的某一部分,每個任務被賦予一定的優先級,有它自己的一套CPU寄存器和自己的棧空間(如下圖所示) 多任務 典型地、每個任務都是一個無限的循環。每個任務都處在以下5種狀態之一的狀態下,這5種狀態是休眠態,就緒態、運行態、掛起態(等待某一事件發生)和被中斷態...
閱讀全文
2013年11月17日 UCOS-II ⁄ 共 560字 什么是前后臺系統已關閉評論
不復雜的小系統一般設計成如下圖所示的樣子。這種系統可稱為前后臺系統或超循環系統(Super-Loops)。應用程序是一個無限的循環,循環中調用相應的函數完成相應的操作,這部分可以看成后臺行為(background)。中斷服務程序處理異步事件,這部分可以看成前臺行為(foreground)。后臺也可以叫做任務級。前臺也叫中斷級。時間相關性很強的關鍵操作(Critical operation)一定是靠中斷服務來保證的。因為中斷服務提供的信息一直要等到后...
閱讀全文
二八杠讨论心得
×