IO就是读数据或者写数据 包含一个时间概念在里面 包含一个system概念
读数据的策略
阻塞和非阻塞时设备访问的两种基本形式。使用这两种形式,驱动程序可以灵活地支持阻塞和非阻塞的访问。select函数底层实现,里面实现用就是等待队列。
阻塞调用时指调用结果返回之前,当前线程挂起。函数只有得到结果之后才会返回。
等待队列可以用来同步对系统资源的访问,例如完成一项工作之后,才允许完成另一项工作。尤其是在中断处理,进程同步和定时等场合,
可以使用等待队列实现阻塞进程的唤醒,它以队列为基础的数据结构,与进程调度机制紧密结合,能够用于实现内核中的异步事件通知机制,同步对系统资源的访问。
阻塞就是等待队列去了。
等待队列需要的操作:
总结:
阻塞和非阻塞在驱动程序中经常用到。 阻塞在IO操作暂时不能进行时,让进程进入等待队列。
后者在IO操作暂时不能进行时,立刻返回。阻塞和非阻塞就是由等待队列实现的。