I/O

数据在内部/外部存储器或其他周边设备之间的输入和输出通信

I/O(英语:Input/Output),即输入/输出,通常指数据存储器(内部和外部)或其他周边装置之间的输入和输出,是资讯处理系统(例如电脑)与外部世界(经常是人与人透过资讯处理系统)之间的通信。输入是系统接收的信号或数据,输出则是从其发送的信号或数据。该术语也可以用作行动的一部分;到“执行I/O”是执行输入或输出的操作。

用于RCA连接器(立体声音频和复合视频)和输入S视频(迷你DIN4针)的输入/输出SCART转接器,经常使用的一种硬件周边装置

输入/出装置是硬件中由人(或其他系统)使用与电脑进行通信的部件。例如,键盘滑鼠是电脑的输入装置,而监视器打印机是输出装置。电脑之间的通信装置(如电信调制解调器网卡)通常执行输入和输出操作。

在现代电脑架构中CPU可以使用单独的指令直接读取或写入,被认为是电脑的核心。而CPU和主存储器的组合,任何资讯传入或传出CPU内存组合,例如通过从磁碟驱动器读取数据,就会被认为是I/O;CPU及其电路版提供用于低端编程的存储器映射 I/O,例如在装置驱动程式的实现中,或者提供对 I/O 通道的访问。一个 I/O 算法设计是利用内存,而且高效地进行与辅助存储装置交换数据时,如一个磁碟驱动器。

用途

数据存储器(内部和外部)或其他周边装置之间的输入和输出,是资讯处理系统(例如电脑)与外部世界(可能是人类或另一资讯处理系统)之间的通信.

输入

输出

双向

工作模式

  • 交互机制(消息通信机制),或理解为协作机制:
    • 同步:调用者会主动等待调用结果。按照“调用者”线程在等待调用结果时的状态可分为:
      • 阻塞:线程被操作系统挂起。
      • 非阻塞:线程不被操作系统挂起,可以处理其他事情。
    • 异步:调用者发起一个异步调用,然后立即返回去做别的事。“被调用者”通过状态、通知、回调函数等手段来通知“调用者”。异步IO不是FIFO有序的,例如进程A与进程B先后对一个端口发起了异步读操作,有可能是进程B先得到读操作的结果。

参见

外部参考