v06.01 百图画鸿蒙(调度器) | 内核发动机 | 画出鸿蒙骨骼系统
百图画鸿蒙 | 一图一主干 如果把鸿蒙比作人,百图目的是要画出其骨骼系统。 百图系列每张图都是心血之作,耗时甚大,能用一张就绝不用两张,所以会画的比较复杂,高清图会很大,可在公众号中回复 百图 获取3倍超高清最新图。v**.xx代表图的版本,请留意图的更新。 本篇图为调度器图,内核如何确保有序的执行进程/任务,靠内核发动机调度器完成,调度器根据它们的优先级和时间片来确定任务的执行顺序。任务的执行往往是断断续续的,随时可能被外部中断打断而让出CPU,也可能因为更高优先级的任务到来被抢占,在同等优先级下则PK时间片,始终让时间片多的运行,时间片用完后再分配会根据同级就绪任务的多少来调整,保证任务都能公平的共享CPU资源。 调度器维持一个 32 * 32的矩阵就绪队列,将进程和任务的优先级各切成32级。tick处理函数每次都会扫描下看有没有新的任务满足条件加入到就绪队列。并检查有没有更高优先级的任务需要执行。 另外每个CPU都有一个最低优先级空闲的任务,没有其他任务时CPU就待在这个任务里休息, ///空闲任务,每个CPU都有自己的空闲任务 LITE_OS_SEC_TEXT WEAK VOI...