UCOS 时间片轮转调度算法详解2009年月日
UCOS 一种只支持优先级抢占型调度的操作系统。它不支持同一个优先级有 2 个及以上的任务同时运作。 我修改的 UCOS 支持不同优先级调度的同时,支持同一个优先级有 2 个以上的任务以时间片轮转方式进行调度。 这个就是 UCOS 和我修改的 UCOS 的区别。 我修改后的 UCOS,在以后的文段中就称为“FIFO-UCOS”。 FIFO 就是先进先出的意思,和时间片轮转调度差不多的意思。 一. FIFO-UCOS--核心思想?? UCOS 在调度的时候,会按照优先级选择进程进行调度,我做的部分就仅仅是在他进行优先级检查之前,把和运行态同等级的进程进行了替换,替换成了时间片轮转调度的下一个进程! ?? 二.TCB 的修改?? FIFO-UCOS 和 UCOS 并不能完全兼容,最大的改变,就是对 TCB 的结构做了改动,加入了我自己的段。 该部分代码在 UCOS-II.H 文件中: typedef struct os_tcb { OS_STK *OSTCBStkPtr; /* 当前任务堆栈栈顶指针 */ #if OS_TASK_CREATE_EXT_EN 0 void *OSTCBExtPtr; /* 指向用户定义的任务控制块扩展*/ OS_STK
原创力文档

文档评论(0)