www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

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

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

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

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

具體如下:


OSMapTbl[]的下標(biāo)


OSMapTbl[](即位掩碼)


0


00000001


1


00000010


2


00000100


3


00001000


4


00010000


5


00100000


6


01000000


7


10000000

我們來看,一個(gè)任務(wù)優(yōu)先級(jí)將它化成二進(jìn)制數(shù),它的低三位與它在哪一組沒有任務(wù)關(guān)系!因?yàn)榉臧瞬艙Q組,而低三位最大才是七!但它能決定這個(gè)任務(wù)在一組的某個(gè)地方(即能決定X的值)而它的接下去三位與它在一組中的哪個(gè)位置沒有任何關(guān)系!因?yàn)槿サ舻腿唬酉氯ト皇冀K是八的倍數(shù),始終指向組的首地址!但它能決定Y的值!這樣,在一個(gè)矩陣中,X的值和Y的值都決定了,那么這個(gè)任務(wù)所在的位置就決定了。這樣,使一個(gè)任務(wù)進(jìn)入就緒狀態(tài)和脫離就緒狀態(tài)也就簡單了。

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

這里可能大家有疑問:那不只取了優(yōu)先級(jí)的六位嗎?還有兩位呢?這個(gè)不用著急,還有兩位為零!因?yàn)樽畲蟛?3,只需要用到六位,如果最高兩位有任何一位為一的話,就會(huì)出錯(cuò)。所以我們就不用管最高兩位了。

使任務(wù)進(jìn)入就緒狀態(tài)的程序?yàn)椋?/p>

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

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

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

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

代碼為:y = OSUnMapTbl[OSRdyGrp];

x= OSUnMapTbl[OSRdyTbl[y]];

prio = y<<3 +x;

這個(gè)表為:

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

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

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

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

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

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

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

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

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

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

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

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

倫敦2024年10月21日 /美通社/ -- 全球領(lǐng)先的美容、健康和個(gè)人保健市場(chǎng)平臺(tái)Fresha今天宣布,與專門從事人工智能發(fā)色技術(shù)的尖端公司Yuv進(jìn)行戰(zhàn)略投資并建立合作伙伴關(guān)系。 這一合作使Fresha能夠?yàn)榭蛻籼峁o...

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

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

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

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

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

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

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

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

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