这次,把sched.c文件的内容分析正式开个头吧!
从注释描述看,这个也是内核部分的核心代码。
而这几行代码的功能前面已经做了分析以及测试。
这里,打印了任务的一些属性,同时还检查了一部分存储信息。从提示信息看,存储信息是检查了任务的堆栈空间。为了能够更好理解一个任务的信息,需要查看一下task_struct结构体的定义。
找到相关的定义,增加了部分我自己不一定理解正确的理解说明。
这里面,还有几个成员的定义形式需要明确一下。
这个是信号动作类型的定义,里面包含了信号动作的两个回调:一个是执行,另一个是恢复。此外,还包含一个掩码和一个状态。
这个我猜测是一个资源限制的信息,其中的一个元素是当前的资源占用,另一个则是最大的限制值。后面等我继续往后看代码,肯定能够知道这个的用途。
这个是在文件系统中定义的,值得注意的是有管道信息的处理入口。具体的作用,后面看到的时候再说。
这个应该是描述信息,看了下载head.h中,应该是一些硬件设备描述之类的信息存储吧?
任务状态信息,看描述缩写猜测很大程度上是硬件,尤其是CPU特性决定的。
一个任务的属性,大概就包含这么多信息。感觉比我现在接触的嵌入式的RTOS确实是多了很多。