在学习sysytemtap的过程中,我们需要常常查阅它的文档,也就是以下这个网站。
[Systemtap官方文档](https://sourceware.org/systemtap/documentation.html)
通常来说,里面的函数足以完成操作系统老师布置的一切任务。你的作业只需调用里面的函数。
对于作业中的打印进程生命周期,只需根据要求不断加入探针probe即可。
方法简单无脑,机械根据实验说明中给出的表格官网查找相关指针,调用即可。但是对于英语阅读能力差的人来说挺痛苦。
而对于编写脚本 task_struct.stp,打印 task_struct 相关信息,我们首先要明白task_struct位于sched.h中。task_struct的指针关系可自行查找相关博客。代码如下:
主要原理为通过不断调用基础的get_prev_task和get_next_task函数获取task的sibiling和parent,通过@cast指针在task_struct结构中获取相关信息,通过调用官网查来的函数获取file_struct中的file信息。