一:它们在时间上先后顺序不同: 1.阻塞IO首先是发起读写IO操作,然后系统会调用读写IO的函数,内核在调度这个读写操作任务时会检查资源是否可获得,由于是阻塞IO,所以系统的任务调度会一直等待(阻塞)在这里(当然,2.6是可抢占内核,不会让这个程序这么霸道的占着CPU不放手)。当资源可用时就开始执行IO读写操作,然后返回...
void up(struct semaphore * sem); 2 .关于阻塞/非阻塞IO 阻塞和非阻塞I/O 是设备访问的两种不同模式,驱动程序可以灵活地支持用户空间对设备的这两种访问方式。 阻塞操作是指在执行设备操作时若不能获得资源则挂起进程,直到满足可操作的条件后再进行操作。被挂起的进程进入休眠状态,被从调度器的运行队列移走,直...