阻塞操作: 执行设备操作时,若不能获得资源,则挂起进程直到满足可操作的条件后再进行操作,被挂起的进程进入休眠状态,从调度器的运行队列中移除,直到等待条件满足后再次运行。
非阻塞操作: 执行设备操作时,若不能获得资源,并不挂起,它或者放弃,或者不停地查询,直到可进行操作为止。
1. 阻塞了的进程要确保有一个地方能唤醒它,唤醒阻塞进程的操作一般是在中断里完成,因为硬件资源获得时一般伴随着硬件中断。
2. 驱动中通过等待队列来实现阻塞进程的唤醒。
原文:http://www.cnblogs.com/youngvoice/p/4840786.html