- 3
- 0
- 约9.42千字
- 约 74页
- 2017-04-07 发布于湖北
- 举报
* 2.2 进程控制 进程挂起 * 2.2 进程控制 进程挂起 * 2.2 进程控制 进程唤醒 一个正在运行的进程会因等待某事件(例如,等待打印机)的发生,由运行状态转换成阻塞状态,当它等待的事件发生后,这个进程将由阻塞状态转换成就绪状态。这种转换由进程唤醒操作完成。 调用进程唤醒操作一般在中断处理、进程通信等过程中。例如,打印机完成中断处理程序, 在完成了打印完成的操作后,就去检查等待打印机的队列,若不为空,则调用进程唤醒操作,唤醒一个(或多个)等待打印机的进程。 * 2.2 进程控制 进程唤醒 进程唤醒原语的形式: wakeup(chan) 其中:chan 唤醒进程阻塞的原因。 * 2.2 进程控制 进程唤醒 算法:wakeup 输入:chan:等待的事件(阻塞原因) 输出:无 { 找到chan的等待队列的指针; for(该队列不为空) { 从队列中移出一个进程; 置进程状态为“就绪”,并加入到就绪队列; } } * 2.2 进程控制进程唤醒 按此算法,是把等待在chan事件上的所有进程唤醒,类似于UNIX系统的处理方式。也有的系统只唤醒一个等待chan事件的进程,若这样处理,等待队列就要按某种优先级排队。 进程唤醒操作会引起就绪队列和等
原创力文档

文档评论(0)