很早以前,我曾经许诺过:我要写一个C语言版的RTOS给大家,如今梦想已进入调试阶段,参考了UCOS,SMALLRTOS,RTXTINY等,结合各自的优点编写而成,其中包含了信号量、消息队列、信号、邮箱、动态任务删除、动态任务创建、任务休眠等系统服务功能,包含了中断管理部分,过些日子,调试好发给大家,也许大家不记得我先前发过什么了,我现在重述一下:
开始的时候,我编写了汇编语言版本的RTOS,Os_mini_short_v1.0从严格意义上来说,只是一个调度器,不能算是操作系统,虽然包含了任务等待,超时,简单通信等部分,后来有人提议,要求我写一篇C语言版本的,我于是就尝试写,虽然完成了,但是仍然属于调度器范畴,没有中断管理部分,但包含了超时等待、动态消息队列、发送消息等系统服务,自我感觉很一般,于是重头再来,认真审读计算机系统相关的书籍,以及网络上各种相关RTOS,才写出今天这一个完整版的C语言版本的,我将之命名为Os_MINI_C,可以给大家玩玩,运行在51上没有问题,
我写的代码,经过较多的优化,如局部变量的重复应用,数组操作改为指针操作,循环操作反汇编进行优化等,其中最大的优点是:
任务激活时,只支持8个激活任务,但可以在51上支持动态删除与创建任务,只要空间满足,理论上支持N个任务 |