Linux 0.11进程运行轨迹的跟踪,进程运行轨迹的跟踪与统计
1,到内核init/main.c下修改信息:(cd/oslab/oslab/linux-0.11/init)
2,向kernel/printk.c中添加打印日志的功能
注意,是在源文件下增加代码:
3,寻找进程切换点
3.1新建(N)状态的切换点,
在kernel/fork.c修改内容:(注意看增加的地方)
3.2 就绪(J)状态
(1)在此处为准备完毕的时候
(2)另一个就绪状态是在schedule()函数中
位置kernel/sched.c
(3)进程时间片到期。位置kernel/sched.c
(4)转到就绪态,在sleep_on()中
位置kernel/sched.c
5)在interruptible_sleep_on()中,位置kernel/sched.c
(6)在wake_up()中。唤醒不可中断
位置kernel/sched.c
运行(R)状态
(3)进程时间片到期”已经修改
3.4 睡眠(W)状态:运行到睡眠依靠的是sleep_on()和interruptible_sleep_on(),还有进程主动睡觉的系统调用sys_pause()和sys_waitpid();
(1)sys_pause()
位置kernel/sched.c
2)sleep_on()
(3)interruptible_sleep_on()
(4)在exit.c中的sys_waitpid()中
传进根目录的方法:
考入文件
$ sudo umount hdc
$ sudo ./mount-hdc
编译并运行process.c
总结
以上是生活随笔为你收集整理的Linux 0.11进程运行轨迹的跟踪,进程运行轨迹的跟踪与统计的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: linux设置进程优先级,Linux线程
- 下一篇: linux内核版本 2.6.39,lin