計算機視角
馮?諾伊曼計算機的基本思想中有提到計算機硬件組成應為五大部分:控制器,運算器,存儲器,輸入和輸出。其中輸入是指將數據輸入到計算機的設備,比如鍵盤鼠標;輸出是指從計算機中獲取數據的設備,比如顯示器;以及既是輸入又是輸出設備,硬盤,網卡等。
用戶通過操作系統才能完成對計算機的操作。計算機啟動時,第一個啟動的程序是操作系統的內核,它將負責計算機的資源管理和進程的調度。換句話說:操作系統負責從輸入設備讀取數據并將數據寫入到輸出設備。
所以I/O之于計算機,有兩層意思:
1、I/O設備
對I/O設備的數據讀寫
對于一次I/O操作,必然涉及2個參與方,一個輸入端,一個輸出端,而又根據參與雙方的設備類型,我們又可以分為磁盤I/O,網絡I/O(一次網絡的請求響應,網卡)等。
2、程序視角
應用程序作為一個文件保存在磁盤中,只有加載到內存到成為一個進程才能運行。應用程序運行在計算機內存中,必然會涉及到數據交換,比如讀寫磁盤文件,訪問數據庫,調用遠程API等等。但我們編寫的程序并不能像操作系統內核一樣直接進行I/O操作。
因為為了確保操作系統的安全穩定運行,操作系統啟動后,將會開啟保護模式:將內存分為內核空間(內核對應進程所在內存空間)和用戶空間,進行內存隔離。我們構建的程序將運行在用戶空間,用戶空間無法操作內核空間,也就意味著用戶空間的程序不能直接訪問由內核管理的I/O,比如:硬盤、網卡等。
但操作系統向外提供API,其由各種類型的系統調用(System Call)組成,以提供安全的訪問控制。
所以應用程序要想訪問內核管理的I/O,必須通過調用內核提供的系統調用(system call)進行間接訪問。
所以I/O之于應用程序來說,強調的通過向內核發起系統調用完成對I/O的間接訪問。換句話說應用程序發起的一次IO操作實際包含兩個階段:
IO調用階段:應用程序進程向內核發起系統調用
IO執行階段:內核執行IO操作并返回
. 準備數據階段:內核等待I/O設備準備好數據
. 拷貝數據階段:將數據從內核緩沖區拷貝到用戶空間緩沖區
I/O輸入/輸出(Input/Output),分為IO設備和IO接口兩個部分。
在POSIX兼容的系統上,例如Linux系統,I/O操作可以有多種方式,比如DIO(Direct I/O),AIO(Asynchronous,I/O 異步I/O),Memory-Mapped I/O(內存映設I/O)等,不同的I/O方式有不同的實現方式和性能,在不同的應用中可以按情況選擇不同的I/O方式。
輸入輸出I/O流可以看成對字節或者包裝后的字節的讀取就是拿出來放進去雙路切換;實現聯動控制系統的弱電線路與被控設備的強電線路之間的轉接、隔離,以防止強電竄入系統,保障系統的安全;
與專線控制盤連接,用于控制重要消防設備(如消防泵、噴淋泵、風機等),一只模塊可控制一臺大型消防設備的啟、停控制;
插拔式結構,可像安裝探測器一樣先將底座安裝在墻上,布線后工程調試前再將切換模塊插入底座。易于施工、維護;
確認燈動作燈—紅色,回答燈—綠色;動作時,動作燈常亮、回答燈常亮。
IO輸出口可接繼電器,繼電器接點負載AC250V/3A、DC30V/7A啟動為一組常開/常閉觸點、停止為一組常開觸點。
審核編輯 黃宇
-
IO控制器
+關注
關注
0文章
30瀏覽量
7737
發布評論請先 登錄
Analog Devices Inc. MAX22516 IO-Link數據鏈路控制器數據手冊



一文讀懂IO控制器:靈活高效的工業信號采集與控制利器
在鴻IO控制器:以輕量之軀,鴻蒙之力,重塑國產物聯生態




遠程IO控制器ZLAN6808-3 使用JSON定時下發執行DO通斷

MCU IO口的作用和特點
電機控制器的作用是什么?


評論