UCOS 时间片轮转调度算法详解
引言.:UCOS 和我修改的 UCOS 的区别
UCOS 一种只支持优先级抢占型调度的操作系统。它不支持同一个优先级有 2 个及以上的任
务同时运作。
我修改的 UCOS 支持不同优先级调度的同时,支持同一个优先级有 2 个以上的任务以时间
片轮转方式进行调度。
这个就是 UCOS 和我修改的 UCOS 的区别。
我修改后的 UCOS,在以后的文段中就称为“FIFO-UCOS”。
FIFO 就是先进先出的意思,和时间片轮转调度差不多的意思。
一. FIFO-UCOS 第一讲--核心思想
我不对 UCOS 做过多的解释,我本人对 UCOS 的代码也没有看完。
事实上这个代码是我一年半以前做出来的了,当时就是为了帮一个朋友完成论文,并且为我
卖的 S3C44B0 开发板增加一些东西吧。(不过我的板子最后没有卖出去多少,题外话,也许
这个东西并没有多少人热心吧)
这一年半我再也没有从事过软件开发(我一直都是硬件工程师),对 UCOS 也有些遗忘了。
也许有的东西讲错了,还请包函。
当时和那个做论文的朋友讨论的时候,他也设计了一个调度方式,但是事实证明没有我做的
那个好。毕竟它增加了另外一个 PCB 链。
UCOS 写得很好,把很多东西都做得很完善了。我要说的核心思想,就只有下面一小段话,
注意看了哦:
UCOS 在调度的时候,会按照优先级选择进程进行调度,我做的部分就仅仅是在他进行优先
级检查之前,把和运行态同等级的进程进行了替换,替换成了时间片轮转调度的下一个进程!
评论1