日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 就緒是什么呢?它就是一切準(zhǔn)備就緒了,準(zhǔn)備運行了。任務(wù)一旦建立,它就會進入了就緒態(tài)(task ready),準(zhǔn)備運行了。任務(wù)的建立可以是在多任務(wù)運行開始之前,也可以動態(tài)地由一

 就緒是什么呢?它就是一切準(zhǔn)備就緒了,準(zhǔn)備運行了。任務(wù)一旦建立,它就會進入了就緒態(tài)(task ready),準(zhǔn)備運行了。任務(wù)的建立可以是在多任務(wù)運行開始之前,也可以動態(tài)地由一個運行著的任務(wù)建立。

那么,如果有多個任務(wù)就緒,那怎么辦呢?這就牽涉到了就緒表的問題了。就緒表(ready list)在存放就緒任務(wù)的。就緒表中有兩個變量,OSRdyGrp和OSRdyTbl[]。因為任務(wù)最多一般只能是64個,Jean J.Labrosse 就把就緒表分成8*8的一個矩陣形表(table),這樣就剛好能存放64個就緒的任務(wù)了。下面表格里面的數(shù)字代表優(yōu)先級。那么,OSRdyGrp和OSRdyTbl[]又代表什么呢?

見上圖,作者見任務(wù)太多,就按優(yōu)先級將它分成了八組,每一行作為一組,每組八個任務(wù),(也即按Y坐標(biāo)分組)。而OSRdyGrp是一個有八位二進制數(shù)的數(shù),它的每一位代表一個組。比如:OSRdyGrp的第0位代表了第一行0到7這八個優(yōu)先級。第一位代表了8到15這八個優(yōu)先級,以此類推。只要哪一組中的任何一位置位(即哪一組中有任何一個任務(wù)進入就緒表),那么OSRdyGrp相應(yīng)的位就置1。比如:第一行中優(yōu)先級0到7,只要有一個任務(wù)進入就緒表,那么OSRdyGrp的第0位就會置1(有更多任務(wù)進入就緒表也會置1),表示這一行中有任務(wù)進入就緒表啦,但是有多少呢?不知道!

那不知道,怎么辦呢?這就要看OSRdyTbl[]了。先來介紹一個掩碼的知識:ucos里面有一個數(shù)組,叫OSMapTbl[],它來幫助我們查一個任務(wù)是否進入優(yōu)先級。

具體如下:


OSMapTbl[]的下標(biāo)


OSMapTbl[](即位掩碼)


0


00000001


1


00000010


2


00000100


3


00001000


4


00010000


5


00100000


6


01000000


7


10000000

我們來看,一個任務(wù)優(yōu)先級將它化成二進制數(shù),它的低三位與它在哪一組沒有任務(wù)關(guān)系!因為逢八才換組,而低三位最大才是七!但它能決定這個任務(wù)在一組的某個地方(即能決定X的值)而它的接下去三位與它在一組中的哪個位置沒有任何關(guān)系!因為去掉低三位,接下去三位始終是八的倍數(shù),始終指向組的首地址!但它能決定Y的值!這樣,在一個矩陣中,X的值和Y的值都決定了,那么這個任務(wù)所在的位置就決定了。這樣,使一個任務(wù)進入就緒狀態(tài)和脫離就緒狀態(tài)也就簡單了。

其實我們不用這么麻煩,我們看,我們可以把表中的數(shù)看成是八進制的數(shù),低三位看成是個位,接下來三位看成是進位,進位代表OSRdyGrp,個位代表OSRdyTbl[],個位無論怎么變,它都不會影響進位的位置,所以在哪一行只取決于OSRdyGrp,在哪一列只取決于OSRdyTbl[],口算也算出來了,呵呵。這樣比較好理解一些。

這里可能大家有疑問:那不只取了優(yōu)先級的六位嗎?還有兩位呢?這個不用著急,還有兩位為零!因為最大才63,只需要用到六位,如果最高兩位有任何一位為一的話,就會出錯。所以我們就不用管最高兩位了。

使任務(wù)進入就緒狀態(tài)的程序為:

OSRdyGrp |= OSMapTbl[prio>>3];//確定它的行,置1

OSRdyTbl[prio>>3] |=OSMapTbl[prio&0x07];//確定它的列,置1

找出進入就緒態(tài)的儔優(yōu)先級最高的任務(wù)

明白了上面的內(nèi)容,這里也不難明白了。這里作者Jean J.Labrosse 提供了一個查找表的,只要按照一定算法查找,很快就查出來了。

代碼為:y = OSUnMapTbl[OSRdyGrp];

x= OSUnMapTbl[OSRdyTbl[y]];

prio = y<<3 +x;

這個表為:

右邊注釋的值是代表OSRdyGrp的值。如果OSRdyGrp的值為01101000,即0x68,那么,我們可以根據(jù)右邊的注釋,要查第七行。是第七行的第八個(從0開始)。是3。再代入程序,算出x為2,將x和y 代入prio = y<<3 +x;,算出最高為26,再根據(jù)這個值,查出任務(wù)控制塊優(yōu)先級表,得到該任務(wù)的任務(wù)控制塊。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

AI與自動化驅(qū)動生命科學(xué)研發(fā)革新 北京2025年2月20日 /美通社/ -- 近日,鎂伽科技正式推出LABILLION?實驗室智慧管理平臺,并于線上發(fā)布。作為鎂伽在"AI for Science(AI4S)&...

關(guān)鍵字: LAB IO ABI 指令

在數(shù)字通信領(lǐng)域,二進制通信協(xié)議扮演著至關(guān)重要的角色。它們不僅決定了數(shù)據(jù)如何在不同系統(tǒng)或設(shè)備間高效、準(zhǔn)確地傳輸,還直接影響到通信的實時性、可靠性和資源利用率。本文將深入探討二進制通信協(xié)議的序列化與解析過程,并通過實例代碼展...

關(guān)鍵字: 二進制 通信協(xié)議 序列化

創(chuàng)新能源儲存解決方案旨在提升車輛安全性與效率 12V和48V電壓架構(gòu)合同的開創(chuàng)性簽署,充分體現(xiàn)了本行業(yè)對Clarios先進超級電容器技術(shù)的堅定信心 威斯康星州格倫代爾2025年1月7日 /美通社/ --...

關(guān)鍵字: iOS 超級電容器 RIO 電力

加速軟件創(chuàng)新并提升開發(fā)人員工作效率 GitLab Duo與Amazon Q基于AI協(xié)作,以簡化軟件開發(fā)工作流程、加速代碼交付并提升整個軟件開發(fā)生命周期的安全性。 GitLab平臺內(nèi)置了端到端的安全與合規(guī)功能,...

關(guān)鍵字: LAB 亞馬遜 集成 GIT

上海2024年11月26日 /美通社/ -- 2024年11月22日,由上海璞咣教育科技有限公司主辦的"宇宙新生時空藝術(shù)展"在長三角文博會上璀璨開幕,吸引了無數(shù)目光。本次展覽以AI人工智能發(fā)展背景下的...

關(guān)鍵字: 人工智能 BSP 二進制 影像

倫敦2024年10月21日 /美通社/ -- 全球領(lǐng)先的美容、健康和個人保健市場平臺Fresha今天宣布,與專門從事人工智能發(fā)色技術(shù)的尖端公司Yuv進行戰(zhàn)略投資并建立合作伙伴關(guān)系。 這一合作使Fresha能夠為客戶提供無...

關(guān)鍵字: 庫存管理 可持續(xù)發(fā)展 BSP LAB

在數(shù)字計算機系統(tǒng)中,數(shù)據(jù)的表示和處理是至關(guān)重要的一環(huán)。二進制作為計算機內(nèi)部的基本編碼方式,其表示形式直接決定了計算機處理數(shù)據(jù)的效率和準(zhǔn)確性。在二進制表示中,原碼和補碼是兩種重要的編碼方式,尤其在處理有符號整數(shù)時顯得尤為重...

關(guān)鍵字: 數(shù)字計算機 二進制 編碼

在AI移動平臺上揭示以前未被發(fā)現(xiàn)的光譜數(shù)據(jù),用于未來的智能皮膚護理和個性化推薦。 比利時梅赫倫2024年8月28日 /美通社/ -- Spectricity與Lululab宣布簽署一份諒解備忘錄(MOU),備忘錄概述了...

關(guān)鍵字: LAB 光譜 SPECT IC

上海2024年8月2日 /美通社/ -- 萬豪國際集團近日宣布與中國新城市集團旗下眾安商業(yè)集團簽署協(xié)議,將W酒店品牌引入杭州。杭州W酒店預(yù)計于2031年開業(yè),擇址杭州新中央商務(wù)區(qū)錢江世紀(jì)城,位于民和路與利一路交叉口西北側(cè)...

關(guān)鍵字: RIO IoT ARRI COM

語音識別技術(shù),也被稱為自動語音識別(Automatic Speech Recognition,ASR),其目標(biāo)是將人類的語音中的詞匯內(nèi)容轉(zhuǎn)換為計算機可讀的輸入,例如按鍵、二進制編碼或者字符序列。

關(guān)鍵字: 語音識別 按鍵 二進制
關(guān)閉