本頁使用了標題或全文手工轉換

I/O

維基百科,自由的百科全書
跳至導覽 跳至搜尋

I/O(英語:Input/Output),即輸入/輸出,通常指資料在記憶體和外部記憶體或其他周邊裝置之間的輸入和輸出。

輸入/出(英文:Input/Output,簡寫為 I/O)是資訊處理系統(例如電腦)與外部世界(可能是人類或另一資訊處理系統)之間的通訊。輸入是系統接收的訊號或資料,輸出則是從其發送的訊號或資料。該術語也可以用作行動的一部分;到「執行I/O」是執行輸入或輸出的操作。

輸入/出裝置是硬體中由人(或其他系統)使用與電腦進行通訊的部件。例如,鍵盤或鼠標是電腦的輸入裝置,而監視器和印表機是輸出裝置。電腦之間的通訊裝置(如電信數據機和網卡)通常執行輸入和輸出操作。

將裝置指定為輸入或輸出取決於視角。鼠標和鍵盤擷取人類用戶的肢體動作,並將其轉換為電腦可解的輸入訊號; 這些裝置的輸出是電腦的輸入。同樣,印表機和監視器則用於將電腦處理的過程和結果輸出,並將這些訊號轉換為人類用戶能理解的呈現。從用戶的角度來看,閱讀或檢視這些呈現的過程則是接受輸入;人機互動主要是在研究了解機器與人類之間這種過程的互動介面。

在現代電腦體系結構中 CPU 可以使用單獨的指令直接讀取或寫入,被認為是電腦的核心。而 CPU 和主記憶體儲器的組合,任何資訊傳入或傳出 CPU /記憶體組合,例如通過從磁盤驅動器讀取資料,就會被認為是 I/O;CPU 及其電路版提供用於低階編程的儲存器對映 I/O,例如在裝置驅動程式的實現中,或者提供對 I/O通道的存取。一個 I/O演算法設計是利用記憶體,而且高效地進行與輔助儲存裝置交換資料時,如一個磁盤驅動器。

用途[編輯]

輸入[編輯]

輸出[編輯]

雙向[編輯]

工作模式[編輯]

  • 互動機制(訊息通訊機制),或理解為共同作業機制:
    • 同步:呼叫者會主動等待呼叫結果。按照「呼叫者」執行緒在等待呼叫結果時的狀態可分為:
      • 阻塞:執行緒被作業系統掛起。
      • 非阻塞:執行緒不被作業系統掛起,可以處理其他事情。
    • 非同步:呼叫者發起一個非同步呼叫,然後立即返回去做別的事。「被呼叫者」通過狀態、通知、回呼函式等手段來通知「呼叫者」。非同步IO不是FIFO有序的,例如行程A與行程B先後對一個埠發起了非同步讀操作,有可能是行程B先得到讀操作的結果。

參見[編輯]