計算機各種設備管理_第1頁
計算機各種設備管理_第2頁
計算機各種設備管理_第3頁
計算機各種設備管理_第4頁
計算機各種設備管理_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、計算機各種設備管理5.1 I/O 系系 統(tǒng)統(tǒng) 5.1.1 I/O設備設備 1. I/O設備的類型設備的類型 1) 按傳輸速率分類 按傳輸速度的高低,可將I/O設備分為三類。第一類是低速設備,這是指其傳輸速率僅為每秒鐘幾個字節(jié)至數(shù)百個字節(jié)的一類設備。屬于低速設備的典型設備有鍵盤、 鼠標器、語音的輸入和輸出等設備。第二類是中速設備,這是指其傳輸速率在每秒鐘數(shù)千個字節(jié)至數(shù)萬個字節(jié)的一類設備。典型的中速設備有行式打印機、激光打印機等。第三類是高速設備, 這是指其傳輸速率在數(shù)百千個字節(jié)至數(shù)十兆字節(jié)的一類設備。 典型的高速設備有磁帶機、 磁盤機、 光盤機等。 2) 按信息交換的單位分類 可將I/O設備分成

2、兩類。第一類是塊設備(Block Device),這類設備用于存儲信息。 由于信息的存取總是以數(shù)據(jù)塊為單位, 故而得名。 它屬于有結(jié)構(gòu)設備。典型的塊設備是磁盤,每個盤塊的大小為512 B4 KB。磁盤設備的基本特征是其傳輸速率較高,通常每秒鐘為幾兆位;另一特征是可尋址,即對它可隨機地讀/寫任一塊;此外,磁盤設備的I/O常采用DMA方式。 第二類是字符設備(Character Device),用于數(shù)據(jù)的輸入和輸出。 其基本單位是字符, 故稱為字符設備。3) 按設備的共享屬性分類這種分類方式可將I/O設備分為如下三類:(1) 獨占設備。 (2) (2) 共享設備。 (3) (3) 虛擬設備。 2.

3、 設備與控制器之間的接口設備與控制器之間的接口 圖 5-1 設備與控制器間的接口 緩沖轉(zhuǎn)換器控制邏輯信號數(shù)據(jù)數(shù)據(jù)信號線狀態(tài)信號線控制信號線至設備控制器I/O設備5.1.2 設備控制器設備控制器1. 設備控制器的基本功能設備控制器的基本功能 1) 接收和識別命令 2) 2) 數(shù)據(jù)交換 3) 3) 標識和報告設備的狀態(tài) 4) 4) 地址識別 5)5) 數(shù)據(jù)緩沖 6) 6) 差錯控制 2. 設備控制器的組成設備控制器的組成 圖 5-2 設備控制器的組成 數(shù)據(jù)寄存器控制/狀態(tài)寄存器數(shù)據(jù)線I/O邏輯控制器與設備接口1控制器與設備接口i數(shù)據(jù)狀態(tài)控制數(shù)據(jù)狀態(tài)控制地址線控制線CPU與控制器接口控制器與設備接口

4、5.1.3 I/O通道通道 1. I/O通道通道(I/O Channel)設備的引入設備的引入 實際上,I/O通道是一種特殊的處理機。它具有執(zhí)行I/O指令的能力,并通過執(zhí)行通道(I/O)程序來控制I/O操作。但I/O通道又與一般的處理機不同,主要表現(xiàn)在以下兩個方面: 一是其指令類型單一,這是由于通道硬件比較簡單, 其所能執(zhí)行的命令,主要局限于與I/O操作有關的指令; 再就是通道沒有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機的內(nèi)存中的, 換言之,是通道與CPU共享內(nèi)存。 2. 通道類型通道類型 1) 字節(jié)多路通道(Byte Multiplexor Channel) 圖 5-3 字節(jié)多路通道的工作

5、原理 控制器A控制器B控制器C控制器D控制器NA1A2A3子通道AB1B2B3子通道BC1C2C3子通道CN1N2N3子通道NA1B1C1A2B2C2設備2) 數(shù)組選擇通道(Block Selector Channel) 字節(jié)多路通道不適于連接高速設備,這推動了按數(shù)組方式進行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺高速設備,但由于它只含有一個分配型子通道,在一段時間內(nèi)只能執(zhí)行一道通道程序, 控制一臺設備進行數(shù)據(jù)傳送, 致使當某臺設備占用了該通道后,便一直由它獨占, 即使是它無數(shù)據(jù)傳送,通道被閑置, 也不允許其它設備使用該通道, 直至該設備傳送完畢釋放該通道??梢?,這種通道的利用率

6、很低。 3) 數(shù)組多路通道(Block Multiplexor Channel) 數(shù)組選擇通道雖有很高的傳輸速率,但它卻每次只允許一個設備傳輸數(shù)據(jù)。數(shù)組多路通道是將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道(設備)分時并行操作的優(yōu)點相結(jié)合而形成的一種新通道。它含有多個非分配型子通道, 因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用于連接多臺高、中速的外圍設備,其數(shù)據(jù)傳送是按數(shù)組方式進行的。 3. “瓶頸瓶頸”問題問題 圖 5-4 單通路I/O系統(tǒng) 設備1設備2設備3設備4設備5設備6設備7控制器1控制器2控制器3控制器4通道1通道2存

7、儲器圖 5-5 多通路I/O系統(tǒng) I/O設備控制器1控制器2通道1通道2存儲器I/O設備I/O設備I/O設備5.1.4 總線系統(tǒng)總線系統(tǒng) 圖 5-6 總線型I/O系統(tǒng)結(jié)構(gòu) CPU存儲器磁盤控制器打印機控制器其它控制器磁盤驅(qū)動器打印機系統(tǒng)總線 1. ISA和和EISA總線總線 1) ISA(Industry Standard Architecture)總線 這是為了1984年推出的80286型微機而設計的總線結(jié)構(gòu)。 其總線的帶寬為8位,最高傳輸速率為2 Mb/s。之后不久又推出了16位的(EISA)總線,其最高傳輸速率為8 Mb/s,后又升至16 Mb/s, 能連接12臺設備。 2) EISA(

8、Extended ISA)總線 到80年代末期,ISA總線已難于滿足帶寬和傳輸速率的要求, 于是人們又開發(fā)出擴展ISA(EISA)總線,其帶寬為32位,總線的傳輸速率高達32 Mb/s,同樣可以連接12臺外部設備。 2. 局部總線局部總線(Local Bus) 1)VESA(Video Electronic Standard Association)總線 2)2) PCI(Peripheral Component Interface)總線 5.2 I/O控制方式控制方式 5.2.1 程序程序I/O方式方式 在程序I/O方式中,由于CPU的高速性和I/O設備的低速性, 致使CPU的絕大部分時間都

9、處于等待I/O設備完成數(shù)據(jù)I/O的循環(huán)測試中, 造成對CPU的極大浪費。在該方式中,CPU之所以要不斷地測試I/O設備的狀態(tài),就是因為在CPU中無中斷機構(gòu), 使I/O設備無法向CPU報告它已完成了一個字符的輸入操作。 圖 5-7 程序I/O和中斷驅(qū)動方式的流程 向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器中讀入字向存儲器中寫字傳送完成?未就緒就緒出錯CPUI/OI/OCPUI/OCPUCPU 內(nèi)存下條指令完成未完向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器中讀字向內(nèi)存中寫字傳送完成?就緒出錯CPUI/OI/OCPUI/OCPUCPU 內(nèi)存下條指令完成

10、未完中斷CPU做其它事向I/O控制器發(fā)布讀塊命令CPUDMACPU做其它事讀DMA控制器的狀態(tài)中斷DMACPU下條指令(a) 程序I/O方式(b) 中斷驅(qū)動方式(c) DMA方式5.2.2 中斷驅(qū)動中斷驅(qū)動I/O控制方式控制方式 在I/O設備輸入每個數(shù)據(jù)的過程中,由于無須CPU干預,因而可使CPU與I/O設備并行工作。僅當輸完一個數(shù)據(jù)時,才需CPU花費極短的時間去做些中斷處理??梢?,這樣可使CPU和I/O設備都處于忙碌狀態(tài),從而提高了整個系統(tǒng)的資源利用率及吞吐量。例如,從終端輸入一個字符的時間約為100 ms, 而將字符送入終端緩沖區(qū)的時間小于 0.1 ms。 若采用程序I/O方式,CPU約有

11、 99.9 ms的時間處于忙等待中。 采用中斷驅(qū)動方式后,CPU可利用這 99.9 ms的時間去做其它事情,而僅用 0.1 ms的時間來處理由控制器發(fā)來的中斷請求。 可見,中斷驅(qū)動方式可以成百倍地提高CPU的利用率。 5.2.3 直接存儲器訪問直接存儲器訪問DMA I/O控制方式控制方式 1. DMA(Direct Memory Access)控制方式的引入控制方式的引入 該方式的特點是: 數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊,即在CPU與I/O設備之間,每次傳送至少一個數(shù)據(jù)塊; 所傳送的數(shù)據(jù)是從設備直接送入內(nèi)存的,或者相反; 僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時,才需CPU干預,整塊數(shù)據(jù)的傳送是在控

12、制器的控制下完成的??梢?,DMA方式較之中斷驅(qū)動方式,又是成百倍地減少了CPU對I/O的干預,進一步提高了CPU與I/O設備的并行操作程度。 2. DMA控制器的組成控制器的組成 圖 5-8 DMA控制器的組成 DRMARDCCRI/O控制邏輯主機控制器接口控制器與塊設備接口count內(nèi)存CPU命令系統(tǒng)總線DMA控制器 為了實現(xiàn)在主機與控制器之間成塊數(shù)據(jù)的直接交換, 必須在DMA控制器中設置如下四類寄存器: (1) 命令/狀態(tài)寄存器CR。用于接收從CPU發(fā)來的I/O命令或有關控制信息, 或設備的狀態(tài)。 (2) 內(nèi)存地址寄存器MAR。在輸入時,它存放把數(shù)據(jù)從設備傳送到內(nèi)存的起始目標地址;在輸出時

13、,它存放由內(nèi)存到設備的內(nèi)存源地址。 (3) 數(shù)據(jù)寄存器DR。用于暫存從設備到內(nèi)存,或從內(nèi)存到設備的數(shù)據(jù)。 (4) 數(shù)據(jù)計數(shù)器DC。 存放本次CPU要讀或?qū)懙淖?節(jié))數(shù)。 3. DMA工作過程工作過程 圖 5-9 DMA方式的工作流程 設置AR和DC初值啟動DMA傳送命令挪用存儲器周期傳送數(shù)據(jù)字存儲器地址增1字計數(shù)寄存器減1DC0?請求中斷在繼續(xù)執(zhí)行用戶程序的同時,準備又一次傳送否是5.2.4 I/O通道控制方式通道控制方式 1. I/O通道控制方式的引入通道控制方式的引入 I/O通道方式是DMA方式的發(fā)展,它可進一步減少CPU的干預,即把對一個數(shù)據(jù)塊的讀(或?qū)?為單位的干預,減少為對一組數(shù)據(jù)塊

14、的讀(或?qū)?及有關的控制和管理為單位的干預。 同時,又可實現(xiàn)CPU、通道和I/O設備三者的并行操作,從而更有效地提高整個系統(tǒng)的資源利用率。例如,當CPU要完成一組相關的讀(或?qū)?操作及有關控制時,只需向I/O通道發(fā)送一條I/O指令,以給出其所要執(zhí)行的通道程序的首址和要訪問的I/O設備,通道接到該指令后,通過執(zhí)行通道程序便可完成CPU指定的I/O任務。 2. 通道程序通道程序 (1) 操作碼。 (2) (2) 內(nèi)存地址。 (3) (3) 計數(shù)。 (4) (4) 通道程序結(jié)束位P。 (5) (5) 記錄結(jié)束標志R。 操作 PR計數(shù)內(nèi)存地址WRITE 0080813WRITE001401034WRI

15、TE01605830WRITE013002000WRITE002501850WRITE112507205.3 緩緩 沖沖 管管 理理 5.3.1 緩沖的引入緩沖的引入 (1) 緩和CPU與I/O設備間速度不匹配的矛盾。 (2) (2) 減少對CPU的中斷頻率, 放寬對CPU中斷響應時間的限制。 (3) (3) 提高CPU和I/O設備之間的并行性。 圖 5-10 利用緩沖寄存器實現(xiàn)緩沖 1位緩沖9.6 Kb/s8位緩沖寄存器送內(nèi)存9.6 Kb/s8位緩沖寄存器9.6 Kb/s送內(nèi)存(b)(a)(c)5.3.2 單緩沖和雙緩沖單緩沖和雙緩沖 1. 單緩沖單緩沖(Single Buffer) 工作區(qū)

16、處理(C)緩沖區(qū)傳送(M)輸入(T)I/O設備(a)T1M1C1T2M2C2T3M3C3T4t(b)用戶進程圖 5-11 單緩沖工作示意圖 2. 雙緩沖雙緩沖(Double Buffer) 工作區(qū)用戶進程緩沖區(qū)1緩沖區(qū)2I/O 設備T1(緩沖1)M1C1M2C2M3C3T2(緩沖2)T3(緩沖3)M4C4T4(緩沖4)(a)(b)圖 5-12 雙緩沖工作示意圖 圖 5-13 雙機通信時緩沖區(qū)的設置 緩沖區(qū)緩沖區(qū)A機B機(a) 單緩沖發(fā)送緩沖區(qū)接收緩沖區(qū)接收緩沖區(qū)發(fā)送緩沖區(qū)A機B機(b) 雙緩沖5.3.3 循環(huán)緩沖循環(huán)緩沖 1. 循環(huán)緩沖的組成循環(huán)緩沖的組成 圖 5-14 循環(huán)緩沖 RGGGRG

17、165423NextiNextgRGGGRC165423NextiNextgcurrent2. 循環(huán)緩沖區(qū)的使用循環(huán)緩沖區(qū)的使用 (1) Getbuf過程。(2) (2) Releasebuf過程。 3. 進程同步進程同步 (1) Nexti指針追趕上Nextg指針。(2) (2) Nextg指針追趕上Nexti指針。 5.3.4 緩沖池緩沖池(Buffer Pool) 1. 緩沖池的組成緩沖池的組成 1. 緩沖池的組成緩沖池的組成 對于既可用于輸入又可用于輸出的公用緩沖池, 其中至少應含有以下三種類型的緩沖區(qū): 空(閑)緩沖區(qū); 裝滿輸入數(shù)據(jù)的緩沖區(qū); 裝滿輸出數(shù)據(jù)的緩沖區(qū)。 為了管理上的方

18、便,可將相同類型的緩沖區(qū)鏈成一個隊列,于是可形成以下三個隊列: (1)空緩沖隊列emq。 (2) 輸入隊列inq。 (3) 輸出隊列outq。 2. Getbuf過程和過程和Putbuf過程過程 Procedure Getbuf(type) begin Wait(RS(type); Wait(MS(type); B(number) KG-*3=Takebuf(type); Signal(MS(type); end Procedure Putbuf(type, number) begin Wait(MS(type); Addbuf(type, number); Signal(MS(type);

19、Signal(RS(type); end 3. 緩沖區(qū)的工作方式緩沖區(qū)的工作方式 圖 5-15 緩沖區(qū)的工作方式 hinsoutsinhout收容輸入提取輸出用戶程序提取輸入收容輸出緩沖池5.4 設設 備備 分分 配配 5.4.1 設備分配中的數(shù)據(jù)結(jié)構(gòu)設備分配中的數(shù)據(jù)結(jié)構(gòu) 1. 設備控制表設備控制表DCT 設備類型 type設備標識符:deviceid設備狀態(tài):等待/不等待 忙/閑指向控制器表的指針重復執(zhí)行次數(shù)或時間設備隊列的隊首指針DCT 1DCT 2DCT n設備控制表集合圖 5-16 設備控制表 2. 控制器控制表、控制器控制表、 通道控制表和系統(tǒng)設備表通道控制表和系統(tǒng)設備表 圖 5-1

20、7 COCT、 CHCT和SDT表 (c) 系統(tǒng)設備表SDT控制器標識符:controllerid控制器狀態(tài):忙/閑與控制器連接的通道表指針控制器隊列的隊首指針控制器隊列的隊尾指針通道標識符:channelid通道狀態(tài):忙/閑與通道連接的控制器表首址通道隊列的隊首指針通道隊列的隊尾指針(a) 控制器表COCT(b) 通道表CHCT表目1表目i設備類設備標識符DCT驅(qū)動程序入口5.4.2 設備分配時應考慮的因素設備分配時應考慮的因素 1. 設備的固有屬性設備的固有屬性 (1) 獨享設備。(2) (2) 共享設備。 (3) 虛擬設備。 2. 設備分配算法設備分配算法 (1) 先來先服務。 (2)

21、(2) 優(yōu)先級高者優(yōu)先。 3. 設備分配中的安全性設備分配中的安全性 1) 安全分配方式 2) 2) 不安全分配方式 5.4.3 設備獨立性設備獨立性 1. 設備獨立性設備獨立性(Device Independence)的概念的概念 為了提高OS的可適應性和可擴展性,在現(xiàn)代OS中都毫無例外地實現(xiàn)了設備獨立性,也稱為設備無關性。 其基本含義是: 應用程序獨立于具體使用的物理設備。為了實現(xiàn)設備獨立性而引入了邏輯設備和物理設備這兩個概念。在應用程序中, 使用邏輯設備名稱來請求使用某類設備;而系統(tǒng)在實際執(zhí)行時, 還必須使用物理設備名稱。因此,系統(tǒng)須具有將邏輯設備名稱轉(zhuǎn)換為某物理設備名稱的功能,這非常類

22、似于存儲器管理中所介紹的邏輯地址和物理地址的概念。 在實現(xiàn)了設備獨立性的功能后, 可帶來以下兩方面的好處。 1) 設備分配時的靈活性 2) 易于實現(xiàn)I/O重定向 2. 設備獨立性軟件設備獨立性軟件 1) 執(zhí)行所有設備的公有操作 這些公有操作包括: 對獨立設備的分配與回收; 將邏輯設備名映射為物理設備名,進一步可以找到相應物理設備的驅(qū)動程序; 對設備進行保護,禁止用戶直接訪問設備; 緩沖管理,即對字符設備和塊設備的緩沖區(qū)進行有效的管理, 以提高I/O的效率; 差錯控制。由于在I/O操作中的絕大多數(shù)錯誤都與設備無關,故主要由設備驅(qū)動程序處理,而設備獨立性軟件只處理那些設備驅(qū)動程序無法處理的錯誤。

23、2) 向用戶層(或文件層)軟件提供統(tǒng)一接口 無論何種設備, 它們向用戶所提供的接口應該是相同的。 例如, 對各種設備的讀操作,在應用程序中都使用read; 而對各種設備的寫操作,也都使用write。 3. 邏輯設備名到物理設備名映射的實現(xiàn)邏輯設備名到物理設備名映射的實現(xiàn) 1) 邏輯設備表2)2) LUT的設置問題 圖 5-18 邏輯設備表 邏輯設備名物理設備名驅(qū)動程序入口地址/dev/tty/dev/printer3510242046邏輯設備名/dev/tty/dev/printer系統(tǒng)設備表指針35(a)(b)5.4.4 獨占設備的分配程序獨占設備的分配程序 1. 基本的設備分配程序基本的設

24、備分配程序 1) 分配設備 2)2) 分配控制器 3)3) 分配通道 2. 設備分配程序的改進設備分配程序的改進 1) 增加設備的獨立性2) 3)2) 考慮多通路情況 5.4.5 SPOOLing技術(shù)技術(shù) 1. 什么是什么是SPOOLing 為了緩和CPU的高速性與I/O設備低速性間的矛盾而引入了脫機輸入、 脫機輸出技術(shù)。 該技術(shù)是利用專門的外圍控制機, 將低速I/O設備上的數(shù)據(jù)傳送到高速磁盤上;或者相反。事實上, 當系統(tǒng)中引入了多道程序技術(shù)后,完全可以利用其中的一道程序,來模擬脫機輸入時的外圍控制機功能,把低速I/O設備上的數(shù)據(jù)傳送到高速磁盤上;再用另一道程序來模擬脫機輸出時外圍控制機的功能

25、,把數(shù)據(jù)從磁盤傳送到低速輸出設備上。這樣,便可在主機的直接控制下,實現(xiàn)脫機輸入、 輸出功能。 此時的外圍操作與CPU對數(shù)據(jù)的處理同時進行, 我們把這種在聯(lián)機情況下實現(xiàn)的同時外圍操作稱為SPOOLing(Simultaneaus Periphernal Operating On-Line),或稱為假脫機操作。 2. SPOOLing系統(tǒng)的組成系統(tǒng)的組成 圖 5-19 SPOOLing系統(tǒng)的組成 輸入進程SPi輸入進程SPo輸入緩沖區(qū)Bi輸出緩沖區(qū)Bo輸入井輸出井磁盤輸入設備輸出設備3. 共享打印機共享打印機 共享打印機技術(shù)已被廣泛地用于多用戶系統(tǒng)和局域網(wǎng)絡中。 當用戶進程請求打印輸出時, SPO

26、OLing系統(tǒng)同意為它打印輸出, 但并不真正立即把打印機分配給該用戶進程, 而只為它做兩件事: 由輸出進程在輸出井中為之申請一個空閑磁盤塊區(qū), 并將要打印的數(shù)據(jù)送入其中; 輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中, 再將該表掛到請求打印隊列上。 4. SPOOLing系統(tǒng)的特點系統(tǒng)的特點 (1) 提高了I/O的速度。 (2) (2) 將獨占設備改造為共享設備。 (3) (3) 實現(xiàn)了虛擬設備功能。 5.5 設設 備備 處處 理理 5.5.1 設備驅(qū)動程序的功能和特點設備驅(qū)動程序的功能和特點 1. 設備驅(qū)動程序的功能設備驅(qū)動程序的功能 (1) 接收由I/O進程

27、發(fā)來的命令和參數(shù), 并將命令中的抽象要求轉(zhuǎn)換為具體要求,例如,將磁盤塊號轉(zhuǎn)換為磁盤的盤面、 磁道號及扇區(qū)號。 (2) 檢查用戶I/O請求的合法性,了解I/O設備的狀態(tài),傳遞有關參數(shù),設置設備的工作方式。 (3) 發(fā)出I/O命令,如果設備空閑,便立即啟動I/O設備去完成指定的I/O操作;如果設備處于忙碌狀態(tài),則將請求者的請求塊掛在設備隊列上等待。 (4) 及時響應由控制器或通道發(fā)來的中斷請求,并根據(jù)其中斷類型調(diào)用相應的中斷處理程序進行處理。 (5) 對于設置有通道的計算機系統(tǒng),驅(qū)動程序還應能夠根據(jù)用戶的I/O請求,自動地構(gòu)成通道程序。 2. 設備處理方式設備處理方式 (1) 為每一類設備設置一個

28、進程,專門用于執(zhí)行這類設備的I/O操作 . (2) 在整個系統(tǒng)中設置一個I/O進程,專門用于執(zhí)行系統(tǒng)中所有各類設備的I/O操作。 (3) 不設置專門的設備處理進程,而只為各類設備設置相應的設備處理程序(模塊), 供用戶進程或系統(tǒng)進程調(diào)用。 3. 設備驅(qū)動程序的特點設備驅(qū)動程序的特點 (1) 驅(qū)動程序主要是指在請求I/O的進程與設備控制器之間的一個通信和轉(zhuǎn)換程序。 (2) 驅(qū)動程序與設備控制器和I/O設備的硬件特性緊密相關, 因而對不同類型的設備應配置不同的驅(qū)動程序。 (3) 驅(qū)動程序與I/O設備所采用的I/O控制方式緊密相關。 (4) 由于驅(qū)動程序與硬件緊密相關, 因而其中的一部分必須用匯編語

29、言書寫。 5.5.2 設備驅(qū)動程序的處理過程設備驅(qū)動程序的處理過程 1.將抽象要求轉(zhuǎn)換為具體要求將抽象要求轉(zhuǎn)換為具體要求 2.2. 檢查檢查I/O請求的合法性請求的合法性 3.3. 讀出和檢查設備的狀態(tài)讀出和檢查設備的狀態(tài) 4.4. 傳送必要的參數(shù)傳送必要的參數(shù) 5.5. 工作方式的設置工作方式的設置 6.6. 啟動啟動I/O設備設備 圖 5-20 中斷現(xiàn)場保護示意圖 PSW程序狀態(tài)字PC(N1)程序計數(shù)器R0Rn寄存器開始返回用戶程序中斷服務子例程PSWPC(N1)中斷棧TTM線指針YNN1R0Rn喚醒被阻塞的驅(qū)動程序進程對被中斷進程的CPU環(huán)境進行保護分析中斷原因,轉(zhuǎn)入相應的中斷處理程序終

30、端中斷處理程序打印機中斷處理程序磁盤中斷處理程序恢復被中斷進程的CPU現(xiàn)場返回被中斷的進程,繼續(xù)執(zhí)行中斷請求信號圖 5-21 中斷處理流程5.6 磁盤存儲器管理磁盤存儲器管理5.6.1 磁盤性能簡述磁盤性能簡述 1. 數(shù)據(jù)的組織和格式數(shù)據(jù)的組織和格式 Gap102031292293Field GapField GapGap FieldGap FieldGap17741515201774151520IDDataIDDataGap1292293Field GapField1774151520IDDataSectorPhysical Sector 0Physical Sector 1Physical

31、 Sector 29BytesSynchByteTrack#Head#Sector#Bytes 1211CRC3SynchByteDataCRC15122600 Bytes/SectorGap圖 5-22 磁盤的格式化 2. 磁盤的類型磁盤的類型 1) 固定頭磁盤 這種磁盤在每條磁道上都有一讀/寫磁頭,所有的磁頭都被裝在一剛性磁臂中。通過這些磁頭可訪問所有各磁道,并進行并行讀/寫,有效地提高了磁盤的I/O速度。 這種結(jié)構(gòu)的磁盤主要用于大容量磁盤上。 2) 移動頭磁盤 每一個盤面僅配有一個磁頭,也被裝入磁臂中。為能訪問該盤面上的所有磁道,該磁頭必須能移動以進行尋道??梢姡苿哟蓬^僅能以串行方式讀

32、/寫,致使其I/O速度較慢;但由于其結(jié)構(gòu)簡單, 故仍廣泛應用于中小型磁盤設備中。 3. 磁盤訪問時間磁盤訪問時間 1) 尋道時間Ts 這是指把磁臂(磁頭)移動到指定磁道上所經(jīng)歷的時間。該時間是啟動磁臂的時間s與磁頭移動n條磁道所花費的時間之和, 即Ts=mn+s其中,m是一常數(shù),與磁盤驅(qū)動器的速度有關,對一般磁盤, m=0.2;對高速磁盤,m0.1,磁臂的啟動時間約為2 ms。 這樣,對一般的溫盤, 其尋道時間將隨尋道距離的增加而增大, 大體上是530 ms。 2) 旋轉(zhuǎn)延遲時間T 這是指定扇區(qū)移動到磁頭下面所經(jīng)歷的時間。對于硬盤,典型的旋轉(zhuǎn)速度大多為5400 r/min,每轉(zhuǎn)需時11.1 m

33、s,平均旋轉(zhuǎn)延遲時間T為5.55 ms;對于軟盤,其旋轉(zhuǎn)速度為300 r/min或600 r/min,這樣,平均T為50100 ms。 3) 傳輸時間Tt 這是指把數(shù)據(jù)從磁盤讀出或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時間。 Tt的大小與每次所讀/寫的字節(jié)數(shù)b和旋轉(zhuǎn)速度有關: rNbTt其中,r為磁盤每秒鐘的轉(zhuǎn)數(shù);N為一條磁道上的字節(jié)數(shù), 當一次讀/寫的字節(jié)數(shù)相當于半條磁道上的字節(jié)數(shù)時,Tt與T相同, 因此, 可將訪問時間Ta表示為: rNbrTTsa215.6.2 磁盤調(diào)度磁盤調(diào)度1. 先來先服務先來先服務FCFS(First-Come, First Served) 圖 5-23 FCFS調(diào)度算法2. 最短

34、尋道時間優(yōu)先最短尋道時間優(yōu)先SSTF(Shortest Seek Time First) 圖 5-24 SSTF調(diào)度算法 3. 掃描掃描(SCAN)算法算法 1) 進程“饑餓”現(xiàn)象 SSTF算法雖然能獲得較好的尋道性能, 但卻可能導致某個進程發(fā)生“饑餓”(Starvation)現(xiàn)象。因為只要不斷有新進程的請求到達, 且其所要訪問的磁道與磁頭當前所在磁道的距離較近,這種新進程的I/O請求必須優(yōu)先滿足。對SSTF算法略加修改后所形成的SCAN算法, 即可防止老進程出現(xiàn)“饑餓”現(xiàn)象。 2) SCAN算法 圖 5-25 SCAN調(diào)度算法示例4. 循環(huán)掃描循環(huán)掃描(CSCAN)算法算法 圖 5-26 C

35、SCAN調(diào)度算法示例5. N-Step-SCAN和和FSCAN調(diào)度算法調(diào)度算法 1) N-Step-SCAN算法 在SSTF、 SCAN及CSCAN幾種調(diào)度算法中, 都可能出現(xiàn)磁臂停留在某處不動的情況, 例如,有一個或幾個進程對某一磁道有較高的訪問頻率, 即這個(些)進程反復請求對某一磁道的I/O操作,從而壟斷了整個磁盤設備。 我們把這一現(xiàn)象稱為“磁臂粘著”(Armstickiness)。在高密度磁盤上容易出現(xiàn)此情況。 N步SCAN算法是將磁盤請求隊列分成若干個長度為N的子隊列,磁盤調(diào)度將按FCFS算法依次處理這些子隊列。 而每處理一個隊列時又是按SCAN算法,對一個隊列處理完后,再處理其他隊列。 當正在處理某子隊列時,如果又出現(xiàn)新的磁盤I/O請求,便將新請求進程放入其他隊列,這樣就可避免出現(xiàn)粘著現(xiàn)象。 當N值取得很大時,會使N步掃描法的性能接近于SCAN算法的性能; 當N=1時, N步SCAN算法便蛻化為FCFS算法。 2) FSCAN算法 FSCAN算法實質(zhì)上是N步SCAN算法的簡化, 即FSCAN只將磁盤請求隊列分成兩個子隊列。一個是由當前所有請求磁盤I/O的進程形成的隊列,由磁盤調(diào)度按SCAN算法進行處理。在掃描期間,將新出現(xiàn)的所有請求磁盤I/O的進程, 放入另一個等待處理的請求隊列。這樣,所有的新請求都將被推遲到下一次掃

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論