通过内核模式显进程控制块信息.pptVIP

  • 6
  • 0
  • 约1.14千字
  • 约 6页
  • 2019-08-05 发布于江苏
  • 举报
实验名称 通过内核模式显示进程控制块信息 实验内容 在内核中,所有的进程控制块都被一个双向链表连接起来,该链表中的第一个进程控制块为init_task。编写一个内核模块,模块接收用户传递的一个参数num, num指定要打印的进程控制块的数量;若用户不指定num或者num0,模块则打印所有进程控制块的信息,需要打印的进程控制块信息由:进程PID和进程的可执行文件名 实现方法分析 在内核中,进程控制块被组织成多个双向链表,其中一个双向链表包含所有进程控制块,只需要访问该双向链表,就可以访问到所有的进程控制块。 在进程控制块task_struct中,包含一个名为tasks的成员,该成员的类型为list_head,这就意味着进程控制块能够通过该成员将进程控制块串成一个双向链表。 内核定义宏for_each_proces用于遍历所有的进程控制块。 for(p=init_task;(p = list_entry((p)-task.next,struct task_struct,tasks)) != init_task) 在进程控制块的数据结构中,成员pid为进程的PID,而成员comm包含进程可执行文件名。使用dmesg命令可以查看系统日志。 实现方法

文档评论(0)

1亿VIP精品文档

相关文档