㈠ 在一般操作系統中,設備管理的主要功能包括是什麼
設備中斷處理,緩沖區管理,設備分配和去配,設備驅動調度,實現虛擬設備
㈡ I/O 操作的那些事兒:輪詢 ,中斷 , DMA ,通道(轉載)
原文鏈接: https://www.cnblogs.com/niuyourou/p/12588407.html
I/O 設備是計算機的重要組成部分,介於處理器與 I/O 設備交互的復雜性,I/O 操作一直是高級語言開發者比較難掌握的一個技術點。
因為高級語言對 I/O 操作的封裝基於操作系統提供的系統函數,而這些系統函數的調用方式又與其硬體層的結構與工作機制息息相關,所以想要徹底搞懂 I/O 操作的那些函數,必須對其基於的底層設備的工作方式有一定的了解。下面我們看一下 I/O 操作演變的過程。
1. 輪詢方式的 I/O 操作
對I/O設備的程序輪詢的方式,是早期的計算機系統對I/O設備的一種管理方式。它 定時對各種設備輪流詢問一遍有無處理要求。輪流詢問之後,有要求的,則加以處理。在處理I/O設備的要求之後,處理機返回繼續工作 。盡管輪詢需要時間,但輪詢不比I/O設備的速度要快得多,所以一般不會發生不能及時處理的問題,I/O操作的時效性是可以保證的。但是處理器的速度再快,能處理的輸入輸出設備的數量也是有一定限度的。而且,程序輪詢會占據CPU相當一部分處理時間,因此程序輪詢是一種效率較低的方式,在現代計算機系統中已很少應用。燃敬頃
2. 中斷方式的 I/O 操作
處理器與 I/O 設備間幾個數量級的速度差異是 I/O 操作中存在的重要矛盾,是設備管理要解決的一個重要問題。為了提高整體效率,減少在程序直接控制 I/O 設備與處理器進行數據交互是很必要的。在I/O設備中斷方式下,中央處理器與I/O設備之間數據的傳輸步驟如下:
⑴在某個進程需要數據時,發出指令啟動輸入輸出設備准備數據
⑵ 在進程發出指令啟動設備之後,該進程放棄處理器,並由操作系統將進程置為阻塞狀態,等待相關I/O操作完成 。此時皮陸, 進程調度程序會調度其他就緒進程使用處理器 。
⑶當I/O操作完成時, 輸入輸出設備控制器通過中斷請求線向處理器發出中斷信號,處理器收到中斷信號之後,轉向預先設計好的中斷處理程序,對數據傳送工作進行相應的處理 。
⑷數據准備完成後,OS將阻塞的進程喚醒,將其轉入就緒狀態。在隨後的某個時刻,進程調度程序會選中該進程繼續工作。
中斷方式的優缺點
I/O設備中斷方式 使處理器的利用率提高,且能支持多道程序和I/O設備的並行操作 。
不過,中斷方式仍然存在一些問題。首先,現代計算機系統通常配置有各種各樣的輸入輸出設備。 如果這些I/O設備都同過中斷處理方式進行並行操作,那麼中斷次數的急劇增加會造成CPU無法響應中斷和出現數據丟失現象 。
其次, 如果I/O控制器的數據緩沖區比較小 ,在緩沖區裝滿數據之後將會發生中斷。那麼,在數據傳送過程中,發生中斷的機會較多,這將耗去大量的CPU處理時間。
這里為了與下一種 I/O 方式進行區分,我們再說一下 I/O 設備的工作方式。我們先來了解一個硬體設備,設備控制器。
2.1 設備控制器
設備控制器是計算機中的一個實體,其主要職責是控制一個或多個I/O設備,以實現I/O設備和計算機之間的數據交換。它是CPU與I/O設備之間的介面,它接收從CPU發來的命令,並去控制I/O設備工作,以使處理機從繁雜的設備控制事務中解脫出來。設備控制器是一個可編址的設備,當它僅控制一個設備時,它只有一個唯一的設備地址;若控制可連接多個設備時,則應含有多個設備地址,並使每一個設備地址對應一個設備。設備控制器有許多職責,我們只說與本次講解相關的職責,即數據交換。
數據交換是指CPU與控制器之間、控制器與設備之間的數據交換。對於前者,是通過數據匯流排,由CPU並行地把數據寫入控制器,或從控制器中並稿乎行地讀出數據;對於後者,是設備將數據輸入到控制器,或從控制器傳送給設備。為此,在控制器中須設置數據寄存器。
我們上面所說的中斷,便是設備控制器向處理器發出的中斷,可以想像數據交互的過程:
1. 處理器需要磁碟上的 100M 數據,於是向磁碟處理器發出讀取指令,然後進程阻塞,等待數據准備完畢。
2. 磁碟處理器接收到讀取指令,執行尋道/定址等磁碟操作找到目標數據,將數據讀取到磁碟處理器的寄存器中。假設寄存器容量為 1M ,等待寄存器讀滿後向 CPU 發出中斷。
3. CPU 接收到中斷信號,喚醒進程執行數據讀取指令,將數據從磁碟控制器的寄存器讀取到內存。等待讀取完成,沒有數據可讀取,繼續進入阻塞狀態。
4. 磁碟控制器再次將磁碟中的數據讀取到寄存器,又是 1M ,再次向 CPU 發送中斷。循環往復,直到將 10 M 數據讀取完成。
可以看到,總體的優化思路是通過中斷機制,將設備控制器從設備中讀取數據到寄存器的時間節省了出來,CPU 不會繁忙等待在這段時間上,可以去做其它有意義的事情。別說,這個思路與鎖的實現很相似,是繁忙等待到非繁忙等待的優化,避免了 CPU 的無效運算。
但是缺點剛剛也講述的很清楚,頻繁的中斷會加大 CPU 的壓力,尤其是一些設備控制器的寄存器比較小的情況下,一次 I/O 操作中進行中斷的頻率非常高。另外將數據由設備處理器讀取到內核緩沖區的過程 CPU 是全程干預,一個位元組一個位元組進行讀寫的,這些操作並沒有什麼復雜的邏輯,由 CPU 直接處理顯得有些浪費資源。
3. DMA 方式的I/O 操作
直接內存存取技術是指, 數據在內存與I/O設備間直接進行成塊傳輸。該技術基於 DMA 設備,將 CPU 從簡單的數據傳輸工作中解放了出來 。
DMA有兩個技術特徵,首先是 直接傳送 ,其次是 塊傳送 。所謂直接傳送,即在內存與IO設備間傳送一個數據塊的過程中,不需要CPU的任何中間干涉,只需要CPU在過程開始時向設備發出「傳送塊數據」的命令,然後通過中斷來得知過程是否結束和下次操作是否准備就緒,當然這里的中斷是 DMA 設備向 CPU 發出的而不是設備控制器。
DMA工作過程:
⑴當進程要求設備輸入數據時,CPU把准備存放輸入數據的內存起始地址以及要傳送的位元組數分別送入DMA控制器中的內存地址寄存器和傳送位元組計數器。
⑵發出數據傳輸要求的進行進入等待狀態。此時正在執行的CPU指令被暫時掛起,進程進入阻塞狀態。進程調度程序調度其他進程占據CPU。
⑶輸入設備不斷地竊取CPU工作周期(或者說與 CPU 爭取內存匯流排),將數據緩沖寄存器中的數據源源不斷地寫入內存,直到所要求的位元組全部傳送完畢。
⑷DMA控制器在傳送完所有位元組時,通過中斷請求線發出中斷信號。CPU在接收到中斷信號後,轉入中斷處理程序進行後續處理。
⑸中斷處理結束後,CPU返回到被中斷的進程中,或切換到新的進程上下文環境中,繼續執行。
DMA與中斷的區別
⑴中斷方式是在設備控制器的數據緩沖寄存器滿之後發出中斷,由設備控制器發出,要求CPU進行中斷處理,而DMA方式則是 在所要求傳送的數據塊全部傳送結束時要求CPU 進行中斷處理,由 DMA 設備發出 。這就極大的減少了CPU進行中斷處理的次數。
⑵中斷方式的 數據傳送是在中斷處理時由CPU控制完成的 ,而DMA方式則是 在DMA控制器的控制下,不經過CPU控制完成的 。這就排除了CPU因並行設備過多而來不及處理以及因速度不匹配而造成數據丟失等現象。
DMA方式的優缺點
在DMA方式中,由於I/O設備直接同內存發生成塊的數據交換,因此I/O效率比較高。由於DMA技術可以提高I/O效率,因此在現代計算機系統中,得到了廣泛的應用。許多輸入輸出設備的控制器,特別是塊設備的控制器,都支持DMA方式。
通過上述分析可以看出,DMA控制器功能的強弱,是決定DMA效率的關鍵因素。DMA控制器需要為每次數據傳送做大量的工作,數據傳送單位的增大意味著傳送次數的減少。另外,DMA方式竊取了時鍾周期,因為其占據了訪問內存的數據匯流排,CPU處理效率降低了,要想盡量少地竊取始終周期,就要設法提高DMA控制器的性能,這樣可以較少地影響CPU處理效率。
總的來說 DMA 是一種比較令人滿意的處理方式,通過 DMA 設備的引入將 CPU 從繁重的 I/O 操作中解放了出來。CPU 只需要發送讀取請求和獲得處理結果,而不需要關注 I/O 操作的具體傳輸過程。
4. 通道方式的 I/O
輸入/輸出通道是一個獨立於CPU的,專門管理I/O的處理機,它控制設備與內存直接進行數據交換。它有自己的通道指令,這些通道指令由CPU啟動,並在操作結束時向CPU發出中斷信號。輸入/輸出通道控制是一種以內存為中心,實現設備和內存直接交換數據的控制方式。在通道方式中,數據的傳送方向、存放數據的內存起始地址以及傳送的數據塊長度等都由通道來進行控制。另外,通道控制方式可以做到一個通道控制多台設備與內存進行數據交換。因而,通道方式進一步減輕了CPU的工作負擔,增加了計算機系統的並行工作程度。
按照信息交換方式和所連接的設備種類不同,通道可以分為以下三種類型:
⑴位元組多路通道
它適用於連接列印機、終端等低速或中速的I/O設備。這種通道以位元組為單位交叉工作:當為一台設備傳送一個位元組後,立即轉去為另一它設備傳送一個位元組。
⑵選擇通道
它適用於連接磁碟、磁帶等高速設備。這種通道以「組方式」工作,每次傳送一批數據,傳送速率很高,但在一段時間只能為一台設備服務。每當一個I/O請求處理完之後,就選擇另一台設備並為其服務。
⑶成組多路通道
這種通道綜合了位元組多路通道分時工作和選擇通道傳輸速率高的特點,其實質是:對通道程序採用多道程序設計技術,使得與通道連接的設備可以並行工作。
在通道控制方式中,I/O設備控制器(常簡稱為I/O控制器)中沒有傳送位元組計數器和內存地址寄存器,但多了通道設備控制器和指令執行部件。CPU只需發出啟動指令,指出通道相應的操作和I/O設備,該指令就可啟動通道並使該通道從內存中調出相應的通道指令執行。一旦CPU發出啟動通道的指令,通道就開始工作。I/O通道控制I/O控制器工作,I/O控制器又控制I/O設備。這樣,一個通道可以連接多個I/O控制器,而一個I/O控制器又可以連接若乾颱同類型的外部設備。由於通道和控制器的數量一般比設備數量要少,因此,如果連接不當,往往會導致出現「瓶頸」。故一般設備的連接採用交叉連接,這樣做的好處是:
① 提高系統的可靠性:當某條通路因控制器或通道故障而斷開時,可使用其他通路。
② 提高設備的並行性:對於同一個設備,當與它相連的某一條通路中的控制器或通道被佔用時,可以選擇另一條空閑通路,減少了設備因等待通路所需要花費的時間。
通道處理機
通道相當於一個功能單純的處理機,它具有自己的指令系統,包括讀、寫、控制、轉移、結束以及空操作等指令,並可以執行由這些指令編寫的通道程序。
通道的運算控制部件包括:
① 通道地址字(CAW):記錄下一條通道指令存放的地址,其功能類似於中央處理機的指令寄存器。
② 通道命令字(CCW):記錄正在執行的通道指令,其作用相當於中央處理機的指令寄存器。
③ 通道狀態字(CSW):記錄通道、控制器、設備的狀態,包括I/O傳輸完成信息、出錯信息、重復執行次數等。
通道一般需要與主機共享同一個內存,以保存通道程序和交換數據。通道訪問內存採用「周期竊用」,方式。採用通道方式後,輸入/輸出的執行過程如下:
CPU在執行用戶程序時遇到I/O請求,根據用戶的I/O請求生成通道程序(也可以是事先編好的)。放到內存中,並把該通道程序首地址放入CAW中。
然後,CPU執行「啟動I/O」指令,啟動通道工作。通道接收「啟動I/O」指令信號,從CAW中取出通道程序首地址,並根據此地址取出通道程序的第一條指令,放入CCW中;同時向CU發回答信號,通知「啟動I/O」指令完成完畢,CPU可繼續執行。
通道開始執行通道程序,進行物理I/O操作。當執行完一條指令後,如果還有下一條指令則繼續執行;否則表示傳輸完成,同時自行停止,通知CPU轉去處理通道結束事件,並從CCW中得到有關通道狀態。總之,在通道中,I/O運用專用的輔助處理器處理I/O操作,從而減輕了主處理器處理I/O的負擔。主處理器只要發出一個I/O操作命令,剩下的工作完全由通道負責。I/O操作結束後,I/O通道會發出一個中斷請求,表示相應操作已完成。
通道的思想是從早期的大型計算機系統中發展起來的。在早期的大型計算機系統中,一般配有大量的I/O設備。為了把對I/O設備的管理從計算機主機中分離出來,形成了I/O通道的概念,並專門設計出I/O通道處理機。I/O通道在計算機系統中是一個非常重要的部件,它對系統整體性能的提高起了相當重要的作用。不過,隨著技術不斷的發展,處理機和I/O設備性能的不斷提高,專用的、獨立I/O通道處理機已不容易見到。但是通道的思想又融入了許多新的技術,所以仍在廣泛地應用著。由於光纖通道技術具有數據傳
輸速率高、數據傳輸距離遠以及可簡化大型存儲系統設計的優點,新的通用光纖通道技術正在快速發展。這種通用光纖通道可以在一個通道上容納多達127個的大容量硬碟驅動器。顯然,在大容量高速存儲應用領域,通用光纖通道有著廣泛的應用前景。
對於前三種 I/O 交互方式來說,特點如下:
1. 都需要 CPU 的介入:輪詢方式需要 CPU 完全介入;中斷方式需要 CPU 完全介入,但 CPU 在此期間進行非繁忙等待,可以做其它事情;DMA 方式需要 CPU 在傳輸開始和結束時介入。
2. 需要的硬體支持:輪詢方式只需要最基本的處理器即可;中斷方式需要增加中斷控制器;DMA 方式需要 DMA 處理器和中斷控制器。
這三種方式適合外設不太多的小型機,對於 I/O 設備多,輸入輸出繁雜的系統,佔用 CPU 時間太多,硬體介面太復雜。通道技術使得 CPU 可以在有限的 I/O 指令下管理眾多的外部設備,代替 CPU 控制和管理外設。
CPU 和 I/O 設備之間增加了設備控制器後 已經可以大大減少CPU 對 I/O 的干涉 ,使得CPU 從繁多的io處理中解脫出來,但是當主機所配置的外設備很多時,CPU 負擔還很重,為此 CPU 和設備管理器之間又加入了 I/O 通道 其主要目的是為了建立獨立的io操作,不僅使得數據的傳送獨立於 CPU ,還希望有關 I/O 設備的組織/管理以及結束處理盡量獨立,簡單一點地說就是找出一種東西可以有簡單的數據處理能力來分擔 CPU 的任務,使得 CPU 專門來處理那些高級的數據 ,這些的簡單的數據的處理就交給這個東西來處理這個東西就是 I/O 通道 ,I/O 通道屬於硬體但是有執行簡單指令的能力。DMA 控制器也是類似的硬體設備,但 DMA 控制器沒有專門的處理器,雖然DMA 無需 CPU 進行外設與內存的數據交換工作,但是這只是減少了 CPU 的負擔。因而DMA 中,輸入輸出的初始化仍然要由 CPU 來完成。
DMA的好處在於將CPU中斷從每個字元中斷減少為每個緩沖區中斷,從而如果輸出字元很多時,能帶來可觀的性能提升。另一方面,DMA 控制器往往比CPU慢很多,如果DMA 控制器不能全速驅動輸出設備或者當等待DMA時CPU經常無其他任務可做,那麼Interrupt-Driven I/O或Programmed I/O可能更好。但是,大多數情況下,DMA都是更好的。通道有自己的指令系統,是一個協處理器,一般用在大型計算機系統中(不是大型機)。通道實質是一台能夠執行有限的輸入輸出指令,並能被多台外設共享的小型 DMA 專用處理機。廣義上講,DMA也屬於通道。那麼 DMA 於 通道相比:
共同點:都能實現IO設備和內存之間建立數據直傳通路;
不同點:
DMA只能實現固定的數據傳送控制,而通道有自己的指令和程序,具有更強的獨立處理數據輸入和輸出的能力。
DMA只能控制一台或者少數幾台同類設備,而一個通道可以控制多台同類或者不同的設備。
㈢ 計算機里的I/O是什麼東西啊
I/O輸入/輸出(Input/Output),分為IO設備和IO介面兩個部分。I/O也就是輸入輸出地址。每個設備都會有一個專用的I/O地址,用來處理自己的輸入輸出信息。I/O地址絕對不能重復,如果兩個設備的I/O地址有沖突,系統硬體就不能正常工作。
輸入輸出I/O流可以看成對位元組或者包裝後的位元組的讀取就是拿出來放進去雙路切換;實現聯動控制系統的弱電線路與被控設備的強電線路之間的轉接、隔離,以防止強電竄入系統,保障系統的安全;
與專線控制盤連接,用於控制重要消防設備(如消防泵、噴淋泵、風機等),一隻模塊可控制一台大型消防設備的啟、停控制。
IN/OUT指令的定址方式有直接定址和間接定址兩種。當埠地址<=0FFH時,採用直接定址方式。當埠地址>0FFH時,要採用間接定址方式,使用DX作為I/O間接地址寄存器,DX中存放I/O埠地址。
當然,埠地址<=0FFH時也可以間接定址。IN/OUT指令只能在埠和AL寄存器之間或埠和AX寄存器之間傳送信息。選擇Al還是AX,取決於埠的位數和數據匯流排寬度。
(3)在設備管理中是由什麼完成真正的IO操作擴展閱讀:
現代計算機系統中配置了大量的外圍設備,即I/O設備。依據它們的工作方式的不同,通常進行如下分類:
(1)字元設備(character device),又叫做人機交互設備。用戶通過這些設備實現與計算機系統的通信。它們大多是以字元為單位發送和接受數據的,數據通信的速度比較慢。
例如,鍵盤和顯示器為一體的字元終端、列印機、掃描儀、包括滑鼠等,還有早期的卡片和紙帶輸入和輸出機。含有顯卡的圖形顯示器的速度相對較快,可以用來進行圖像處理中的復雜圖形的顯示。
(2)塊設備(block device),又叫外部存儲器,用戶通過這些設備實現程序和數據的長期保存。與字元設備相比,它們是以塊為單位進行傳輸的,如磁碟、磁帶和光碟等。塊的常見尺寸為512~32768B之間。
(3)網路通信設備。這類設備主要有網卡、數據機等,主要用於與遠程設備的通信。這類設備的傳輸速度比字元設備高,但比外部存儲器低。
這種分類的方法並不完備,有些設備並沒有包括。例如,時鍾既不是按塊訪問,也不是按字元訪問,它所做的是按照預先規定好的時間間隔產生中斷。但是這種分類足以使操作系統構造出處理I/O設備的軟體,使它們獨立於具體的設備。
I/O設備軟體:
①用戶層軟體
實現與用戶交互的介面,用戶可直接調用在用戶層提供的、與I/O操作有關的庫函數,對設備進行操作。
②設備獨立軟體
用於實現用戶程序與設備驅動器的統一介面、設備命名、設備的保護以及設備的分配與釋放等,同時為設備管理和數據傳送提供必要的存儲空間。
③設備驅動程序
與硬體直接相關,用於具體實現系統對設備發出的操作指令,驅動I/O設備工作的驅動程序。
④中斷處理程序
用於保存被中斷進程的CPU環境,轉入相應的中斷處理程序進行處理,處理完後再恢復被中斷進程的現場後,返回到被中斷進程。
㈣ 新代系統IO原理
有以下幾點:
1、用戶層I/O軟體,實現與用戶交互的介面,用戶可直接調用該層所提供的、與IO操作有關的庫函數對設備進行枯棚操山敗蔽作。
2、設備獨立性軟體,用於實現用戶程序與設備驅動器的統介面、設備命名、設備的保護以及設備的分配與釋放等,同時為設備管理和數據傳送提供必要的存儲空間。
3、設備驅動程序逗州,與硬體直接相關,用於具體實現系統對設備發出的操作指令,驅動I/O設備工作的驅動程序。
4、中斷處理程序,用於保存被中斷進程的CPU環境,轉入相應的中斷處理程序進行處理,處理完畢再恢復被中斷進程的現場後,返回到被中斷的進程。
㈤ I/O與磁碟調度是什麼
外部設備分類
(1)按系統和用戶分:系統設備、用戶設備
(2)按輸入輸出傳送方式分(UNIX或Linux操作系統):字元型設備、塊設備
(3)按資源特點分:獨享設備、共享設備、虛擬設備
(4)按設備硬體物理特性分:順序存取設備、直接存取設備
(5)按設備使用分:物理設備、邏輯設備、偽設備
(6)按數據組織分:塊設備、字元設備
(7)按數據傳輸率分:低速設備、中速設備、高速設備
設備管理的目標與任務
設備管理的目標:
(1)按用戶需求提出的要求接入外部設備,系統按一定演算法分配和管理控制,而用戶不必關心設備的實際地址和控制指令;
(2)盡量提高輸入輸出設備的利用率,例如發揮主機與外設以及外設與外設之間的真正並行工作能力。主要利用的技術有:中斷技術、DMA技術、通道技術、緩沖技術。
設備管理的任務:
(1)動態掌握並記錄設備的狀態
(2)分配設備和釋放
(3)對輸入輸出緩沖區進行管理
(4)控制和實現真正的輸入輸出操作
(5)提供設備使用的用戶介面
(6)在一些較大系統中實現虛擬設備技術
通道(channel):計算機系統中能夠獨立完成輸入輸出操作的硬體裝置,也稱為「輸入輸出處理機」。
雖然在CPU與I/O設備之間增加了設備控制器,但CPU的負擔仍很重。為此,在CPU和設備控制器之間又增設了I/O通道。其目的是使一些原來由CPU處理的I/O任務轉由通道來承擔,從而把CPU從繁雜的I/O任務中解脫出來。
CPU並不直接操作外圍設備,他連接通道(I/O處理機),通道連接設備控制器,設備控制器連接設備。CPU只需把「I/O"設備啟動,並給出相關的操作要求。然後就由通道來處理輸入輸出事宜,做完後報告CPU。
根據信息交換方式的不同,可把通道分成以下三種類型:
位元組多路通道(Byte Multiplexor Channal)
數組選擇通道(Block Selector Channal)
數組多路通道(Block Multiplexor Channal)
中斷技術
中斷(Interrupt)是指計算機在執行期間,系統內發生非尋常的或非預期的急需處理事件,使得CPU暫時中斷當前正在執行的程序而轉去執行響應的事件處理程序。待處理完畢後又返回原來中斷處繼續執行或調度遲稿新的程序執行的過程。中斷一般可分成軟體中斷和硬體中斷。
中斷方式(interrupt)被用來控中旦羨制外圍設備和內存與CPU之間的數據傳送。這種方式要求CPU與設備(或控制器)之間有相應的中斷請求線,而且在設備控制器的控制狀態寄存器的相應的中斷允許位。
1.數據輸入操作步驟:
l進程需要數據時,通過CPU發出「start」指令啟動外圍設備准備數據
l在進程發出指令啟動設備後,該進程放棄處理機,等待輸入完成。
l當輸入完成時,I/O控制器通過中斷請求線向CPU發出中斷請求。
l在以後的某個時刻,進程調度程序選中提出請求並得到數據的進程,該進程從約定的內存特定單元中取出數據繼續工作。
2.中斷方式的缺點:
1)由於在一次數據傳送過程中,發生中斷次數較多。這將耗去大量CPU處理時間。
2)當設備把數據放入數據緩沖寄存器並發出中斷信號之後,CPU有足夠的時間在下一個(組)數據進入數據緩沖寄存器之前取走數據。如果外設的速度也非常快,則有可能造成數據緩沖寄存器的數據丟賣拍失。
DMA技術
DMA 是Direct Memory Access的縮寫,其意思是「存儲器直接訪問」。它是指一種高速的數據傳輸操作,允許在外部設備和存儲器之間直接讀寫數據,即不通過CPU,也不需要 CPU干預。整個數據傳輸操作在一個稱為「DMA控制器」的控制下進行的。CPU除了在數據傳輸開始和結束時作一點處理外,在傳輸過程中CPU可以進行其它的工作。這樣,在大部分時間里,CPU和輸入輸出都處在並行操作。因此,使整個計算機系統的效率大大提高。
緩沖技術
緩沖指用來暫存數據的緩沖存儲器。
緩沖技術是二種不同速度的設備之間傳輸信息時平滑傳輸過程的一種常用手段。它可提高外設利用率,盡可能使外設處於忙狀態。引入緩沖的主要原因,可歸結為以下幾點:
1. 改善CPU與I/O設備間速度不匹配的矛盾
2. 可以減少對 CPU的中斷頻率,放寬對中斷響應時間的限制
3. 提高 CPU和 I/O設備之間的並行性
根據I/O控制方式,緩沖的實現方法有兩種:一種是採用專用硬體緩沖器;另一種是在內存劃出一個具有n個單元的專用緩沖區,以便存放輸入/輸出的數據。內存緩沖區又稱軟體緩沖。
根據系統設置的緩沖器的個數,可把緩沖技術分為:單緩沖、雙緩沖、多緩沖和緩沖池
假離線技術(SPOOLing)
SPOOLing,即外圍設備聯機並行操作,它是一種速度匹配技術、也是一種虛擬設備技術(用一種物理設備模擬另一類物理設備,使各作業在執行期間只使用虛擬的設備而不直接使用物理的獨占設備。這種技術可使獨占的設備變成可共享的設備,使得設備的利用率和系統效率都能得到提高)。
1.SPOOL系統的組成
SPOOLing系統主要有以下三部分組成:
(1)輸入井和輸出井
它們是在磁碟上開辟的兩個大緩沖區。輸入井是模擬離線輸入時的磁碟,用於收容I/O設備輸入的數據;輸出井是模擬離線輸出時的磁碟,用於收容用戶程序的輸出數據。
(2)輸入緩沖區和輸出緩沖區
在內存中要開辟兩個緩沖區,其中輸入緩沖區用於暫存由輸入設備送來的數據,以後再傳送到輸入井;輸出緩沖區用於暫存從輸出井送來的數據,以後再傳送給輸出設備。
(3)輸入進程SPi和輸出進程Spo
進程Spi模擬離線輸入時的外圍控制機,將用戶要求的數據從輸入機通過輸入緩沖區再送到輸入井。當CPU需要輸入數據時,直接從輸入井讀入內存。Spo進程模擬離線輸出時的外圍控制機,把用戶要求輸出的數據先從內存送到輸出井,待輸出設備空閑時,再將輸出井中的數據經過輸出緩沖區送到輸出設備上。
2、實現虛擬設備的條件
硬體條件:大容量磁碟;中斷裝置和通道;中央處理器與通道並行工作的能力。
軟體條件:要求操作系統採用多道程序設計技術。
3、虛擬設備的實現原理
對於多道程序,輸入時將一批作業的信息通過輸入設備預先傳送到磁碟上。輸出時將作業產生的結果也全部暫時存在磁碟上而不直接輸出,直到一個作業得到全部結果而執行結束時再行輸出。(就是用磁碟來模擬輸入機和列印機的工作,把它們的工作內容先保存起來,然後一並執行)
磁碟調度
對磁碟進行驅動調度的目的:盡可能的降低多個訪問者執行輸入輸出操作的總時間,增加單位時間內的輸入輸出操作次數,有利於系統效率的提高。
磁碟的驅動調度:在多道程序設計系統中,同時有多個訪問者請求磁碟操作,此時系統採用一定的調度策略來決定各等待訪問者的執行次序,所以系統決定等待磁碟訪問者的執行次序的工作就是磁碟的「驅動調度」。
磁碟調度分為移臂調度和旋轉調度。
根據訪問者指定的柱面位置來決定執行次序的調度稱「移臂調度」;
當移動臂定位後,如有多個訪問者等待訪問該柱面時,根據延遲時間來決定執行次序的調度稱為「旋轉調度」。
移臂調度演算法包括以下四種:
1)先來先服務演算法(FCFS);
2)最短尋找時間優先調度演算法(SSTF);
3)電梯調度演算法(SCAN);
4)單向掃描調度演算法(CSCAN)。
㈥ I/O控制方式有哪幾種
I/O控制方式主要有程序查詢方式、中斷方式、DMA方式和I/O通道控制方式。
程序查詢方式也稱為程序輪詢方式,該方式採用用戶程序直接控制主機與外部設備之間輸入/輸出操作。CPU必須不停地循環測試I/O設備的狀態埠,當發現設備處於准備好(Ready)狀態時,CPU就可以與I/O設備進行數據存取操作。
中斷方式。當I/O設備結束(完成、特殊或異常)時,就會向CPU發出中斷請求信號,CPU收到信號就可以採取相應措施。當某個進程要啟動某個設備時,CPU就向相應的設備控制器發出一條設備I/O啟動指令,然後CPU又返回做原來的工作。
DMA(直接內存存取)方式。DMA方式也稱為直接主存存取方式,其思想是:允許主存儲器和I/O設備之間通過「DMA控制器(DMAC)」直接進行批量數據交換,除了在數據傳輸開始和結束時,整個過程無須CPU的干預。
I/O通道控制方式。通道(Channel)也稱為外圍設備處理器、輸入輸出處理機,是相對於CPU而言的。是一個處理器。也能執行指令和由指令的程序,只不過通道執行的指令是與外部設備相關的指令。是一種實現主存與I/O設備進行直接數據交換的控制方式。
i/o系統即輸入輸出系統,操作系統中負責管理輸入輸出設備的部分稱為i/o系統,完成設備管理功能,包括外設編址,數據通路的建立,向主機提供外設的狀態信息等。i/o系統的組成有:i/o設備,設備控制器及i/o操作有關的軟硬體。
㈦ 計算機採用控制I / O設備的四個方法是什麼
程序I/O方式、中斷驅動I/O控制方式、DMA(直畢沖接內存訪問)I/O控制旅褲方式拆數簡、I/O通道控制方式
㈧ 設備管理的主要任務是控制設備和cpu之間進行什麼操作
設備管理的主要任務是控制設備和CPU之間進行I/O操作。
您也可以試試搭載了第六內代智能英特爾酷睿處理容器的產品,創新性的使用模式,如實感技術,姿勢控制,語音識別,2D/3D影像,突破傳統PC使用體驗,無論辦公學習、暢玩游戲或者觀看超高清影像播放,均得心應手,引領產品創新。
㈨ 網路技術中所謂的「I/O」是指什麼
1、概念I/O系統,英文全稱為「Input output system」,中文全稱為「輸入輸出系碧帆統」,由輸入輸出控制系統和外圍設備兩部分組成,是計算機系統的重要組成部分。在計算機系統中,通常把處唯慶理器和主存儲器之外的部分稱為輸入輸出系統。
2、作用:對指定外設進行i/o操作,同時完成許多其他的控制。包括外設編址,數據通路的建立,向主機提供外設的狀態信息等。
3、結構輸入輸出控制系統:在計算機中對外圍設備實施控制的系統。主要功能是:向外圍設備發送動作命令、控制輸入輸出數據的傳送、檢測外圍設備的狀態。輸入輸出設備必須通過該系統同中央處理器和主存儲器交換數據。
輸入輸出控制系統按控制方式分為中央處理器程序控制、直接存儲器存取控制、輸入輸出處理機控制三種。輸入輸出處理機控制又由通道控制方式和外圍處理機控制方式組成。
4、應用:現代計算機系統中配置了大量的外圍設備,即I/O設備。依據它們的工作方式的不同,通常進行如下分類。
(1)字元設備(character device),又叫做人機交互設備。用戶通過這些設備實現與計算機系統的通信。它們大多是以字元為單位發送和接受數據的,數據通信的速度比較慢。例如,鍵盤和顯示器為一體的字元終端、列印機、掃描儀、包括滑鼠等,還有早期的卡片和紙帶輸入和輸出機。含有顯卡的圖形顯示器的速度相對較快,可以用來進行圖像處理中的復雜圖形的顯示。
(2)塊設備(block device),又叫外部存儲器,用戶通過這些設備實現程序和數據的長期保存。與字元設備相比,它們是以塊為單位進行傳輸的,如磁碟、磁帶和光碟等。塊的常見尺寸為512~32768B之間。
(3)網路通信設備。這類設備主要有網卡、數據機等,主要用於與遠程設備的通信。這類設備的傳輸速度比字元設備高,但比外部存儲器低。這種分類的方法並不完備,有些設備並沒有包括。例如,時鍾既不是按塊訪問,也不是按字元訪問,它所做的是按照預先規定好的時間間隔產生中斷。但是這種分類足以使操作系統構造出處指慧握理I/O設備的軟體,使它們獨立於具體的設備。
I/O介面的功能是負責實現CPU通過系統匯流排把I/O電路和 外圍設備聯系在一起,按照電路和設備的復雜程度,I/O介面的硬體主要分為兩大類:
(1)I/O介面晶元
這些晶元大都是集成電路,通過CPU輸入不同的命令和參數,並控制相關的I/O電路和簡單的外設作相應的操作,常見的介面晶元如定時/計數器、中斷控制器、DMA控制器、並行介面等。
(2)I/O介面控制卡
有若干個集成電路按一定的邏輯組成為一個部件,或者直接與CPU同在主板上,或是一個插件插在系統匯流排插槽上。
按照介面的連接對象來分,又可以將他們分為串列介面、並行介面、鍵盤介面和磁碟介面等。
㈩ 操作系統——設備管理io組成
io系統的組成
需要用於輸入、輸出和存儲信息的設備;
需要相應的設備控制器;
控制器與CPU連接的高速匯流排;
有的大中型計算機系統,配置I/O通道;
I/O系統的基本功能
1)主要功能:
1.隱藏物理設備細節,方便用戶
用戶使用抽象的I/O命令即可
2.實現設備無關性,方便用戶
用戶可用抽象的邏輯設備名來使用設備,同時也提高了OS的可移植性和易適應性。
3.提高處理慶沖機和設備的並行性,提高利用率:緩沖區管理
4.對I/O設備進行控制:控制方式、設備分配、設備處理
5.確保對設備正確共享:虛擬設備及設備獨立性等
6.錯誤處理
I/O系統的層析結構和模型
層次結構:系統中的設備管理模塊分為若干層次
層次間操作:下層為上層提供服務,完成輸入輸出功能中的某些子功能,並屏蔽功能實現的細節。
I/O軟體系統的層次
.中斷處理程序:處於IO系統的底層,直接與硬體交互
.設備驅動程序:
處於底層,是進程和控制器之間的通信程序
功能:將上層發來的抽象IO請求,轉化為IO設備的具體命令和參數,並把它裝入寄存器中
.設備獨立性軟體
I/O系統介面:塊設備介面,流設備介面,網路通信介面
設備控制器
設備並不直接與CPU通信
計算機中的一個實體——「設備控制器」負責控制一個或多個I/O設備,以實現I/O設備和計算機之間的數據交換。
控制器是CPU與I/O設備之間的介面,作為中間人接收從CPU發來的命令,並去控制I/O設備工作,以使處理機脫離寬斗繁雜的設備控制事務。
常作成介面卡插入計算機
可編址,不同類:控制一個設備時只有一個地址,若連接多個設備則含有多個設備地址;管理的復雜性因設備而異,分為字元設備控制器、塊控制器
基本功能
1.接收和識別CPU命令(控制寄存器:存放命令和參數)
2.標識慎差磨和報告設備的狀態(狀態寄存器)
3.數據交換(數據寄存器)
4.地址識別(控制器識別設備地址、寄存器地址。地址解碼器)
5.數據緩沖(協調I/O與CPU的速度差距)
6.差錯控制
I/O邏輯
通過一組控制線與處理機交互
cpu要啟動一個設備時,將啟動命令發送給控制器;
同時通過地址線把地址發送給控制器
控制器的I/O邏輯對收到的地址和命令進行解碼,再根據所譯出的命令選擇設備進行控制。
實現CPU與設備控制器之間的通信(共有三類信號線)
數據線:數據線通常與寄存器相連(數據寄存器,控制/狀態寄存器)
地址線
控制線
I/O通道
當設置通道後,CPU只需要向通道發送一條I/O指令即可不在干預後續操作,通道形成通道程序,執行I/O操作,完成後向CPU發中斷信號。
主要目的:
建立更獨立(數據傳送的獨立,I/O操作的組織、管理及結束也盡量獨立)的I/O操作,解放CPU。
實際上I/O通道是一種特殊的處理機(指令類型單一,只用於I/O操作,通道沒有內存,他與CPU共享內存)
通道類型
根據其控制的外圍設備的不同類型,信息交換方式也可分為:
位元組多路通道。數組選擇通道。數組多路通道
瓶頸問題:由於通道價格昂貴,致使數量較少使它成為I/O系統的瓶頸,進而造成系統吞吐量的下降
位元組多路通道
一個通道常通過多個子通道連接多個設備控制器
多個設備,通過非分配型子通道以位元組為單位交叉輪流使用主通道傳輸自己的數據。