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先得到读操作的结果。

参见

外部参考