摘要: 好了,前面的准备工作都做完了,我们就进入进程调度的主体程序——schedule()函数。函数schedule()实现调度程序。它的任务是从运行队列的链表rq中找到一个进程,并随后将CPU分配给这个进程。schedule()可以由几个内核控制路径调用,可以采取直接调用或延迟调用(可延迟的)的方式。下面,我们就来详细介绍。1 直接调用如果current进程因不能获得必须的资源而要立刻被阻塞,就直接调用调度程序。在这种情况下,如何阻塞进程该进程的内核路径呢?按下述步骤执行:1.把current进程current插入适当的等待队列,参见《非运行状态进程的组织 》博文。2.把current进程的状态改为 阅读全文
posted @ 2012-08-25 16:18 xiaorulou 阅读(1662) 评论(0) 推荐(0) 编辑