Advertisement

非阻塞 IO

阅读量:

IO分类

  1. 阻塞式输入输出
  2. 非阻塞式输入输出
  3. 输入输出多路复用(select)
  4. 异步输入输出(信号驱动的输入输出)

IO类型

1、异步通知机制:当设备完成初始化并处于可用状态时,系统会主动向应用程序发送通知。这种异步通知方式意味着设备在具备访问条件时自行触发通知,从而实现了异步I/O操作。该过程由操作系统内核向应用程序发出信号,其工作原理类似于硬件中断机制。
2、阻塞式I/O操作要求应用程序持续等待,直到设备具备可访问性后才进行后续操作。
3、非阻塞I/O模式下,若当前设备无法被访问,则立即返回相应结果,而不会进入等待状态。
4、轮询I/O方式通过调用poll()函数来检测设备是否处于可访问状态。

Linux 中最为常见信号的含义及其默认操作,详见Linux信号列表.pdf。

在这里插入图片描述

重点关注的信号:

  • SIGIO 信号用于键盘输入或文件的可读与可写操作
    • SIGINT 信号对应终端中断操作,通常由 ctrl+c 触发
    • SIGQUIT 信号表示终端退出操

全部评论 (0)

还没有任何评论哟~