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


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

                                                 读数据的策略  

                                                 

                           

 

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

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

 

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

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

阻塞就是等待队列去了。

 

等待队列需要的操作:

 

 

 

 总结: 

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

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

    

 

 

 

 

 

 

 

 

 

 

 

                      

                                                


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM