導航:首頁 > 軟體知識 > 多道程序怎麼提高io利用率

多道程序怎麼提高io利用率

發布時間:2022-12-10 06:08:23

1. 實現多道程序設計要解決哪些問題

實現多道程序設計要解決的幾個問題:

1、存儲保護和地址重定位。(幾道程序共享同一主存)

2、處理機的管理和調度。(共享同一處理機)

3、資源的管理與分配。(共享系統資源)

多道程序設計是在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制之下,相互穿插的運行。 兩個或兩個以上程序在計算機系統中同處於開始到結束之間的狀態。這就稱為多道程序設計。

多道程序設計的特徵

1、多道:即計算機內存中同時存放幾道相互獨立的程序。

2、宏觀上並行:同時進入系統的幾道程序都處於運行過程中,即它們先後開始了各自的運行,但都未運行完畢。

3、微觀上串列:從微觀上看,內存中的多道程序輪流地或分時地佔有CPU。

(1)多道程序怎麼提高io利用率擴展閱讀

多道程序設計的利弊

1、提高了CPU的利用率

2、提高了內存和I/O設備的利用率

3、改進了系統的吞吐率

4、充分發揮了系統的並行性

5、主要缺點是延長了作業周轉時間

2. 什麼是多道程序設計採用多道程序設計有何好處

1、多道程序設計是在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制之下,相互穿插的運行。 兩個或兩個以上程序在計算機系統中同處於開始到結束之間的狀態。這就稱為多道程序設計。
2、多道程序技術運行提高CPU的利用率,充分發揮計算機系統部件的並行性,現代計算機系統都採用了多道程序設計技術,也加快了OS的誕生。

3. 採用多道程序設計的主要優點使什麼

多道程序設計的優點:

1.提高CPU的利用率。在多道程序設計環境中,要求多個程序共享計算機資源。當一個程序等待I/O操作時,CPU可以執行其他程序,從而極大地提高了CPU利用率。

2.提高設備利用率。在多程序環境中,多個程序共享系統的設備,大大提高了系統設備的利用率。

3.提高系統的吞吐量。在多程序環境下,減少了程序的等待時間,提高了系統的吞吐量。

(3)多道程序怎麼提高io利用率擴展閱讀:

多程序設計是將幾個獨立的程序同時存儲在計算機存儲器中,使它們處於管理程序的控制之下,相互穿插。計算機系統中從開始到結束的兩個或多個程序的狀態。這個源叫做多道程序設計。

多道程序操作的特點:

1.多通道:幾個獨立的程序同時存儲在計算機的主存中。

2.宏觀並行:同時進入系統的幾個程序都在運行中,也就是說,它們都開始運行,但沒有一個完成運行。

3、微串列:從微的角度來看,主存中的多通道程序依次或分時佔有程度的處理器,交替運行。

4. 為什麼引入多道程序設計技術可以提高系統資源利用率

所謂多道程序設計技術,就是允許多個程序同時進入內存並運行。

引入多道程序設計技術的目的是 充分利用處理器資源
請參考

5. 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只能控制一台或者少數幾台同類設備,而一個通道可以控制多台同類或者不同的設備。

6. 什麼是多道程序設計多道程序設計的特點是什麼

多道程序設計是在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制之下,相互穿插的運行。 兩個或兩個以上程序在計算機系統中同處於開始到結束之間的狀態。這就稱為多道程序設計。

多道程序設計運行的特徵:

1、多道:計算機主存中同時存放幾道相互獨立的程序。

2、宏觀上並行:同時進入系統的幾道程序都處於運行過程中,即它們都開始運行,但都未運行完畢。

3、微觀上串列:從微觀上看,主存中的多道程序輪流或分時地佔有處理機,交替運行。

(6)多道程序怎麼提高io利用率擴展閱讀

多道程序設計優點:

1、提高CPU的利用率。在多道程序環境下,多個程序共享計算機資源當某個程序等待I/O操作時,CPU可以執行其他程序,大大提高CPU的利用率。

2、提高設備的利用率。在多道程序環境下,多個程序共享系統的設備,大大提高系統設備的利用率。

3、提高系統的吞吐量。在多道程序環境下,減少了程序的等待時間,提高了系統的吞吐量。

7. 在多道程序系統中,整個系統的資源利用率是提高了還是降低了為什麼對於單個

提高。
提高CPU的利用率。在多道程序設計環境中,要求多個程序共享CPU可以執行其他程序,從而極大地提高了CPU利用率。
多道程序操作的特點:多通道:幾個獨立的程序同時存儲在計算機的主存中,宏觀並行:同時進入系統的幾個程序都在運行中,也就是說,它們都開始運行,但沒有一個完成運行。微串列:從微的角度來看,主存中的多通道程序依次或分時佔有程度的處理器,交替運行。

閱讀全文

與多道程序怎麼提高io利用率相關的資料

熱點內容
電工忘記市場部分斷電罰款多少錢 瀏覽:776
平涼市長熱線的程序是什麼 瀏覽:988
待產包都需要什麼產品 瀏覽:881
虛擬產品怎麼做到24小時 瀏覽:874
蘋果哪個會攔截信息 瀏覽:360
seegreen都有什麼產品 瀏覽:678
早上怎麼發信息給餐飲客戶訂位 瀏覽:17
小米手機代言什麼產品好 瀏覽:708
青浦區信息網站有哪些 瀏覽:864
聯合華鵬汽車市場有哪些品牌 瀏覽:174
常州信息職業學院官網如何刷題 瀏覽:142
黃金主要是交易什麼 瀏覽:648
東城區多功能網路技術怎麼樣 瀏覽:76
發快遞如何查物流信息 瀏覽:628
如何開機自動運行程序 瀏覽:299
插畫師和程序員哪個更累 瀏覽:140
安卓系統如何清除id信息 瀏覽:190
撫州有哪些傢具市場 瀏覽:693
珀萊雅代理費用多少錢 瀏覽:370
南京朝天宮古玩市場怎麼坐車 瀏覽:529