- 博客(4)
- 收藏
- 关注
原创 find_procee_by_pid函数详解
<br />find_procee_by_pid函数详解<br />每个进程都有一个唯一的进程号pid,如何通过这个唯一的进程号来找到对应的进程,在很多应用中是一个关键问题。函数find_process_by_pid提供的就是这个功能。<br />首先,我们来看该函数的原型:<br />static inline task_t *find_process_by_pid(pid_t pid)<br />{<br /> return pid ? find_task_by_pid(pid) : cur
2010-06-08 09:53:00 1737 1
原创 scheduler_tick函数详解
<br /> <br />当每次时钟节拍到来时,时钟中断处理函数 timer_interrupt会调用do_timer_interrupt_hook,从而调用do_timer和update_process_times函数,update_process_times则就是用来更新进程使用到的一些跟时间相关的字段,其最重要的是调用scheduler_tick()更新时间片剩余节拍数:<br />void scheduler_tick(void)<br />{<br /> <br /> int cpu
2010-06-04 15:25:00 1460
原创 schedule()函数详解
函数schedule()实现进程的调度。它的任务是从运行队列rq中找到一个进程,并随后将CPU分配给这个进程。schedule()可以采取主动调用或被动调用(可延迟的)的方式。1 直接调用如果current进程因缺乏资源而要立刻被阻塞,就主动调用调度程序。a.把current进程插入适当的等待队列。b.把current进程的状态改为TASK_INTERRUPTIBLE或TASK_U
2010-05-28 15:14:00 2908
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人