在实时操作系统uCOS_II中,不允许将多个任务安排相同的优先级,故不支持时间片轮转方式。那么如何保证任务的实时性呢?
实用的嵌入式实时操作系统的内核都是采用可剥夺型任务调度算法,这就意味着“已经就绪的高优先级任务可以剥夺另一个正在运行的低优先级任务的运行权而进入运行状态”。为不同的任务安排不同的优先级,其最终目的使系统的实时性指标能够得到满足。只要交叉分配各个分解任务的优先级,就可以达到时间片轮转的效果,使各个任务并发运行。通过操作系统任务调度实现的并发运行,只能称之为“伪并发运行”。
输入输出设备与CPU的速度差别是并发运行的前提和基础,也是一个通常都满足的事实。
操作系统的应用前提
如果系统所有的功能在时间上都是互相错开的,就不需要进行任务调度,也就不需要操作系统了,由此可以看出,在使用操作系统的前提下,并发性也是任务的基本特性,在进行任务划分时,将需要并发运行的程序单元用一个个任务封装起来,操作系统才能够在可剥夺型任务调度内核下运行。