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

参见

外部參考