摘要: 休眠(被阻塞)的进程处于一个特殊的不可执行状态。这点非 常重要,否则,没有这种特殊状态的话,调度程序就可能选出一个本不愿意被执行的进程,更糟糕的是,休眠就必须以轮询的方式实现了。进程休眠有各种原因,但 肯定都是为了等待一些事件。事件可能是一段时间、从文件I/O读更多数据,或者是某个硬件事件。一个进程还有可能在尝试获得一个已经占用的内核信号量时被 迫进入休眠。休眠的一个常见原因就是文件I/O -- 如进程对一个文件执行了read()操作,而这需要从磁盘里读取。还有,进程在获取键盘输入的时候也需要等待。无论哪种情况,内核的操作都相同:进程把它 自己标记成休眠状态,把自己从可执行队列移出,放入等待队 阅读全文
posted @ 2012-11-02 11:50 孤火 阅读(831) 评论(0) 推荐(0)