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

工程機(jī)械控制器廠家 控制器國產(chǎn)替代 #國產(chǎn)控制器#控制器廠家#控制器品牌
一文讀懂IO控制器:靈活高效的工業(yè)信號采集與控制利器
在鴻IO控制器:以輕量之軀,鴻蒙之力,重塑國產(chǎn)物聯(lián)生態(tài)



脈沖全閉環(huán)EtherCAT運動控制器的固件升級 #正運動技術(shù) #擴(kuò)展模塊 #IO模塊 #運動控制器
遠(yuǎn)程IO控制器ZLAN6808-3 使用JSON定時下發(fā)執(zhí)行DO通斷

MCU IO口的作用和特點
cpu控制器的主要作用是什么
控制器的主要作用是指什么
組合邏輯控制器和硬布線控制器一樣嗎
什么是遠(yuǎn)程IO控制器?它有哪些作用?
遠(yuǎn)程IO與分布式IO的區(qū)別

評論