1 直觀理解
IO是Input、Output的簡稱,即輸入輸出。鼠標鍵盤是向計算機輸入信息,顯示器是輸出設備,接收計算機的輸出並顯示。
2 從計算機的組織架構理解
計算機的核心(CPU和內存),與其它設備之間數據轉移的過程就是IO。比如數據從磁盤讀入到內存,或內存的數據寫回到磁盤,都是IO操作。在計算機的世界里,這就是IO的本質。
3 從編程的角度理解
應用程序的IO操作有兩種:IO調用和IO執行。IO調用是進程發起的,IO執行是操作系統的工作,因此,這里說的IO是應用程序對操作系統IO功能的觸發。
因此,應用程序里IO調用的目的是將進程的內部數據輸出到外部,或將外部數據輸入到進程內部。這里的外部指的是非進程空間數據。
舉例,一個進程的IO輸入操作流程如下:
a)進程向操作系統請求外部數據
b)操作系統將數據從外部磁盤拷貝到內存緩沖區
c)操作系統將數據從內存緩沖區拷貝到進程緩沖區
d)進程讀取數據進行操作