仿造操作系统之思想,写了一个小小的任务调度器。
简单来讲,就是一个基于优先级的任务轮转调度器,算不上操作系统,因为操作系统的好多经典功能都没有实现。
比如说任务抢占、进程间通信等等,更别说动态内存管理了。
因为只是基于单个短时间片,所以没有什么TCB(任务控制块)之概念,因为我的每一个任务都是一个独立的费时很短的函数,不是一个死循环,不需要做保护现场的工作,任务执行完之后进入睡眠状态,直到外部事件使该任务就绪(比如说定时器、按键、通信唤醒等等)。
感觉还是不错的。
当然实用性怎么样还得经过考验!
以下为截图,等偶完善之后再贴代码。
创建了三个任务:
task1:每两秒运行一次。
task2:每四秒运行一次。
task3:每八秒运行一次。
文章评论(0条评论)
登录后参与讨论