537_linux内核学习_schedule函数分析

         全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux

         这次看一个重量级的函数,schedule。为了能够理解的更透彻,这次我“请来了”Source Insight,一个更能理解代码的工具。

         看起来,作者还是很自信这份代码的质量的。或许,这段代码的可移植性也是非常棒的吧!

         这个循环,先不看具体的内容,先看循环依据。这个从字面意思看,应该是想循环遍历所有的任务。而处理的顺序是从最后一个任务开始,直到第一个。

         第一个任务还有最后一个任务分别是task数组中的第一个和最后一个元素,接下来再看看task数组的定义。

         这个数组是指向每一个任务的指针的集合,而第一个元素是初始化任务。这个数组的大小正好就是之前看过的一个宏定义,数值是64。看起来,这个老版本的系统最大应该就是支持64个任务。

         接下来,分析调度函数的实现:

         根据我看的参考资料,有一部分理解错误。需要补充的一点:

         这个操作其实是进程自己向自己发送SIGALRM信号,SIGALRM信号默认的处理方式是结束进程。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页