Linux 标准内核实现两个调度类:采用 CFS 调度算法的默认调度类和实时调度类
关于Linux调度的具体详解,可参考以下链接
而LiteOS-a是鸿蒙轻量级系统的内核关于两者的对比可以从以下几个方面来进行:
- 调度算法的公平性,即在多大程度上能够避免线程被饿死的现象,同时又能保证抢占式优先级调度。
- 调度算法的复杂度,即单次调度的时间复杂度与调度对象数量的关系。
- 调度算法的实时性,即调度本身引起的时延以及调度逻辑引起的时延。
1.调度算法的公平性
Linux内核使用CFS(完全公平调度程序)作为调度算法,实现了默认调度类(正常任务)和实时调度类(实时任务),并采用两个优先级范围,实时调度类的优先级较高。在默认调度类中,对优先度较高的任务分配较低比例的处理器处理时间。在实时调度类中采用SCHED_FIFO或SCHED_RR实时策略来调度任务,比普通任务具有更高的优先级。而Lite