KPS-600/20-REL調度算法的改進
2.1 實時系統(tǒng)的調度策略
KPS-600/20-REL在操作系統(tǒng)的多任務調度算法的設計上,要根據(jù)系統(tǒng)的具體需求來確定調度策略。實時調度策略按不同的方法可以分為:靜態(tài)/動態(tài),基于優(yōu)先級/不基于優(yōu)先級,搶占式/非搶占式,單處理器/多處理器。其中,靜態(tài)是指在任務的整個生命期內優(yōu)先級保持不變,任務的優(yōu)先級是在系統(tǒng)建立任務時確定的;動態(tài)是指在任務的生命期內,隨時確定或改變它的優(yōu)先級別,以適應系統(tǒng)工作環(huán)境和條件的變化。
KPS-600/20-REL系統(tǒng)采用的是靜態(tài)優(yōu)先級分配策略,由用戶來為每個任務優(yōu)先級。雖然任務的優(yōu)先級可通過OSTaskChangePrio()函數(shù)改變,但函數(shù)功能簡單,僅以用戶的新優(yōu)先級來替換任務當前的優(yōu)先級。隨著實時嵌入式技術的發(fā)展,對嵌入式系統(tǒng)的實時性要求越來越高,多樣化的調度方法己成為一種趨勢。本文討論動態(tài)優(yōu)先級調度中的*算法截止期zui早優(yōu)先算法的改進及其在μC/OS-II中的實現(xiàn)。
2.2 調度算法的改進
截止期zui早優(yōu)先算法是動態(tài)優(yōu)先級調度算法中的*算法。在截止期zui早優(yōu)先算法中,系統(tǒng)按任務的截止期給每個任務分配優(yōu)先級。任務的截止期越早其優(yōu)先級越高,反之亦然。為此,在本文所述截止期zui早優(yōu)先算法的改進中.需在μC/OS-II系統(tǒng)中增加表l所列的項目。
KPS-600/20-REL在截止期zui早優(yōu)先算法中,需要用戶為任務其截止期。在本改進中,將OSTaskCreate()和OSTaskCreateExt()中的數(shù)INT8U Prio改為INT8U deadline,并在函數(shù)內定義局部變量INT8U Prio來記錄分配給任務的優(yōu)先級。該算法改進也要在系統(tǒng)中增加OSTaskPrioCreate()函數(shù),函數(shù)優(yōu)先級分配的方法是按任務的截止期分配。該模塊流程如圖l所示。
在對就緒任務優(yōu)先級進行調整時,該模塊首先在數(shù)組中對任務的優(yōu)先級完成調整并記錄任務優(yōu)先級的調整情況。在執(zhí)行此函數(shù)后,就緒任務隊列中任務的優(yōu)先級可能會改變,園此還需要在μC/OS-II系統(tǒng)中添加prio_adjust()函數(shù)。該函數(shù)應用μC/OS-II系統(tǒng)原有的函數(shù)OSTaskChangePrio()來更新就緒任務,代碼如下: 為防止多個任務同時調用OSTaskPrioCreate()函數(shù)造成混亂,這段代碼應按臨界資源來處理,需要在調用前關中斷,調用后再開中斷
VEXTA STEPPING MOTOR 5-PHASE PK564AW2-H100
YASKAWA AC SERVO MOTOR SGMAH-04A1A21
HPC1644,PRT3052-0-C PCB BOARD
IXXAT iPC-I 165 CH45-10-20 V2.10 BOARD
SAMSUNG 400W AC SERVO MOTOR CSM-04BB2ANT3 WORKING
YASKAWA AC SERVO MOTOR SGM-01A312B WORKING
YASKAWA SERVOPACK DRIVER MOTOR SGDA-01AS,SGM-01A312 CNC WORKING
MMT MICRO MOTION TECHNOLOGY STAGE D1-618-L5W
PANASONIC AC SERVO MOTOR MSMA021A5N WORKING
PANASONIC AC SERVO MOTOR MSMA022C1T
PANASONIC AC SERVO MOTOR MSM021P1E
SIEMENS SIMATIC,S7-300,CPU315-2 DP,6ES7 315-2AF03-0AB0,6ES7-0KJ00-0AA0
M.T.I.INSTRUMENTS DIVISION AS1021SAI
THK LM SYSTEM SHS-35R NEW
YASKAWA AC SERVO MOTOR SGMAS-02A2A4C WORKING
ONO SOKKI BOARD 44MR092 4M0115A,B7 MR 003
LEICA MIS200, LENS MODULE#1





















临清市|
临海市|
呼玛县|
封开县|
应用必备|
吉安县|
河北区|
会宁县|
观塘区|
海林市|
大石桥市|
南乐县|
建平县|
霍林郭勒市|
准格尔旗|
阿鲁科尔沁旗|
静宁县|
嘉义县|
蓬安县|
信丰县|
祁连县|
荔波县|
原平市|
梓潼县|
凤城市|
北海市|
涞水县|
许昌市|
灵台县|
全椒县|
垫江县|
津南区|
桦甸市|
鹰潭市|
江陵县|
德阳市|
南投县|
辽中县|
定陶县|
邵阳市|
瓮安县|