linux设备驱动之阻塞与非阻塞I/0

原创 2013年12月03日 19:44:57

一、基本概念

    阻塞操作是指在执行设备操作时,若不能获取资源,则挂起当前进程,直到满足可操作的条件再进行操作。挂起的进程放到等待队列,当条件满足时,恢复执行。

   非阻塞操作是指当执行设备操作时,若不能获取资源,则立刻返回,不等待。

二、阻塞I/O

   阻塞I/O的是用等待队列实现的。一个进程的I/O操作被阻塞时,该进程就会将自身加到等待队列中,同时调度其他进程允许。当等待的条件满足时,该进程从休眠状态中被唤醒,同时要将自身从等待队列中移走。

三、非阻塞I/0

   通常用select()或poll()系统调用查询是否能对设备进行非阻塞 访问。select()和poll()最终会调用驱动函数的poll函数。所以要实现驱动程序中的poll函数。poll函数不会阻塞,但是select()会阻塞,直到文件描述集中至少有一个可访问或超时。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

linux设备驱动之阻塞与非阻塞I/O

先做一下与内核阻塞有关的知识储备: 1)进程休眠:     进程休眠,简单的说就是正在运行的进程让出CPU。休眠的进程会被内核搁置在在一边,只有当内核再次把休眠的进程唤醒,进程才会会重新在CPU运行。...
  • u011715883
  • u011715883
  • 2013年11月13日 20:12
  • 417

深入浅出:Linux设备驱动中的阻塞和非阻塞I/O

今天写的是Linux设备驱动中的阻塞和非阻塞I/0,何谓阻塞与非阻塞I/O?简单来说就是对I/O操作的两种不同的方式,驱动程序可以灵活的支持用户空间对设备的这两种访问方式。一、基本概念:阻塞操作 : ...
  • soonfly
  • soonfly
  • 2016年09月20日 17:57
  • 557

操作系统I/O:阻塞和非阻塞

操作系统内核对于I/O只有两种方式:阻塞和非阻塞。 调用阻塞I/O时,应用程序需要等待I/O完成才返回结果,阻塞I/O的一个特点是调用之后一定要等到系统内核层面完成所有操作后,调用才结束。 调用非...
  • u014744118
  • u014744118
  • 2017年01月15日 20:09
  • 803

linux设备驱动中阻塞与非阻塞I/O

阻塞与非阻塞I/O     阻塞操作是指在执行设备操作时,若不能获得资源,则挂起进程直到满足可操作的条件后再进行操作。     被挂起的进程进入休眠状态,被移出调度器的运行队列,直到等待的条件被满足...
  • MEIYOUDAO_JIUSHIDAO
  • MEIYOUDAO_JIUSHIDAO
  • 2017年05月05日 11:58
  • 202

阻塞式I/0 和 非阻塞式I/O 同步异步详细介绍

阻塞式I/0 和 非阻塞式I/O 同步异步详细介绍
  • leyangjun
  • leyangjun
  • 2017年03月15日 20:15
  • 422

深入浅出Linux设备驱动之阻塞与非阻塞

深入浅出Linux设备驱动之阻塞与非阻塞 阻塞与非阻塞 阻塞操作是指,在执行设备操作时,若不能获得资源,则进程挂起直到满足可操作的条件再进行操作。非阻塞操作的进程在不能进行设备操作时,并不挂起。...
  • zhijianjingling00
  • zhijianjingling00
  • 2013年10月18日 12:11
  • 321

Linux 设备驱动中的 I/O模型(一)—— 阻塞和非阻塞I/O

在前面学习网络编程时,曾经学过I/O模型
  • zqixiao_09
  • zqixiao_09
  • 2016年03月15日 21:04
  • 2171

Linux设备驱动之阻塞与非阻塞---等待队列

废话一堆以前由于项目需要,临时做过windows的虚拟串口驱动,当时只实现了write,没有实现read(不需要read)。当时不知道如何实现read操作,因为不知道设备什么时候才会有数据,我驱动中该...
  • cuixiaolei123
  • cuixiaolei123
  • 2017年12月22日 14:42
  • 43

Linux设备驱动中的阻塞与非阻塞I/O 及 等待队列的使用说明

注:文章上写的是异步通知,zhi'qi
  • qq492149907
  • qq492149907
  • 2014年09月19日 19:10
  • 308

CPLD/FPGA/Verilog_Verilog中阻塞与非阻塞的区别

在Verilog中有两种类型的赋值语句:阻塞赋值语句(“=”)和非阻塞赋值语句(“...
  • yangtalent1206
  • yangtalent1206
  • 2011年05月18日 17:09
  • 2191
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux设备驱动之阻塞与非阻塞I/0
举报原因:
原因补充:

(最多只允许输入30个字)