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

參見

外部參考