![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-7/20/17/3fc1de0c-d5a9-4314-a822-634a0534b5ac/3fc1de0c-d5a9-4314-a822-634a0534b5acpic.jpg)
![輸入輸出系統(tǒng)_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-7/20/17/3fc1de0c-d5a9-4314-a822-634a0534b5ac/3fc1de0c-d5a9-4314-a822-634a0534b5ac1.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第六章輸入輸出系統(tǒng),1. 輸入/輸出系統(tǒng)簡稱I/O系統(tǒng) 包括:,I/O設備(如鍵盤、磁盤、打印機) I/O設備與處理機的連接 (1)數據如何傳送(并行或串行,傳輸速率) (2)對外設如何控制(如程序控制、DMA、I/O處理機),6.1 I/O系統(tǒng)性能與CPU性能,2. I/O系統(tǒng)的基本任務:完成計算機與外界的信息交換給計算機提供大容量的外部存儲器3. 按照主要完成的工作進行分類:存儲I/O系統(tǒng)(本章內
2、容) 通信I/O系統(tǒng),6.1 I/O系統(tǒng)性能與CPU性能,3. 幾個與I/O有關的問題 (1) 對系統(tǒng)性能的影響 CPU速度再提高,如果無相適應的I/O系統(tǒng)的話,將無多大意義。,6.1 I/O系統(tǒng)性能與CPU性能,例6.1 假設一臺計算機的I/O處理占10%,當其CPU性能改進,而I/O性能保持不變時,系統(tǒng)總體性能會出現(xiàn)什么變化? 解:假設原來的程序執(zhí)行時間為1個單位時間。如果
3、CPU的性能提高10倍,程序的計算(包含I/O處理)時間為: (1 - 10%)/10 + 10% = 0.19,如果CPU的性能提高10倍 如果CPU的性能提高100倍,6.1 I/O系統(tǒng)性能與CPU性能,即整機性能只能提高約5倍,差不多有50%的CPU性能浪費在I/O上。 如果CPU性能提高100倍,程序的計算時間為: (1 - 10%)/100 + 10%
4、= 0.109而整機性能只能提高約10倍,表示有90%的性能浪費在沒有改進的I/O上了。,6.1 I/O系統(tǒng)性能與CPU性能,(2) 不同系統(tǒng)中I/O的差異 不同類型系統(tǒng)(微機、工作站、大型機、巨型機)的CPU速度差異正在縮小,差異更多來自于I/O系統(tǒng)。,6.1 I/O系統(tǒng)性能與CPU性能,(3) 評價I/O系統(tǒng)性能的參數主要有: 連接特性(哪些I/O設備可以和計算機系統(tǒng)相連接) I/O系統(tǒng)的容量(
5、I/O系統(tǒng)可以容納的I/O設備數) 響應時間和吞吐率等(4) 另一種衡量I/O系統(tǒng)性能的方法: 考慮I/O操作對CPU的打擾情況。 即考查某個進程在執(zhí)行時,由于其他進程的I/O操作,使得該進程的執(zhí)行時間增加了多少。,6.1 I/O系統(tǒng)性能與CPU性能,,6.2 可靠性、可用性和可信性,◆ 反映存儲外設可靠性能的參數,可靠性(Reliability) 可用性(Availability) 可信性(Dependabili
6、ty),◆ 與可靠性相關的三個術語,故障(fault) 錯誤(error) 失效(failure),◆ 可信性是存儲的基礎,,6.2 可靠性、可用性和可信性,1. 故障、錯誤和失效之間的關系(1) 一個故障可能會導致一個或者多個錯誤;(2) 錯誤通常具有以下特性 ◆ 錯誤在潛在狀態(tài)和有效狀態(tài)間相互轉換; ◆ 潛在的錯誤可能通過激活而有效; ◆ 有效錯誤的影響可以傳遞,引起新的錯誤。(3) 如果錯誤影響到部件正常
7、的服務時,部件就發(fā) 生了失效;(4) 系統(tǒng)中的所有部件的故障、錯誤和失效均存在 這樣的關系。,,6.2 可靠性、可用性和可信性,3. 系統(tǒng)可靠性◆ 系統(tǒng)從初始狀態(tài)開始一直提供服務的能力◆ 用平均無故障時間MTTF來衡量 (Mean Time To Failure) ◆ MTTF的倒數為失效率◆如果一個系統(tǒng)有多個部件,其工作時間服從指數分布(獨立概率事件),則系統(tǒng)失效率為部件失效率之和
8、 MTTR(平均維修時間) MTBF(平均失效間隔時間),,6.2 可靠性、可用性和可信性,4. 系統(tǒng)可用性◆ 系統(tǒng)正常工作時間在連續(xù)兩次正常服務間隔 時間中所占的比率如果時間僅包含工作和維修兩個成分:MTBF =MTTF + MTTR可用性= MTTF/( MTTF + MTTR)5. 系統(tǒng)可信性◆ 多大程度上可以合理地認為服務是可靠的◆ 可信性不可度量,,6.2 可靠性、可用性和可信性,例
9、6.2 假設磁盤子系統(tǒng)的組成部件和它們的MTTF 如下:(1) 磁盤子系統(tǒng)由10個磁盤構成,每個磁盤 的MTTF為1000000小時;(2) 1個SCSI控制器,其MTTF為500000小時;(3) 1個不間斷電源,其MTTF為200000小時;(4) 1個風扇,其MTTF為200000小時;(5) 1根SCSI連線,其MTTF為1000000小時;,,6.2 可靠性、可用性和可信性,假定部件的工作時
10、間服從指數分布,部件的工作時間與故障出現(xiàn)的概率無關;同時假定各部件的故障相互獨立,試計算整個系統(tǒng)的MTTF。解:整個系統(tǒng)的失效率為:,,,,,,,,1000000,23,1000000,1,200000,1,200000,1,500000,1,1000000,1,10,=,+,+,+,+,×,=,系統(tǒng)失效率,,6.2 可靠性、可用性和可信性,系統(tǒng)的MTTF為系統(tǒng)失效率的倒數,即:,,,小時,=,43500,23,100000
11、0,MTTF,=,大約為5年。,6.2 可靠性、可用性和可信性,指數分布:用于電子設備可靠性預計的一種分布.概率密度函數:,P(x) = ?e- ?x,期望值:,平均無故障工作時間MTTF,,? 為失效率,可靠度:,6.2 可靠性、可用性和可信性,串聯(lián)系統(tǒng):任一部件的故障即構成系統(tǒng)的故障.,,,6.2 可靠性、可用性和可信性,6. 提高系統(tǒng)組成部件可靠性的方法 有效構建方法(valid construction) 在
12、構建系統(tǒng)的過程中消除故障隱患,這樣建立起來的系統(tǒng)就不會出現(xiàn)故障。糾錯方法(error correction) 在系統(tǒng)構建中采用容錯的方法。這樣即使出現(xiàn)故障,也可以通過容錯信息保證系統(tǒng)正常工作。,6.3 廉價磁盤冗余陣列RAID,磁盤陣列DA(Disk Array):使用多個磁盤(包括驅動器)的組合來代替一個大容量的磁盤。多個磁盤并行工作。以條帶為單位把數據均勻地分布到多個磁盤上。(交叉存放)條帶存放可以使多個數據讀/
13、寫請求并行地被處理,從而提高總的I/O性能。,6.3 廉價磁盤冗余陣列RAID,這里并行性有兩方面的含義:多個獨立的請求可以由多個盤來并行地處理。 減少了I/O請求的排隊等待時間 如果一個請求訪問多個塊,就可以由多個盤合作來并行處理。 提高了單個請求的數據傳輸率,6.3 廉價磁盤冗余陣列RAID,問題:陣列中磁盤數量的增加會導致磁盤陣 列可靠性的下降。 磁盤出錯的概率增加。解決方法:在磁盤陣列中設置冗余信息
14、盤 當單個磁盤失效時,丟失的信息可以通過冗 余盤中的信息重新構建。,6.3 廉價磁盤冗余陣列RAID,◆ 廉價磁盤冗余陣列 Redundant Array of Inexpensive Disks◆ 獨立磁盤冗余陣列 Redundant Array of Independent Disks◆ 簡稱盤陣列技術 1988年,Patterson教授首先提出。 ◆ 優(yōu)點 容量大、速
15、度快、可靠性高、造價低廉,6.3 廉價磁盤冗余陣列RAID,大多數磁盤陣列的組成可以由以下兩個特征來區(qū)分: 1. 數據交叉存放的粒度 細粒度磁盤陣列是在概念上把數據分割成相對較 小的單位交叉存放。 優(yōu)點:所有I/O請求都能夠獲得很高的數據傳輸率。缺點:在任何時間,都只有一個邏輯上的I/O在處理當中,而且所有的磁盤都會因為為每個請求進行定位而浪費時間。 粗粒度磁盤陣列是把數據以相
16、對較大的單位交叉 存放。多個較小規(guī)模的請求可以同時得到處理。對于較大規(guī)模的請求又能獲得較高的傳輸率。,6.3 廉價磁盤冗余陣列RAID,2. 冗余數據的計算方法以及在磁盤陣列中的存放方式糾錯檢錯方案大多都是采用奇偶校驗碼;也有采用漢明碼(Hamming code)或Reed-Solomon碼的。 冗余信息分布 有兩種方法:把冗余信息集中存放在少數的幾個盤中。把冗余信息均勻地存放到所有的盤中。 (能避免
17、出現(xiàn)熱點問題),RAID的分級及其特性,RAID的分級及其特性,6.3 廉價磁盤冗余陣列RAID,8. 有關RAID的幾個問題 (1) 關鍵問題:如何發(fā)現(xiàn)磁盤的失效 磁盤技術提供了故障檢測操作的信息。 (2) 設計的另一個問題: 如何減少平均修復時間MTTR 典型的做法:在系統(tǒng)中增加熱備份盤 (3) 熱切換技術 與熱備份盤相關的一
18、種技術,6.3 廉價磁盤冗余陣列RAID,6.3.1 RAID0 ◆ 把數據切分成條帶,以條帶為單位交叉地 分布存放到多個磁盤中。 ◆ 非冗余陣列、無冗余信息。 ◆ 嚴格地說,它不屬于RAID系列。,6.3 廉價磁盤冗余陣列RAID,6.3.2 RAID1 亦稱鏡像盤,使用雙備份磁盤。 每當數據寫入一個磁盤時,將該數據也寫 到另一個冗余盤,形成信息的兩份復制品。,6.3 廉價磁盤
19、冗余陣列RAID,1. RAID1的特點◆ 讀性能好 RAID1的性能能夠達到RAID0性能的兩倍?!?寫性能由寫性能最差的磁盤決定。相對以后 各級RAID來說,RAID1的寫速度較快?!?可靠性很高,數據的恢復很簡單?!?最昂貴的解決方法,物理磁盤空間是邏輯磁 盤空間的兩倍。,6.3 廉價磁盤冗余陣列RAID,2. RAID1中的鏡像和分塊如何相互作用? ◆ RAID0+1 先分塊后鏡像(或稱RA
20、ID01 ),6.3 廉價磁盤冗余陣列RAID,◆ RAID1+0 先鏡像后分塊(或稱RAID10 ),6.3 廉價磁盤冗余陣列RAID,,6.3.3 RAID21. 位交叉式海明編碼陣列2. 各個數據盤上的相應位計算海明校驗碼,編碼 位被存放在多個校驗(Ecc)磁盤的對應位上。,,6.3 廉價磁盤冗余陣列RAID,3. RAID2的特點每個數據盤存放所有數據字的一位 (位交叉存放)各個數據盤上的相應位計算漢明校
21、驗碼,編碼位被存放在多個校驗(ECC)磁盤的對應位上。冗余盤用來存放漢明碼的校驗位,其個數為log2m級。 m:數據盤的個數(也就是數據字的位數)并未被廣泛應用,目前還沒有商業(yè)化產品。,6.3 廉價磁盤冗余陣列RAID,6.3.4 RAID31. 位交叉奇偶校驗盤陣列2. 單盤容錯并行傳輸:數據以位或字節(jié)交叉存儲, 奇偶校驗信息存儲在一臺專用盤上。,6.3 廉價磁盤冗余陣列RAID,3.RAID3的特點采用奇偶校驗
22、寫數據時為每行數據形成奇偶校驗位并寫入校驗盤讀出數據時如果控制器發(fā)現(xiàn)某個磁盤出故障,就可以根據故障盤以外的所有其他盤中的正確信息恢復故障盤中的數據。(通過異或運算實現(xiàn)) 細粒度的磁盤陣列,即采用的條帶寬度較小。 (可以是1個字節(jié)或1位)只需要一個校驗盤,校驗空間開銷比較小。,6.3 廉價磁盤冗余陣列RAID,6.3.5 RAID41. 專用奇偶校驗獨立存取盤陣列2. 數據以塊(塊大小可變)交叉的方式存于各盤, 奇
23、偶校驗信息存在一臺專用盤上。 目標:能同時處理多個小規(guī)模訪問請求,6.3 廉價磁盤冗余陣列RAID,3. RAID4特點◆ 冗余代價與RAID3相同◆ 訪問數據的方法與RAID3不同,在RAID4中,一次磁盤訪問不需對所有磁盤 進行操作; RAID4出現(xiàn)的原因:希望使用較少的磁盤 參與操作,以使磁盤陣列可以并行進行多 個數據的磁盤操作。,6.3 廉價磁盤冗余陣列RAID,4. RAID4讀
24、寫特點假定:有4個數據盤和一個冗余盤◆ 讀出數據,最少一次讀操作(利用扇區(qū)檢錯);◆ 寫數據需要2次磁盤讀和2次磁盤寫操作(優(yōu)化),6.3 廉價磁盤冗余陣列RAID,6.3.6 RAID51. 塊交叉分布式奇偶校驗盤陣列2. 數據以塊交叉的方式存于各盤,無專用冗余盤, 奇偶校驗信息均勻分布在所有磁盤上。,6.4 廉價磁盤冗余陣列RAID,6.3 廉價磁盤冗余陣列RAID,6.3.7 RAID61. 雙維奇偶校驗獨立存取
25、盤陣列2. 數據以塊(塊大小可變)交叉方式存于各盤, 檢、糾錯信息均勻分布在所有磁盤上。,6.3 廉價磁盤冗余陣列RAID,3. RAID6特點◆ 可容忍雙盤出錯;◆ 存儲開銷是RAID5的兩倍,6.3 廉價磁盤冗余陣列RAID,6.3.8 RAID7◆ 采用Cache和異步技術的RAID6◆ 較高的響應速度和傳輸速率,6.3 廉價磁盤冗余陣列RAID,6.3.9 RAID的實現(xiàn)與發(fā)展1. 實現(xiàn)盤陣列的方式主要有三種
26、◆ 軟件方式:陣列管理軟件由主機來實現(xiàn) 優(yōu)點:成本低 缺點:過多地占用主機時間,并且?guī)捴?標上不去?!?陣列卡方式:把RAID管理軟件固化在I/O控制 卡上,從而可不占用主機時間,一般用于工作 站和PC機。,6.3 廉價磁盤冗余陣列RAID,◆ 子系統(tǒng)方式:這是一種基于通用接口總線 的開放式平臺,可用于各種主機平臺和網 絡系統(tǒng)。,2. 盤陣列技術研究的主要熱點問題◆ 新型陣列
27、體系結構;◆ RAID結構與其所記錄文件特性的關系;◆ 在RAID冗余設計中,綜合平衡性能、可靠 性和開銷的問題;◆ 超大型盤陣列在物理上如何構造和連結的問題。,3.盤陣列技術飛速發(fā)展的原因: (1)應用需求,CPU與單個磁盤的速度差異越來越大。 (2)一些單項技術(如交叉存取、數據分塊、緩沖存儲等) 已比較成熟。 (3)在PC帶動下,小盤驅動器得到了更高速發(fā)展。 (4)微電子技術的發(fā)展,使得支持
28、盤陣列的大規(guī)模芯片成 為可能。,,6.3 廉價磁盤冗余陣列RAID,在計算機系統(tǒng)中,各子系統(tǒng)之間可以通過總線互相連接優(yōu)點:低成本、多樣性、靈活性、可擴展性缺點:必須獨占使用,造成了設備信息交換的瓶頸,從而限制了系統(tǒng)中總的I/O吞吐量。,6.4 總 線,6.4 總 線,總線設計存在很多技術難點一個重要原因:總線上信息傳送的速度極大地受限于各種物理因素。 如總線的長度、設備的數目、信號的強度等,這些
29、物理因素限制了總線性能的提高。另外,我們一方面要求I/O操作響應快,另一方面又要求高吞吐量,這可能造成設計需求上的沖突。,設計總線時需要考慮的一些問題,2. 分離事務總線(又稱:流水總線、懸掛總線、包交換總線)在有多個主設備時,可以通過打包技術來提高總線帶寬?;舅枷雽⒖偩€事務分成請求和應答兩部分。在請求和應答之間的空閑時間內,總線可以供其他的I/O使用,這樣就不必在整個I/O過程中都獨占總線。,6.4 總 線,分離事務總線有
30、較高的帶寬,但是它的數據傳送延遲通常比獨占總線方法大。,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6.4 總 線,(2) 同步總線 包含一個供總線上所有設備使用的時鐘,并且這些設備是基于該時鐘按照一個固定的協(xié)議來發(fā)送地址和數據的。 優(yōu)點:速度快、成本低。 缺點:總線操作都必須以同樣的時鐘頻率進行。(3) 異步總線 沒有統(tǒng)一的參考時鐘,每個設備都有各自的定時 方法。
31、 采用握手協(xié)議 。,6.4 總 線,I/O總線標準:定義如何將設備與計算機進行連接的文檔。常見I/O總線的一些典型特征,6.4.2 總線標準和實例,6.4 總 線,幾種常用并行I/O總線,6.4 總 線,在嵌入式系統(tǒng)中使用較多的4種串行I/O總線的一些典型特征,幾種CPU-存儲器互連系統(tǒng),6.4 總 線,6.4 總 線,6.4.3 與CPU的連接,I/O總線的物理連接方式有兩種選擇連接到存儲器上, 更常見連接到Cache上I
32、/O總線連接到存儲器總線上的方式一種典型的組織結構,,,,CPU,,Cache,,主存,,I/O,控制器,,圖形輸出,,,,,,,,,,,,,,I/O,控制器,,,,總線適配器,,,網絡,,,CPU,-主存總線,I/O,總線,,總線適配器,,,AGP總線,PCI總線,,I/O,控制器,,,I/O,控制器,總線適配器,磁盤,磁盤,CD,CPU對I/O設備的編址有兩種方式存儲器映射I/O(也稱為統(tǒng)一編址)將一部分存儲器地址空間分配給I
33、/O設備,用load指令和store指令對這些地址進行讀寫將引起I/O設備的數據傳輸。將一部分存儲空間留出用于設備控制,對這一部分地址空間進行讀寫就是向設備發(fā)出控制命令。,6.4 總 線,給I/O設備獨立編址需要在CPU中設置專用的I/O指令來訪問I/O設備。CPU需要發(fā)出一個標志信號來表示所訪問的地址是I/O設備的地址。,6.4 總 線,CPU與外部設備進行輸入/輸出的方式可分為4 種程序查詢中斷DMA通道,6.4 總
34、線,6.5 通道處理機,程序控制、中斷和DMA方式管理外圍設備會引起兩個問題:所有外設的輸入/輸出工作均由CPU承擔,CPU的計算工作經常被打斷而去處理輸入/輸出的事務,不能充分發(fā)揮CPU的計算能力。 大型計算機系統(tǒng)的外設雖然很多,但同時工作的機會不是很多。 解決上述問題的方法:采用通道處理機,6.5.1 通道的作用和功能,通道處理機: 能夠執(zhí)行有限I/O指令,并且能夠被多 臺外圍
35、設備共享的小型DMA專用處理 機。,6.5 通道處理機,通道的功能 接收CPU發(fā)來的I/O指令,并根據指令要求選擇指定的外設與通道相連接。執(zhí)行通道程序 從主存中逐條取出通道指令,對通道指令進行譯碼,并根據需要向被選中的設備控制器發(fā)出各種操作命令。給出外設中要進行讀/寫操作的數據所在的地址, 如磁盤存儲器的柱面號、磁頭號、扇區(qū)號等。,6.5 通道處理機,6.5 通道處理機
36、,給出主存緩沖區(qū)的首地址, 該緩沖區(qū)存放從外設輸入的數據或者將要輸出到外設中去的數據??刂仆庠O與主存緩沖區(qū)之間的數據傳送的長度, 對傳送的數據個數進行計數,并判斷數據傳送是否結束。指定傳送工作結束時要進行的操作, 例如:將外設的中斷請求及通道的中斷請求送往CPU等。檢查外設的工作狀態(tài)是否正常,并將該狀態(tài)信息送往主存指定單元保存。在數據傳輸過程中完成必要的格式變換 例如:把字拆分為字節(jié),或者把字節(jié)裝配成字 等。,通道的主要硬件
37、 (1) 寄存器部分,數據緩沖寄存器 主存地址計數器 傳輸字節(jié)數計數器 通道命令字寄存器 通道狀態(tài)字寄存器,6.5 通道處理機,(2) 控制邏輯,分時控制 地址分配 數據傳送 數據裝配 拆卸,6.5 通道處理機,6.5 通道處理機,通道對外設的控制通過輸入/輸出接口和設備控制器進行 通道與設備控制器之間一般采用標準的輸入/輸出接口來連接。 通道通過標準接口把操作命令送到設備控制器,設備控制器解
38、釋并執(zhí)行這些通道命令,完成命令指定的操作。 設備控制器能夠記錄外設的狀態(tài),并把狀態(tài)信息送往通道和CPU。,通道對外設的連接,6.5.2 通道工作過程 (1) 在用戶程序中使用訪管指令進入管理程序, 由CPU通過管理程序組織一個通道程序,并 啟動通道。該廣義指令一般是調用操作系統(tǒng)的管理程序來實現(xiàn)。管理程序根據廣義指令提供的參數來編制通道程序。 啟動輸入/輸出設備指令是一條主
39、要的輸入/輸出指令,屬于特權指令。,6.5 通道處理機,(2) 通道處理機執(zhí)行CPU為它組織的通道程序, 完成指定的數據I/O工作。通道處理機執(zhí)行 通道程序是與CPU執(zhí)行用戶程序并行的。,(3) 通道程序結束后向CPU發(fā)中斷請求。CPU響應 這個中斷請求后,第二次進入操作系統(tǒng),調 用管理程序對I/O中斷請求進行處理。,6.5 通道處理機,通道程序、管理程序和用戶程序的執(zhí)行時
40、間關系,6.5 通道處理機,6.5.3 通道種類◆ 通道分為三種類型字節(jié)多路通道 選擇通道 數組多路通道,6.5 通道處理機,1) 字節(jié)多路通道 (1) 字節(jié)多路通道主要為多臺低速或中速的外圍 設備服務。 (2) 采用分時方式工作,依靠它與CPU之間的高 速數據通路分時為多臺設備服務。,6.5 通道處理機,2. 選擇通道 (1) 選擇通道也是為多高速外圍設備服務的。
41、 (2) 在傳送數據期間,該通道只能為一臺高速外圍設備服務,但在不同的時間內可以選擇不同的設備。,6.5 通道處理機,3. 數組多路通道 (1) 數組多路通道適于為高速設備服務。 (2) 每次選擇一個高速設備后傳送一個數據塊, 并輪流為多臺外圍設備服務。 (3) 數組多路通道之所以能夠并行地為多個高速 外圍設備服務,是因為這些高速外圍設備并 不能在整個數據輸入輸出時間內單
42、獨利用通 道的全部傳輸能力。,6.5 通道處理機,6.5 通道處理機,6.5.4 通道中的數據傳送過程與流量分析,通道流量一個通道在數據傳送期間,單位時間內能夠傳送的數據量。所用單位一般為Bps。 又稱為通道吞吐率、通道數據傳輸率等。通道最大流量 一個通道在滿負荷工作狀態(tài)下的流量 。,1) 字節(jié)多路通道的數據傳送過程 通道每連接一個外圍設備,只傳送一個字節(jié), 然后又與另
43、一臺設備連接,并傳送一個字節(jié)。,6.5 通道處理機,P 臺設備每臺傳送n個數據總共所需的時間為,,6.5 通道處理機,最大流量實際流量是連接在這個通道上的所有設備的數據傳輸率之和。fi:第 i 臺設備的實際數據傳輸率,2) 選擇通道的工作過程 在一段時間內只能單獨為一臺高速外設服務,當這臺設備的數據傳送工作全部完成后,通道才能為另一臺設備服務。,,,6.5 通道處理機,TD1 = TD2 = … = TDn =
44、TD,,,6.5 通道處理機,p 臺設備每臺傳送 n 個數據總共所需的時間 最大流量,3) 數組多路通道的數據傳送過程 每連接一臺高速設備,傳送一個數據塊,傳 送完成后,又與另一臺高速設備連接,再傳送一 個數據塊。,6.5 通道處理機,,,6.5 通道處理機,p 臺設備每臺傳送 n 個數據總共所需的時間 最大流量,,,6.5 通道處理機,數組多路通道和選擇通道在一段時間內與一臺設備相連,因
45、此實際流量與連接的設備不同而不同。 實際流量小于連接在這個通道上的所有設備中數據流量最大的那一個 。,,,◆ 實際流量不大于最大流量 字節(jié)多路通道選擇通道數組多路通道,◆ 兩邊的差值越小,通道的利用率就越高?!?當兩邊相等時,通道處于滿負荷工作狀態(tài)。,6.5 通道處理機,6.6 I/O與操作系統(tǒng),在計算機系統(tǒng)中,I/O系統(tǒng)硬件的功能如何使用, 往往完全是由操作系統(tǒng)來決定的。
46、I/O操作主要在外設和存儲器間進行,所以操 作系統(tǒng)的一個重要任務是維護數據的安全性。,6.6 I/O與操作系統(tǒng),6.6.1 DMA和虛擬存儲器DMA是使用虛擬地址還是物理地址?1. 使用物理地址進行DMA,存在的問題:◆ 對于超過一頁的數據緩沖區(qū),由于緩沖區(qū)使 用的頁面在物理存儲器中不一定是連續(xù)的, 所以傳輸可能會發(fā)生問題。 ◆ 如果DMA正在存儲器和緩沖器之間傳輸數據 時,操作系統(tǒng)從存儲器中移出(或重
47、新裝載) 一些頁面后,DMA將會在存儲器中錯誤的頁 面上傳輸數據。,6.6 I/O與操作系統(tǒng),◆ 解決問題的方法,鎖定在主存中的頁面 虛擬DMA技術,2. 通過DMA連接的I/O “虛擬DMA”技術,它允許DMA設備直接使用虛擬地址,在DMA期間由硬件將虛擬地址映射到物理地址。 DMA地址表必須能及時更新,6.6 I/O與操作系統(tǒng),,,CPU,,Cache,,主存,,,DMA,控制器,,,,I/
48、O,總線,,TLB,,地址轉換寄存器,-主存總線,CPU,6.7.2 I/O 和 Cache 數據一致性 ◆ Cache會使一個數據出現(xiàn)兩個副本 一個在Cache中,一個在主存中。 ◆ I/O 計算機的連接方式 1. 連接到CPU的Cache上,6.6 I/O與操作系統(tǒng),,,,CPU,,Cache,,主存,,,CPU,-主存總線,,總線適配器,,,,I/O,總線,,TLB,6.6 I/O與操作
49、系統(tǒng),,◆ 不會產生數據不一致的問題 ◆ 所有I/O設備和CPU都能在Cache中看到最新的 數據,而且存儲器中的機制能保證數據的其它 副本得到及時更新。問題:大量的I/O數據填充Cache內容; I/O要傳給Cache的數據往往不是CPU當 前需要訪問的數據。,6.6 I/O與操作系統(tǒng),,,CPU,,Cache,,主存,,,CPU,-主存總線,,DMA,控制器,,,
50、,I/O,總線,,TLB,,地址轉換寄存器,2. 直接連到存儲器上I/O與存儲器之間的數據交換不會干擾CPU。,6.6 I/O與操作系統(tǒng),數據不一致問題有兩個方面:(1) 存儲器中可能不是CPU產生的最新數據,所以 I/O系統(tǒng)從存儲器中取出來使用的是陳舊數據。 如何確保I/O使用到正確的數據?,寫直達Cache可以保證存儲器和Cache有 相同的數據; 寫回Cache則需要操作系統(tǒng)幫助進行數據
51、 檢查。,6.6 I/O與操作系統(tǒng),(2) I/O與存儲器交換數據之后,在Cache中被CPU 使用的可能就是陳舊數據。如何確保CPU使用到正確的數據?,6.6 I/O與操作系統(tǒng),6.6 I/O與操作系統(tǒng),1. 軟件的方法 設法保證I/O緩沖器中的所有各塊都不在 Cache中。具體做法有兩種 把I/O緩沖器的頁面設置為不可進入Cache的,在進行輸入操作時,操作系統(tǒng)總是把輸入的數據
52、放到該頁面上。 在進行輸入操作之前,操作系統(tǒng)先把Cache中與I/O緩沖器相關的數據“趕出”Cache,即把相應的數據塊設置為“無效”狀態(tài)。,6.6 I/O與操作系統(tǒng),2. 硬件的方法在進行輸入操作時,檢查相應的I/O地址(I/O緩沖器中的單元)是否在Cache中(即是否有數據副本)。如果發(fā)現(xiàn)I/O地址在Cache中有匹配的項,就把相應的Cache塊設置為“無效”。,6.7.3 異步I/O 提高I/O性能的
53、一種方法:并行 使用多個磁盤同時工作來獲得一批數據。如何在編程模型層面支持這種并行? 同步I/O: 進程處于等待狀態(tài)直到所需數據從磁 盤讀出。 異步I/O: 允許進程在發(fā)出I/O請求后繼續(xù)執(zhí)行, 直到該進程真正訪問這些數據而它們 又尚未就緒時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論