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

參見

外部參考