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

正文內(nèi)容

第八講2內(nèi)核結(jié)構(gòu)(留存版)

  

【正文】 當(dāng)發(fā)生任務(wù)切換時(shí): 當(dāng)前正在運(yùn)行的任務(wù)的上下文就需要通過該任務(wù)的 任務(wù)控制塊保存起來(lái); 把需要 投入運(yùn)行的任務(wù) 的上下文從對(duì)應(yīng)的任務(wù)控制塊中恢復(fù)出來(lái)。這使得 μC/OSⅡ 能夠避免同時(shí)有其它任務(wù)或中斷服務(wù)進(jìn)入臨界段代碼 ; μC/OSⅡ 提供兩個(gè)宏調(diào)用,允許用戶在應(yīng)用程序的 C代碼中關(guān)中斷然后再開中斷: OS_ENTER_CRITICAL() OS_EXIT_CRITICAL() 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 9 兩個(gè)宏調(diào)用的使用法 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 10 2. 內(nèi)核結(jié)構(gòu) 基本知識(shí): 任務(wù)參數(shù) 任務(wù)狀態(tài) 任務(wù)切換 數(shù)據(jù)結(jié)構(gòu): 任務(wù)控制塊 空任務(wù)鏈表 就緒任務(wù)鏈表 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 11 系統(tǒng)調(diào)用: 任務(wù)調(diào)度函數(shù) OSSched() 調(diào)度器上鎖和開鎖函數(shù) OSSchedlock() /OSSchedUnlock() 空閑任務(wù) OSTaskIdle() 統(tǒng)計(jì)任務(wù) OSTaskStat() 中斷處理 OSIntEnter() /OSIntExit() 時(shí)鐘節(jié)拍 OSTickISR 獲取當(dāng)前 μC/OSⅡ 的版本號(hào) OSVersion() μC/OSⅡ 初始化 OSInit() μC/OSⅡ 的啟動(dòng) OSStart() 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 12 void YourTask (void *pdata) { for (。){ /* USER CODE */ Call one of uC/OSII’s services: OSFlagPend()。 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 17 任務(wù) 1 任務(wù) 2 任務(wù) 3 調(diào)度 程序 0 5 10 15 20 25 30 35 40 45 50 運(yùn)行 等待 就緒 在時(shí)刻 8即發(fā)生了任務(wù)切換,任務(wù) 1的上下文需要保存到任務(wù) 1的任務(wù)控制塊中去。amp。amp。因?yàn)槿蝿?wù)調(diào)度已經(jīng)被禁止,其他任務(wù)不能運(yùn)行,這會(huì)導(dǎo)致系統(tǒng)死鎖。在用戶程序中OSStart( )只能被調(diào)用一次。 空閑任務(wù) OSTaskIdle()什么也不做,只是在不停地給一個(gè) 32位的名叫 OSIdleCtr的計(jì)數(shù)器加 1, 統(tǒng)計(jì)任務(wù) (使用這個(gè)計(jì)數(shù)器以確定現(xiàn)行應(yīng)用軟件實(shí)際消耗的 CPU時(shí)間 。 not locked */ y = OSUnMapTbl[OSRdyGrp]。 endif INT16U OSTCBDly。 《 嵌入式系統(tǒng)設(shè)計(jì) 》 2022/8/17 18 任務(wù) 1 任務(wù) 2 實(shí)時(shí)內(nèi)核調(diào)度程序 保存任務(wù) 1的上下文到 TCB1 從 TCB2恢復(fù)任務(wù) 2的上下文 …… 保存任務(wù) 2的上下文到 TCB2 從 TCB1恢復(fù)任務(wù) 1的上下文 …… 時(shí)間 任務(wù) 1執(zhí)行一段時(shí)間后,由于某種原因,需要進(jìn)行任務(wù)切換,進(jìn)入實(shí)時(shí)內(nèi)核的調(diào)度程序。 OSMutexPend()。為了防止數(shù)據(jù)被破壞,每個(gè)任務(wù)在與共享資源打交道時(shí),必須獨(dú)占該資源。在任一給定的時(shí)刻,任務(wù)的狀態(tài)一定是在這五種狀態(tài)之一。 endif if (OS_Q_EN amp。 if ((OSIntNesting == 0) amp。在這種情況下,中斷仍然可以被接受和執(zhí)行(中斷必須允許) 在調(diào)用了 OSSchedLock ()函數(shù)后, OSSchedUnlock ()函數(shù)恢復(fù)任務(wù)調(diào)度 OSSchedLock ()函數(shù)和 OSSchedUnlock ()函數(shù)必須配對(duì)使用 警告 任務(wù)調(diào)用了 OSSchedLock()函數(shù)后,決不能再調(diào)用可能導(dǎo)致當(dāng)前任務(wù)掛起的系統(tǒng)函數(shù): OSTimeDly(), OSTimeDlyHMSM(),OSSemPend(), OSMboxPend(), OSQPend()。然而,啟動(dòng) μC/OSⅡ 之前,用戶至少要建立一個(gè)應(yīng)用任務(wù) ; 注意 /警告 調(diào)用 OSStart( )之前必須先調(diào)用 OSInit ( )。 OS_EXIT_CRITICAL()。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1