国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3258|回復: 5
打印 上一主題 下一主題

uCOSii 學習心得及體會

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2018-4-24 15:16:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: 軟件


1、首先大家可以看看任哲的《嵌入式實時操作系統uCOS-II原理及應用》  
這本書非常適合初學者學習 uCOS-ii

2、   請問:空閑任務和統計任務是否建立任務控制塊呢?

任務塊鏈表中是否存在空閑任務和統計任務的任務控制塊呢?如果沒有的話,操作系統如何調度呢?

標準答案:
在uCOS/ii內核中,調用OSInit()函數中會首先創建空閑任務,同時當用戶“允許”統計任務時,也會接著創建統計任務。

因此任務塊鏈表中存在空閑任務和統計任務的任務控制塊。

3、   請問:為什么有了正在使用任務控制塊鏈表OSTCBList和空閑任務控制塊鏈表OSTCBFreeList,還要再定義OSTCBPrioTbl[]呢?

  標準答案:

數組OSTCBPrioTbl[]是以任務號為索引,里面保存的任務0到最大任務的任務控制塊(TCB)的首地址,據此可以通過任務優先級號(任務號)快速找到當前任務在任務控制塊中的首指針,而不必到任務控制塊鏈表中一步一步的查找,加快訪問時間。加快任務切換時間。      

4、   uCOS/II中,能夠引起任務調度的系統函數有哪些?

         (1)、OSStart() uCOS/II啟動
         (2)、OSTaskSuspend()掛起任務
         (3)、OSTaskResume()恢復任務
          OSTimeDly()/OSTimeDlyHMSM()、等待一個事件的發生(包括OSSemPend(), OSMutexPend, OSFlagPend, OSMboxPend(), OSQPend(),

5、   請問:既然有了任務就緒表INT8U OSRdyTbl[64],為什么還要再定義

INT8U  OSRdyGrp[8]呢?這樣做的好處是什么?

標準答案:
OSRdyTbl[64]是任務就緒表,當表中 元素的值=1時,表示 任務處于就緒狀態。 例如: OSRdyTbl[0]= 1,則表示:任務級別號=0的任務處于就緒狀態,可以被調度器立即置于“運行態”。

為了節省查找時間(如果讓操作系統每次查找處于就緒狀態的最高優先級別的任務時,都從下標0開始查找,有點太浪費時間了),因此又專門定義了一個數組OSRdyGrp[8]。

其中:

(1)、OSRdyGrp[0]對應OSRdyTb[0]~OSRdyTbl[7]

(2)、OSRdyGrp[1]對應OSRdyTb[8]~OSRdyTbl[15]

(3)、OSRdyGrp[2]對應OSRdyTb[16]~OSRdyTbl[23]

這樣,每次查找就緒表中最高優先級別的任務,就可以這樣查找,首先查找依次從OSRdyGrp[0]~OSRdyGrp[7]開始查找不等于0的項,假如OSRdyGrp[1] >=1,則表示任務號8到任務號15有級別最高的就緒任務。

最終查找范圍從0-64縮小到8-15。最終節省了查找時間。

  6、 請問:任務調度的核心是什么?

  標準答案:
在多任務操作系統中,命令CPU中止當前正在運行的任務轉而去運行另外一個任務的工作叫做任務切換。

任務調度主要完成兩個工作:   
(1)、在任務就緒表中查找具有最高優先級別的就緒任務。
(2)、實現任務切換

說的更明白一些,就是將找到的的最高優先級別的任務的“任務號”---> “當前任務的任務號OSPrioCur”;從OSTCBPrioTbl[]取出最高優先級別任務的任務控制塊首地址---> “當前任務的任務控制塊指針OSTCBCur”
       最后調用OS_TASK_SW()完成現場切換(即將CPU的寄存器信息保存到當前正運行任務的私棧中,然后從待運行的高優先級別的任務私棧中彈出原先保存寄存器信息到CPU)。


//-----------------------------------
     OSPrioCur 是全局變量,用于保存當前正在運行任務的任務號
     OSTCBCur是全局變量,用于指向當前正在運行任務的任務控制塊首地址。


7、任務切換的關鍵:其實是堆棧的切換。

切換時:
            (1)、第一步:將當前CPU的SP寄存器的值保存到“待中止任務”的任務控制塊中。即保存到結構體OS_TCB的OSTCBStkPtr成員中。   
            (2)、第二步:從“待運行任務”的任務控制塊的OSTCBStkPtr成員中取出待運行任務的堆棧指針,然后送給CPU的SP寄存器。

信盈達靠技術打天下
以下課程可免費試聽C語言電子PCBSTM32LinuxFPGA、JAVA、安卓等。
想學習的你和我聯系預約就可以免費聽課了。
余工Q 二八五九七八零二零三

沙發
發表于 2018-5-13 17:27:38 | 只看該作者
想要更快速的做相關的從開發的工作的話,更快的提升薪資參加一個嵌入式系統培訓班是

不錯的哦
高薪高起點就業
南京上海中心5月份新班火熱預約中咨詢Q2859780203
板凳
發表于 2018-5-15 17:37:56 | 只看該作者
學技術就找余老師
地板
發表于 2018-5-16 18:13:05 | 只看該作者
目前嵌入式技術涉及到生活的方方面面,也是未來發展的趨勢和潮流,有想要提升學習技術的同學聯系余老師咨詢啦
地下室
發表于 2018-5-26 15:55:15 | 只看該作者
6
發表于 2018-5-29 15:04:10 | 只看該作者


嵌入式技術核心課程:
第一階段:C語言高級編程+項目;
第二階段:ARM-Cortex-M4+項目;
第三階段:Linux高級驅動+項目;
第四階段:linux下C++.QT+項目
第五階段:就業:長三角+珠三角
嵌入式系統就業班核心技術課程,高薪高起點就業做技術開發
更多咨詢Q28~59~78~02~03
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91亚洲免费 | 久久新| 99在线影院 | 青青草手机视频在线观看 | 国产一区二区精品在线观看 | 欧美操美女 | 国产麻豆剧传媒精品国产免费 | 四虎影音先锋 | 精品美女激情视频线播放 | 一个人www免费观看视频 | 婷婷色网站| 欧美成人a大片 | 日日干天天操 | 99爱视频在线观看 | 三级网站在线免费观看 | 国产麻豆剧传媒精品好看的片 | 99久久99这里只有免费的精品 | 日韩 亚洲 制服 欧美 综合 | 365导航免费视频 | 亚洲特一级毛片 | 久久久久久久999 | 国产一区二区在免费观看 | 久久一本日韩精品中文字幕屁孩 | www亚洲免费| 亚洲国产成人久久 | 国产精品香蕉在线一区二区 | 国产精品欧美亚洲韩国日本不卡 | 日本高清免费一本视频在线观看 | 亚洲an天堂an在线观看 | 日韩欧美国产偷亚洲清高 | 天天综合色天天综合 | 日本高清视频在线www色 | 韩剧初恋裴勇俊国语全集在线播放 | 欧美日韩一区二区三区视频播 | 国产精品久久久久一区二区三区 | 国产高清一区二区三区四区 | 国内高清久久久久久久久 | 日韩福利影院 | 91亚洲导航深夜福利 | 久久99精品久久 | 日韩伦理在线高清视频播放免费 |