IO的理解和等待队列和阻塞和非阻塞的理解

                                                 IO就是读数据或者写数据     包含一个时间概念在里面  包含一个system概念 

                                                 读数据的策略  

                                                 

                           

 

阻塞和非阻塞时设备访问的两种基本形式。使用这两种形式,驱动程序可以灵活地支持阻塞和非阻塞的访问。select函数底层实现,里面实现用就是等待队列。

阻塞调用时指调用结果返回之前,当前线程挂起。函数只有得到结果之后才会返回。

 

等待队列可以用来同步对系统资源的访问,例如完成一项工作之后,才允许完成另一项工作。尤其是在中断处理,进程同步和定时等场合,

可以使用等待队列实现阻塞进程的唤醒,它以队列为基础的数据结构,与进程调度机制紧密结合,能够用于实现内核中的异步事件通知机制,同步对系统资源的访问。

阻塞就是等待队列去了。

 

等待队列需要的操作:

 

 

 

 总结: 

        阻塞和非阻塞在驱动程序中经常用到。 阻塞在IO操作暂时不能进行时,让进程进入等待队列。

后者在IO操作暂时不能进行时,立刻返回。阻塞和非阻塞就是由等待队列实现的。 

    

 

 

 

 

 

 

 

 

 

 

 

                      

                                                

posted @ 2020-04-05 15:44  卷哭你  阅读(1965)  评论(0编辑  收藏  举报