KPS-600/20-REL調(diào)度算法的改進(jìn)
2.1 實(shí)時(shí)系統(tǒng)的調(diào)度策略
KPS-600/20-REL在操作系統(tǒng)的多任務(wù)調(diào)度算法的設(shè)計(jì)上,要根據(jù)系統(tǒng)的具體需求來確定調(diào)度策略。實(shí)時(shí)調(diào)度策略按不同的方法可以分為:靜態(tài)/動(dòng)態(tài),基于優(yōu)先級/不基于優(yōu)先級,搶占式/非搶占式,單處理器/多處理器。其中,靜態(tài)是指在任務(wù)的整個(gè)生命期內(nèi)優(yōu)先級保持不變,任務(wù)的優(yōu)先級是在系統(tǒng)建立任務(wù)時(shí)確定的;動(dòng)態(tài)是指在任務(wù)的生命期內(nèi),隨時(shí)確定或改變它的優(yōu)先級別,以適應(yīng)系統(tǒng)工作環(huán)境和條件的變化。
KPS-600/20-REL系統(tǒng)采用的是靜態(tài)優(yōu)先級分配策略,由用戶來為每個(gè)任務(wù)優(yōu)先級。雖然任務(wù)的優(yōu)先級可通過OSTaskChangePrio()函數(shù)改變,但函數(shù)功能簡單,僅以用戶的新優(yōu)先級來替換任務(wù)當(dāng)前的優(yōu)先級。隨著實(shí)時(shí)嵌入式技術(shù)的發(fā)展,對嵌入式系統(tǒng)的實(shí)時(shí)性要求越來越高,多樣化的調(diào)度方法己成為一種趨勢。本文討論動(dòng)態(tài)優(yōu)先級調(diào)度中的*算法截止期zui早優(yōu)先算法的改進(jìn)及其在μC/OS-II中的實(shí)現(xiàn)。
2.2 調(diào)度算法的改進(jìn)
截止期zui早優(yōu)先算法是動(dòng)態(tài)優(yōu)先級調(diào)度算法中的*算法。在截止期zui早優(yōu)先算法中,系統(tǒng)按任務(wù)的截止期給每個(gè)任務(wù)分配優(yōu)先級。任務(wù)的截止期越早其優(yōu)先級越高,反之亦然。為此,在本文所述截止期zui早優(yōu)先算法的改進(jìn)中.需在μC/OS-II系統(tǒng)中增加表l所列的項(xiàng)目。
KPS-600/20-REL在截止期zui早優(yōu)先算法中,需要用戶為任務(wù)其截止期。在本改進(jìn)中,將OSTaskCreate()和OSTaskCreateExt()中的數(shù)INT8U Prio改為INT8U deadline,并在函數(shù)內(nèi)定義局部變量INT8U Prio來記錄分配給任務(wù)的優(yōu)先級。該算法改進(jìn)也要在系統(tǒng)中增加OSTaskPrioCreate()函數(shù),函數(shù)優(yōu)先級分配的方法是按任務(wù)的截止期分配。該模塊流程如圖l所示。
在對就緒任務(wù)優(yōu)先級進(jìn)行調(diào)整時(shí),該模塊首先在數(shù)組中對任務(wù)的優(yōu)先級完成調(diào)整并記錄任務(wù)優(yōu)先級的調(diào)整情況。在執(zhí)行此函數(shù)后,就緒任務(wù)隊(duì)列中任務(wù)的優(yōu)先級可能會(huì)改變,園此還需要在μC/OS-II系統(tǒng)中添加prio_adjust()函數(shù)。該函數(shù)應(yīng)用μC/OS-II系統(tǒng)原有的函數(shù)OSTaskChangePrio()來更新就緒任務(wù),代碼如下: 為防止多個(gè)任務(wù)同時(shí)調(diào)用OSTaskPrioCreate()函數(shù)造成混亂,這段代碼應(yīng)按臨界資源來處理,需要在調(diào)用前關(guān)中斷,調(diào)用后再開中斷
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