国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式操作系統(tǒng)μLC/OS-Ⅱ面向數(shù)控系統(tǒng)的改進

嵌入式操作系統(tǒng)μLC/OS-Ⅱ面向數(shù)控系統(tǒng)的改進

作者: 時間:2011-07-22 來源:網(wǎng)絡 收藏

摘要:為了使μC/Ⅱ更加適合的應用,對μC/Ⅱ的任務分類和任務調(diào)度做了。將任務分為普通任務和搶占式任務。普通任務指通過調(diào)度器調(diào)度運行的任務,它又分為周期任務和隨機任務。周期任務對應中要求定期執(zhí)行的任務,隨機任務對應中由信號觸發(fā)執(zhí)行的任務。搶占式任務不通過調(diào)度器調(diào)度運行,而在中斷處理中直接運行。搶占式任務對應數(shù)控系統(tǒng)中執(zhí)行頻率高,執(zhí)行時間短的任務。實驗證明,后的μC/Ⅱ更適合數(shù)控系統(tǒng)任務的添加。
關鍵詞:數(shù)控系統(tǒng);μC/OS-Ⅱ;任務分類;任務調(diào)度

μC/OS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內(nèi)核,主要中小型系統(tǒng),具有執(zhí)行效率高,占用空間小,可移植性強,實時性能優(yōu)良和可擴展性強等特點。數(shù)控系統(tǒng)是一個典型的強實時性系統(tǒng),具有可確定性。可確定性主要是確保條件出現(xiàn)到由此引起的動作開始(或者結束)的時間在一個準確的時段內(nèi)。在數(shù)控系統(tǒng)中,條件是由操作員的指令(如:緊急停止、移動x軸等)或是機床的狀態(tài)(如刀具破損等)引起的。本文分析了數(shù)控系統(tǒng)任務的特點,結合μC/OS-Ⅱ的內(nèi)核體系,對μC/OS-Ⅱ的任務分類、任務調(diào)度和中斷服務策略做了,使其更加適合于數(shù)控系統(tǒng)的應用。

1 μC/OS-Ⅱ對任務的分類
μC/OS-Ⅱ中每個任務有5種狀態(tài):休眠(DORMANT)、就緒(READY)、運行(RUNNING)、等待(WAITING)、中斷(ISR)。休眠狀態(tài)的任務駐留在存儲器中,還未被內(nèi)核使用;就緒狀態(tài)的任務準備執(zhí)行,優(yōu)先級低于當前執(zhí)行的任務,沒有得到CPU控制權;任務得到CPU控制權后就處于運行狀態(tài);等待事件發(fā)生的任務處于等待狀態(tài),事件可以是I/O操作完成、共享資源可以利用、時鐘周期到等;任務執(zhí)行過程被中斷服務例程中斷,任務就處于中斷狀態(tài)。

2 μC/OS-Ⅱ數(shù)控系統(tǒng)的改進
2.1 數(shù)控系統(tǒng)任務的特點
在數(shù)控系統(tǒng)中,任務可分為兩種:周期運行的任務和信號觸發(fā)運行的任務,這里所說的信號即包括硬件信號,也包括軟件信號。周期運行的任務有定時信號采樣、定時I/O口掃描、定時通信等。信號觸發(fā)運行的任務有中斷信號(硬件信號)觸發(fā)的中斷服務任務,命令消息信號(軟件信號)觸發(fā)的命令解釋任務等。另外,數(shù)控系統(tǒng)中,有些任務還具有運行時間短,運行頻率高,要求實時性高的特點,如信號采樣、數(shù)控機床中的插補控制等。
2.2 改進后的任務劃分
在改進后的嵌入式操作系統(tǒng)中任務分為兩類:普通任務和搶占式任務。普通任務指通過操作系統(tǒng)調(diào)度器調(diào)度運行的任務,調(diào)度方法如圖1所示;搶占式任務指那些不通過調(diào)度器調(diào)度運行,而是在中斷處理中直接運行的任務。下面詳細說明這兩種任務。
2.2.1 普通任務
根據(jù)數(shù)控系統(tǒng)任務多為周期任務和信號觸發(fā)任務這一特點,將普通任務分為兩種:定時運行的周期任務(簡稱周期任務)和信號觸發(fā)運行的隨機任務(簡稱隨機任務)。相應的,任務狀態(tài)被劃分為6種:運行態(tài)、就緒態(tài)、等待態(tài)、停止態(tài)、掛起態(tài)和中斷態(tài)。圖1為改進后的任務狀態(tài)切換圖。

本文引用地址:http://m.ptau.cn/article/150447.htm

a.JPG


在這六種狀態(tài)中,運行態(tài)、就緒態(tài)和中斷態(tài)對應μC/OS-Ⅱ的READY,RUNNING和ISR;掛起態(tài)是任務在執(zhí)行完成前,因等待某事件或資源而被迫停止運行,等待事件或資源到來的狀態(tài);等待態(tài)是周期任務完成一次運行,等待運行周期到再次運行時的狀態(tài);停止態(tài)是隨機任務等待其觸發(fā)信號的狀態(tài)。這里去掉了休眠態(tài),即沒有任務的刪除,所有的任務一旦建立,在系統(tǒng)運行期間一直存在。這樣的處理是因為在數(shù)控系統(tǒng)應用中,所有建立的任務一定是有用的,即在系統(tǒng)運行期間一定會被執(zhí)行,無用的代碼和任務不會被添加。在μC/OS-Ⅱ中,設定每個任務都是一個無限的循環(huán),即任務函數(shù)永不返回,這樣做是不合適的。該操作系統(tǒng)允許任務函數(shù)返回,返回后調(diào)用函數(shù)OSTaskEndDeal(),該函數(shù)根據(jù)任務的類別,把周期任務放入等待隊列,把隨機任務放入停止隊列。
2.2.2 搶占式任務
搶占式任務為執(zhí)行時間短且執(zhí)行頻率高于OS系統(tǒng)時鐘頻率(如信號采樣),或實時要求高(如數(shù)控機床中的插補控制)的任務。調(diào)度任務時間(主要是任務切換所花費的時間)往往比這類任務運行一次的時間還多,這顯然是不合理的,搶占式任務正是為解決這種不合理而設計的。搶占式任務不通過OS調(diào)度器調(diào)度運行,也不采用TCB(任務控制塊)標識它們,而是在它們的中斷觸發(fā)信號到達時,在中斷中_直接處理,這樣做節(jié)省了調(diào)度、任務切換的時間。但是,由于搶占式任務沒有TCB,也就沒有相應的任務堆棧,所以搶占式任務在使用資源上要特別注意:一定要使用獨立的資源。這樣既可以使搶占式任務正常運行,又可以避免搶占式任務對被中斷程序的環(huán)境造成破壞。具體辦法如下:
(1)專用寄存器組。若處理程序中使用了寄存器,則為其分配專用的寄存器組,這樣也省去了保存/恢復寄存器的時間消耗。
(2)全局變量。因為函數(shù)內(nèi)部的局部變量是分配在堆棧中的,直接處理方式不形成任務,沒有自己的堆棧,如果使用局部變量,其局部變量會分配在被中斷任務的堆棧內(nèi),所以在該方式下任務應使用全局變量。用戶在設計搶占式任務時要有一定限制,否則會影響系統(tǒng)的響應時間。具體限制如下:第一,數(shù)量不能太多,最好小于等于3個;第二,必須是執(zhí)行時間短,執(zhí)行頻率高的任務才能被設為搶占式任務。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉