一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

任務(wù)掛起和中斷

 wfsy1983 2011-04-20
掛起:
所謂掛起一個任務(wù),就是暫停這個任務(wù)運行,它仍然占用一定的內(nèi)存空間,有可能對CPU也在占用著.
示意如圖

任務(wù)切換宏OS_TASK_SW()
任務(wù)切換的工作主要是靠OSCtxSw()來完成的。它需要做7項工作:
(1) 把被終止任務(wù)的斷點指針保存到任務(wù)堆棧中;
(2) 把CPU通用寄存器的內(nèi)容保存到任務(wù)堆棧中;
(3) 把被終止任務(wù)的任務(wù)堆棧指針當(dāng)前值保存到該任務(wù)的任務(wù)控制塊的OSTCBStkPt中
(4) 獲得待運行任務(wù)的任務(wù)控制塊;
(5) 使CPU通過任務(wù)控制獲得待運行任務(wù)的堆棧指針;
(6) 把待運行任務(wù)堆棧中通用寄存器的內(nèi)容恢復(fù)到CPU的通用寄存器中;
(7) 使CPU獲得待運行任務(wù)的斷點指針。
示意代碼:
viod OSCtxSw(void)
{
用壓棧指令把CPU通用寄存器R1,R2..壓入堆棧;
OSTCBCur->OSTCBStkPtr = SP; //在中止任務(wù)控制塊中保存SP
OSTCBCur = OSTCBHighRdy; //任務(wù)控制塊的切換
OSPrioCur = OSPrioHighRdy;
SP = OSTCBCur->OSTCBStkPtr;
用出棧指令把R1,R2..彈入CPU的通用寄存器;
IRET; //中斷返回,使PC指向待運行的任務(wù)
}
當(dāng)然OSSemPend()等待信號量等一系列函數(shù)也使任務(wù)進入等待狀態(tài),但是任務(wù)掛起函數(shù)OSTaskSuspend()可以掛起當(dāng)前任務(wù),也可以掛起其他任務(wù);而等待信號量OSSemPend()只能掛起當(dāng)前任務(wù),而且可以多個任務(wù)等待同一個信號量,實現(xiàn)任務(wù)的同步;
OSSemPend()主要是判斷待要掛起的任務(wù)是否調(diào)用這個函數(shù)任務(wù)本身。
(1) 如果是任務(wù)本身是,則必須刪除就緒表中的就緒標(biāo)志,并在任務(wù)控制成員OSTCBStat中做掛起記錄,然后引發(fā)一次任務(wù)調(diào)度,以使CPU去運行就緒的其他任務(wù);
(2) 如果不是本身,那么只要刪除任務(wù)就緒表中被掛起任務(wù)的就緒標(biāo)志,并在任務(wù)控制塊成員OSTCBStat中做掛起標(biāo)志。
任務(wù)中斷 :
系統(tǒng)接收到中斷請求后,如果這是CPU處于中斷允許狀態(tài)(即中斷是開放的),系統(tǒng)就會終止正在運行的當(dāng)前任務(wù),而按照中斷向量(中斷服務(wù)子程序的入口地址)的指向轉(zhuǎn)而去運行中斷服務(wù)子程序(ISR);當(dāng)子程序運行完畢后,系統(tǒng)會根據(jù)情況返回到被中止的任務(wù)繼續(xù)運行,或者轉(zhuǎn)而運行一個更高優(yōu)先級的就緒任務(wù)。
 
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/chengocean/archive/2010/12/28/6103421.aspx

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产又色又粗又黄又爽| 国产欧美一区二区色综合| 久久91精品国产亚洲| 亚洲欧美日韩国产成人| 国产不卡一区二区四区| 日韩精品一级一区二区| 免费黄片视频美女一区| 欧美亚洲另类久久久精品| 日韩1区二区三区麻豆| 亚洲中文字幕剧情在线播放| 日韩成人中文字幕在线一区| 久热人妻中文字幕一区二区| 精品少妇人妻一区二区三区| 成年男女午夜久久久精品| 国产一区二区三区色噜噜| 欧洲精品一区二区三区四区| 国产成人午夜福利片片| 好吊妞视频只有这里有精品| 国产一区二区三区色噜噜| 麻豆亚州无矿码专区视频| 日本一区不卡在线观看| 国产免费一区二区不卡| 国产成人精品综合久久久看| 色婷婷视频在线精品免费观看 | 老司机精品一区二区三区| 亚洲av又爽又色又色| 日韩一本不卡在线观看| 欧美人妻一区二区三区| 神马午夜福利一区二区| 午夜传媒视频免费在线观看| 国产一区二区三区午夜精品| 久久精品亚洲精品国产欧美| 极品少妇一区二区三区精品视频 | 在线观看视频日韩精品| 国产精品九九九一区二区| 欧洲日韩精品一区二区三区| 成人国产一区二区三区精品麻豆| 精品国产亚洲一区二区三区| 中文字幕乱码亚洲三区| 精品国产丝袜一区二区| 国产日韩精品激情在线观看|