操作系統湯子英第6章課件_第1頁
操作系統湯子英第6章課件_第2頁
操作系統湯子英第6章課件_第3頁
操作系統湯子英第6章課件_第4頁
操作系統湯子英第6章課件_第5頁
已閱讀5頁,還剩95頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第六章設備管理6.1I/O系統6.2I/O控制方式6.3緩沖管理6.4設備分配6.5設備處理6.6磁盤存儲器管理設備管理的對象:主要是I/O設備,還可能是I/O通道。設備管理的基本任務:提高利用率,提高速度。設備管理的主要功能:緩沖區管理、設備分配、設備處理、虛擬設備、及實現設備獨立性。外設的特點:種類多差異大(控制和速度)外設管理目的包括:外設資源的控制外設資源的共享提高外設資源的利用率。6.1I/O系統6.1.1I/O設備1.I/O設備的類型

1)按傳輸速率分類低速設備,這是指其傳輸速率僅為每秒鐘幾個字節至數百個字節的一類設備。典型設備有鍵盤、鼠標器、語音的輸入和輸出等設備。中速設備,這是指其傳輸速率在每秒鐘數千個字節至數萬個字節的一類設備。典型設備有:行式打印機、激光打印機等。高速設備,這是指其傳輸速率在數百千個字節至數十兆字節的一類設備。典型的高速設備有磁帶機、磁盤機、光盤機等3)按設備的共享屬性分類這種分類方式可將I/O設備分為如下三類:獨占設備。它是指在一段時間內只允許一個用戶(進程)訪問的設備,即臨界資源;

因而,對多個并發進程而言,應互斥地訪問這類設備,系統一旦把這類設備分配給某進程后,便由該進程獨占,直至用完釋放,應當注意,獨占設備的分配有可能引起進程死鎖;共享設備(磁盤)。它是指在一段時間內允許多個進程同時訪問的設備,當然,對于每一時刻而言,該類設備仍然只允許一個進程訪問,顯然,共享設備必須是可尋址的和可隨機訪問的虛擬設備。它是指通過虛擬技術將一臺獨占設備變換為若干臺邏輯設備,供若干個用戶(進程)同時使用,通常把這種經過虛擬技術處理后的設備,稱為虛擬設備從設備的管理角度看,設備可分為(獨占設備)、(共享設備)、(虛擬設備)。華中科大2.設備與控制器之間的接口圖6-1設備與控制器間的接口通常,設備并不是直接與CPU進行通信,而是與設備控制器通信,因此,在設備與設備控制器之間應有一接口,在該接口中有三種類型的信號。比如打印機的幾個按鈕發送的信息2.設備控制器的組成圖6-2設備控制器的組成6.1.3I/O通道***1.I/O通道(I/OChannel)設備的引入

實際上,I/O通道是一種特殊的處理機。它具有執行I/O指令的能力,并通過執行通道(I/O)程序來控制I/O操作。但I/O通道又與一般的處理機不同,主要表現在以下兩個方面:

一是其指令類型單一,這是由于通道硬件比較簡單,其所能執行的命令,主要局限于與I/O操作有關的指令;

二是通道沒有自己的內存,通道所執行的通道程序是放在主機的內存中的,換言之,是通道與CPU共享內存。

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

DMA控制器的出現,使I/O方式在傳輸單位上發生了變化,即從以”字節”為單位的傳輸擴大到以“數據快”為單位進行傳輸,從而大大的改善了塊設備的I/O性能。而通道的引入,又使對I/O操作的組織和數據的傳送,都能獨立的進行而無須CPU干涉。1、程序I/O方式

在程序I/O方式中,由于CPU的高速性和I/O設備的低速性,致使CPU的絕大部分時間都處于等待I/O設備完成數據I/O的循環測試中,造成對CPU的極大浪費。在該方式中,CPU之所以要不斷地測試I/O設備的狀態,就是因為在CPU中無中斷機構,使I/O設備無法向CPU報告它已完成了一個字符的輸入操作。I/O操作由程序發起,并等待操作完成。數據的每次讀寫通過CPU。缺點:在外設進行數據處理時,CPU只能等待。圖6-7程序I/O和中斷驅動方式的流程3、直接存儲器訪問DMAI/O控制方式該方式的特點是:①數據傳輸的基本單位是數據塊,即在CPU與I/O設備之間,每次傳送至少一個數據塊;②所傳送的數據是從設備直接送入內存的,或者相反;③僅在傳送一個或多個數據塊的開始和結束時,才需CPU干預,整塊數據的傳送是在控制器的控制下完成的??梢?,DMA方式較之中斷驅動方式,又是成百倍地減少了CPU對I/O的干預,進一步提高了CPU與I/O設備的并行操作程度。DMA控制器的組成(了解)

圖6-8DMA控制器的組成DMA控制器也有三部分組成:(1)主機與DMA控制器的接口;(2)DMA控制器與塊設備的接口;(3)I/O控制邏輯;3.DMA工作過程

圖6-9DMA方式的工作流程4、I/O通道控制方式

I/O通道方式是DMA方式的發展,它可進一步減少CPU的干預,即把對一個數據塊的讀(或寫)為單位的干預,減少為對一組數據塊的讀(或寫)及有關的控制和管理為單位的干預。同時,又可實現CPU、通道和I/O設備三者的并行操作,從而更有效地提高整個系統的資源利用率。例如,當CPU要完成一組相關的讀(或寫)操作及有關控制時,只需向I/O通道發送一條I/O指令,以給出其所要執行的通道程序的首址和要訪問的I/O設備,通道接到該指令后,通過執行通道程序便可完成CPU指定的I/O任務。2.通道程序cpu告訴通道做什么和怎樣去做

操作碼。它規定了指令所執行的操作,如讀。(2)內存地址。標明字符送入內存和從內存取出時的內存首址。(3)計數。表示本條指令所要讀(或寫)數據的字節數。(4)通道程序結束位P。用于表示通道程序是否結束。P=1表示本條指令是通道程序的最后一條指令。

(5)記錄結束標志R。R=0表示本通道指令與下一條通道指令所處理的數據同屬一個記錄,R=1表示這是處理某記錄的最后一條指令。

通道是通過執行通道程序,并與設備控制器共同實現對I/O設備控制的。

通道程序是由一系列的通道指令(或稱為通道命令)所構成。通道指令與一般的機器指令不同,它的每條指令中包含下列諸信息;DMA1、C6000系列DMA有4個獨立的傳輸通道。2、每一個DMA通道都有一套寄存器完成傳輸控制,啟動DMA之前,必須對它們進行初始化。(含使用的通道、數據源地址、數據傳輸的目的地址等)3、配置寄存器實現啟動。EDMA1)DM642共有64個EDMA通道。每個通道都有一個事件與之關聯,由這些事件來觸發相應通道的傳輸。映射的地址縮寫寄存器名字01A0FFBCESRH事件置位高位寄存器01A0FFDCESRL事件置位低位寄存器EDMA控制寄存器該事件能觸發EDMA通道開始傳輸2)、通道地址給出通道各參數的地址通道地址通道參數01A00000h-01A00017h通道0參數地址(6word)01A00018h-01A0002Fh通道1參數地址(6word)01A00030h-01A00047h通道2參數地址(6word)01A00060h-01A00077h通道3參數地址(6word)01A00078h-01A0008Fh通道4參數地址(6word)。。。。。。3)、EDMA的傳輸參數1組EDMA傳輸參數的內部結構,總共有6個字,存儲結構如下:OPTSRCAddressFRMCNTELECNTDSTAddressFRMIDXELEIDXELERLDLINKOPTSRCCNTDSTIDXLINK01A00000h通道0的各字地址01A00004h01A00008h01A0000eh01A00010h01A00014hOPT參數地址01A00000hPRIESIZE2DSSUM2DDDUMTCINTTCC16192021232225242726282931優先級000表緊急優先權數據單元字長00表32位,01表16位目的數據維數0表一維1表二維源地址更新模式00表源地址不更改01增加10減少源數據維數0表一維1表二維目的地址更新模式00表源地址不更改01增加10減少傳輸結束代碼SRC/DST均為32位長度SRC要搬移數據的源地址DST要搬移數據的目的地址地址應該由程序員指定#defineCH8_SRC*(unsignedint*)0x01a000c4#defineCH8_DST*(unsignedint*)0x01a000ccCNTELECNT數據單元計數16bit無符號數該單元存放一幀(一維傳輸)或一個陣列(2-D)中的單元個數OPTSRCAddressFRMCNTELECNTDSTAddressFRMIDXELEIDXELERLDLINKFRMCNT幀數計數一次傳輸多少幀CH8_CNT=

0x00010010;

一幀含有16個字節一次傳送一幀IDX32位長確定偏移量FRMIDX確定下一幀的偏移地址,或者說相鄰2幀之間的步幅(間距)單位:字節ELEIDX確定下一陣列(可以理解為數組)的偏移地址CH8_IDX=0x00200000相鄰2幀之間步幅為32由于采用1維傳輸,而此項是控制二維傳輸的,所以不設置此項其實配置EDMA就是通道參數初始化,然后啟動通道開始傳輸見下面案例:#defineESRL*(unsignedint*)0x01a0fffc#defineESRH*(unsignedint*)0x01a0ffbc#defineCCER*(unsignedint*)0x01a0ffec//通道連接使能寄存器#defineCH8_OPT*(unsignedint*)0x01a000c0#defineCH8_SRC*(unsignedint*)0x01a000c4#defineCH8_CNT*(unsignedint*)0x01a000c8#defineCH8_DST*(unsignedint*)0x01a000cc#defineCH8_IDX*(unsignedint*)0x01a000d0#defineCH8_RELOAD_LINK*(unsignedint*)0x01a000d4TEST_edma(){//////////////////////////////////CH8_SRC=(unsignedint)src;//in;//(0x80019220);CH8_DST=(unsignedint)dst;//(unsignedint)dst;0x80000b60);CH8_CNT=0x00010010;//最后一位數是幾,一次便傳送幾個單元的數據CH8_IDX=0x00200000;CH8_OPT=0x0da01100;//0da01100;//ESRL=ESRL|0x00000100;CCER=CCER|0x00000100;/////////////////////////////////////////////}QDMA使用2組寄存器進行控制。第一組定義了QDMA傳輸所需參數;第二組定義了5個寄存器,是第一組寄存器的“偽映射”1、I/O控制可用哪幾種方式實現?各有何優缺點?清華2、通過硬件和軟件的擴充功能,把原來的獨立設備改造成能為若干用戶共享的設備,這種設備稱為()。

A、存儲設備b、系統設備c、用戶設備 d、虛擬設備3、如果I/O設備與存儲設備進行數據交換不經過CPU來完成,這種數據交換方式是()A、程序查詢b、中斷方式c、DMA方式d、無條件存取方式4、大多數低速設備都屬于()設備。A、獨占設備b共享設備c虛擬設備dspooldca6.3緩沖管理

6.3.1緩沖的引入***緩和CPU與I/O設備間速度不匹配的矛盾。(2)減少對CPU的中斷頻率,放寬對CPU中斷響應時間的限制。(見下圖)(3)提高CPU和I/O設備之間的并行性。設備管理中引入緩沖機制的主要原因是為了(1)(2)(3)。中科院計算所圖6-10利用緩沖寄存器實現緩沖100微秒刷新一次6.3.2單緩沖和雙緩沖1.單緩沖(SingleBuffer)圖6-11單緩沖工作示意圖單緩沖,為什么對一塊數據的處理時間為max(T,C)+M?必須等這段時間需要CPU和緩沖區同時參與2.雙緩沖(DoubleBuffer)圖6-12雙緩沖工作示意圖另一個緩沖區CPU和緩沖1只CPU參與雙緩沖,為什么對一塊數據的處理時間為max(T,C)?圖6-13雙機通信時緩沖區的設置案例攝像頭數字圖像視頻壓縮Internet個人計算機模擬圖像A/D轉換個人計算機RTP、UDPTCP\IPD1:720x576x2案例攝像頭數字圖像2視頻壓縮Internet個人計算機模擬圖像個人計算機RTP、UDPTCP\IP數字圖像1數字圖像3壓縮后代碼1壓縮后代碼26.3.3循環緩沖1.循環緩沖的組成(多個緩沖區,三個指針)圖6-14循環緩沖計算進程下一個可用的緩沖區,相當于消費者進程空緩沖區,相當于生產者進程滿當前正在運行的進程2.循環緩沖區的使用(了解)Getbuf過程。計算進程調用,Nextg供使用,然后下移,同時變C

輸入進程調用,Nexti供調用,然后下移(2)Releasebuf過程。計算進程調用完,C——R

輸入進程調用完,R——G計算進程和輸入進程可利用下面2個過程使用緩沖區3.進程同步(并行運行)Nexti指針追趕上Nextg指針。(2)Nextg指針追趕上Nexti指針。6.3.4緩沖池(BufferPool)

1.緩沖池的組成

對于既可用于輸入又可用于輸出的公用緩沖池,其中至少應含有以下三種類型的緩沖區:①空(閑)緩沖區;②裝滿輸入數據的緩沖區;③裝滿輸出數據的緩沖區。為了管理上的方便,可將相同類型的緩沖區鏈成一個隊列,于是可形成以下三個隊列:(1)空緩沖隊列emq。(2)輸入隊列inq。(3)輸出隊列outq。還需四種工作緩沖區:收容輸入數據、提取輸入數據、收容輸出數據、提取輸出數據的工作緩沖區2.Getbuf過程和Putbuf過程ProcedureGetbuf(type)beginWait(RS(type));Wait(MS(type));B(number):=Takebuf(type);Signal(MS(type));endProcedurePutbuf(type,number)beginWait(MS(type));Addbuf(type,number);Signal(MS(type));Signal(RS(type));end申請緩沖區資源釋放緩沖區資源,加1操作保證只有一個進程訪問緩沖區隊列保證只有一個進程訪問緩沖區隊列3.緩沖區的工作方式(了解)圖6-15緩沖區的工作方式緩沖技術是借用外存儲器的一部分區域做為緩沖池。判斷對錯緩沖技術中的緩沖池在()中。為了使多個進程能有效的同時處理輸入輸出,最好使用()結構的緩沖技術。 a、緩沖池 b閉緩沖區環 c單緩沖區 d雙緩沖區主存a6.4設備分配6.4.1設備分配數據結構6.4.2設備分配原則6.4.3假脫機技術返回由于外設資源的有限,需解決進程間的外設共享問題,以提高外設資源的利用率。設備分配是對進程使用外設過程的管理。這里有兩種作法:1)在進程間切換使用外設,如鍵盤和鼠標;2)通過一個虛擬設備把外設與應用進程隔開,只由虛擬設備來使用設備。6.4.1設備分配數據結構設備控制表(DCT,DeviceControlTable):每個設備一張,描述設備特性和狀態。反映設備的特性、設備和控制器的連接情況。DCT的內容主要包括:設備標識:用來區別不同的設備;設備類型:反映設備的特性;如:塊設備或字符設備;設備配置:I/O地址等;設備狀態:工作或空閑狀態;等待隊列:等待使用該設備的進程隊列;返回6.4.1設備分配中的數據結構1.設備控制表DCT

圖6-16設備控制表系統設備表(SDT,SystemDeviceTable):系統內一張,反映系統中設備資源的狀態,記錄所有設備的狀態及其設備控制表的入口。SDT表項的主要組成:DCT指針:指向相應設備的DCT;設備使用進程標識:正在使用該設備的進程標識;DCT信息:為引用方便而保存的DCT信息,如:設備標識、設備類型等;控制器控制表(COCT,COntrollerControlTable):每個設備控制器一張,描述I/O控制器的配置和狀態。如DMA控制器所占用的中斷號、DMA數據通道的分配。通道控制表(CHCT,CHannelControlTable):每個通道一張,描述通道工作狀態。返回8.3.2設備分配原則與設備分配有關的設備屬性:獨享設備:打印機等(一直使用完才釋放)。;共享設備:磁盤、網卡等;虛擬設備:一臺物理設備虛擬成多臺虛擬設備,合理調用設備分配方式:各有優缺點靜態分配:在進程剛創建時分配,在進程退出時釋放;不會出現死鎖;設備利用率不高;動態分配:在進程執行過程中根據需要分配,使用結束后釋放;需要考慮死鎖問題有利于提高設備利用率返回設備分配的原則是合理使用外設(公平和避免死鎖),提高設備利用率。動態分配策略:針對特定的設備采用特定的分配策略。先來先服務(FCFS):按I/O請求的先后順序,排成I/O請求命令隊列;按FCFS分配設備;基于優先級:依據進程的優先級,指定I/O請求的優先級,排成不同優先級隊列;按優先級高低分配設備;6.4.3設備獨立性1.設備獨立性(DeviceIndependence)的概念設備獨立性,也稱為設備無關性***。其基本含義是:應用程序獨立于具體使用的物理設備。為了實現設備獨立性而引入了邏輯設備和物理設備這兩個概念。在應用程序中,使用邏輯設備名稱來請求使用某類設備;而系統在實際執行時,還必須使用物理設備名稱。因此,系統須具有將邏輯設備名稱轉換為某物理設備名稱的功能,這非常類似于存儲器管理中所介紹的邏輯地址和物理地址的概念。在實現了設備獨立性的功能后,可帶來以下兩方面的好處。1)設備分配時的靈活性2)易于實現I/O重定向2.設備獨立性軟件1)執行所有設備的公有操作這些公有操作包括:①對獨立設備的分配與回收;②將邏輯設備名映射為物理設備名,進一步可以找到相應物理設備的驅動程序;③對設備進行保護,禁止用戶直接訪問設備;④緩沖管理,即對字符設備和塊設備的緩沖區進行有效的管理,以提高I/O的效率;⑤差錯控制。由于在I/O操作中的絕大多數錯誤都與設備無關,故主要由設備驅動程序處理,而設備獨立性軟件只處理那些設備驅動程序無法處理的錯誤。2)向用戶層(或文件層)軟件提供統一接口無論何種設備,它們向用戶所提供的接口應該是相同的。例如,對各種設備的讀操作,在應用程序中都使用read;而對各種設備的寫操作,也都使用write。6.4.5SPOOLing技術***

通過SPOOLing技術可將一臺物理I/O設備虛擬為多臺I/O設備,同樣允許多個用戶共享一臺物理I/O設備。SPOOLing假脫機技術引入:在多道批處理系統中,專門利用一道程序(SPOOLing程序)來完成對設備的I/O操作。無需使用外圍I/O處理機。返回利用假脫機技術(SPOOLing,SimultaneousPeripheralOperationOnLine,也稱為虛擬設備技術)可把獨享設備轉變成具有共享特征的虛擬設備,從而提高設備利用率。假脫機的原理:SPOOLing程序和外設進行數據交換,可以稱為“實際I/O”。一方面,SPOOLing程序預先從外設輸入數據并加以緩沖,在以后需要的時候輸入到應用程序;另一方面,SPOOLing程序接受應用程序的輸出數據并加以緩沖,在以后適當的時候輸出到外設。在SPOOLing程序中,需要管理兩級緩沖區:內存緩沖區和快速外存上的緩沖池,后者可以暫存多批I/O操作的較多數據。應用程序進行I/O操作時,只是和SPOOLing程序交換數據,可以稱為“虛擬I/O”。這時虛擬I/O實際上是從SPOOLing程序的緩沖池中讀出數據或把數據送入緩沖池,而不是跟實際的外設進行I/O操作。2.SPOOLing系統的組成1、輸入井和輸出井這是在磁盤上開辟的兩個大存儲空間。輸入井是模擬脫機輸入時的磁盤,用于收容I/O設備輸入的數據。輸出井是模擬脫機輸出時的磁盤,用于收容用戶程序的輸出數據。2、輸入緩沖區和輸出緩沖區

在內存中要開辟兩個緩沖區:輸入緩沖區和輸出緩沖區;輸入緩沖區用于暫存由輸入設備送來的數據,以后再傳送到輸入井;輸出緩沖區用于暫存從輸出井送來的數據,以后再傳送給輸出設備。3、輸入進程SPi和輸出進程SPo:進程SPi模擬脫機輸入時的外圍控制機,將用戶要求的數據從輸入機,通過輸入緩沖區再送到輸入井;當CPU需要輸入數據時,直接從輸入井讀入內存。

SPo進程模擬脫機輸出時的外圍控制機,把用戶要求輸出的數據,先從內存送到輸出井,待輸出設備空閑時,再將輸出井中的數據,經過輸出緩沖區送到輸出設備上。圖6-19SPOOLing系統的組成3.共享打印機

共享打印機技術已被廣泛地用于多用戶系統和局域網絡中。當用戶進程請求打印輸出時,SPOOLing系統同意為它打印輸出,但并不真正立即把打印機分配給該用戶進程,而只為它做兩件事:①由輸出進程在輸出井中為之申請一個空閑磁盤塊區,并將要打印的數據送入其中;②輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上。4.SPOOLing系統的特點***

提高了I/O的速度。應用程序的虛擬I/O比實際I/O速度提高,縮短應用程序的執行時間。另一方面,程序的虛擬I/O操作時間和實際I/O操作時間分離開來。(2)將獨占設備改造為共享設備。(3)實現了虛擬設備功能。舉例:打印機設備和可由打印機管理器管理的打印作業隊列。如:WindowsNT中,應用程序直接向針式打印機輸出需要15分鐘,而向打印作業隊列輸出只需要1分鐘,此后用戶可以關閉應用程序而轉入其他工作,在以后適當的時候由打印機管理器完成15分鐘的打印輸出而無需用戶干預。什么是虛擬設備?實現虛擬設備的關鍵技術是什么?虛擬設備是通過某種虛擬技術,將一臺物理設備變換成若干臺邏輯設備,從而實現多個用戶對該物理設備的同時共享。由于多臺邏輯設備事實上不存在,而只是給用戶的一種感覺,因此被稱作虛擬設備。常通過在可共享的、高速的磁盤上開辟兩個大的存儲空間(即輸入井和輸出井)以及預輸入、緩沖輸出技術來實現。預輸入和緩輸出可通過脫機和假脫機技術實現,假脫機是目前使用最廣泛的虛擬設備技術。習題1、Spooling技術提高了()利用率。A、獨占設備b、共享設備c。文件d、主存儲器2、在操作系統中,()指的是一種硬件機制。A、通道技術b、緩沖池c、Spooling技術d、內存覆蓋技術3、在操作系統中,用戶在使用I/O設備時,通常采用()。A、物理設備名b、邏輯設備名c、虛擬設備名d設備牌號、aab6.5設備控制6.5.1設備的控制過程6.5.2設備控制過程的實現方式6.5.3設備驅動程序返回6.5.1設備的控制過程轉換:將抽象的命令轉換為具體的一定次序的指令合法性檢查:檢查I/O操作請求的合法性可用性檢查:檢查控制器和設備的狀態,判斷是否可用參數設置:設置控制器和設備的參數,包括構造必要的通道程序啟動I/O:向控制器或設備發起I/O操作中斷處理:提供必要的中斷處理例程,以便I/O完成時調用返回依據用戶的控制命令對外設進行控制,并返回結果。控制過程可分為以下6步:6.5.2設備控制過程的實現方式作為應用進程的一部分執行:與程序控制I/O相對應,難以對外設發出的中斷作實時響應作為系統進程執行:每類設備一個進程,或整個系統一個進程處理各類設備不設進程,作為OS核心中的設備驅動程序返回6.5.3設備驅動程序中轉數據和控制:不是數據和控制的源端和目的端(應用程序和設備)與硬件特性密切相關:通常由硬件廠商提供。向上屏蔽設備細節:不同類型設備通常其設備驅動程序接口不同,同類設備的接口相同。因此,同類設備的不同型號,只要更換設備驅動程序則可由OS使用。返回驅動程序是I/O處理功能的低級系統例程。它具有如下特征:設備驅動程序的處理過程主要任務是啟動設備將抽象要求轉換為具體要求2.檢查I/O請求的合法性3.讀出和檢查設備的狀態4.傳送必要的參數5.工作方式的設置6.啟動I/O設備

6.6磁盤設備管理6.6.1磁盤I/O訪問時間的組成6.6.2磁盤I/O調度策略6.6.3磁盤緩存置換算法返回CPU和內存的訪問速度比磁盤要快若干個數量級,磁盤系統的性能對整個系統的性能有重要影響,磁盤設備管理的目標就是提高磁盤系統的性能。6.6.1磁盤I/O訪問時間的組成柱面定位時間:磁頭移動到指定柱面的機械運動時間;旋轉延遲時間:磁盤旋轉到指定扇區的機械運動時間;它與磁盤轉速相關,如:軟盤轉速可為600rpm(每分鐘轉速),硬盤可為7200rpm。數據傳送時間:從指定扇區讀寫數據的時間。返回由于柱面定位時間在訪問時間中占主要部分,合理組成磁盤數據的存儲位置可提高磁盤I/O性能。例子:讀一個128KB大小的文件:(1)文件由8個連續磁道(每個磁道32個扇區)上的256個扇區構成:20ms+(8.3ms+16.7ms)*8=220ms;其中,柱面定位時間為20ms,旋轉延遲時間為8.3ms,32扇區數據傳送時間為16.7ms;(2)文件由256個隨機分布的扇區構成:(20ms+8.3ms+0.5ms)*256=7373ms;其中,1扇區數據傳送時間為0.5ms;隨機分布時的訪問時間為連續分布時的33.5倍。6.6.2磁盤I/O調度策略先進先出算法最短尋道時間優先算法后進先出算法掃描(SCAN)算法循環掃描(C-SCAN)算法N步掃描(N-step-SCAN)算法雙隊列掃描(FSCAN)算法返回來自不同進程的磁盤I/O請求構成一個隨機分布的請求隊列。磁盤I/O調度的主要目標就是減少請求隊列對應的平均柱面定位時間。1.先來先服務FCFS(First-Come,FirstServed)

圖6-23FCFS調度算法下列請求序列等待訪問磁盤:55、58、39、18、90、160、150、38、1842.最短尋道時間優先SSTF(ShortestSeekTimeFirst)圖6-24SSTF調度算法下列請求序列等待訪問磁盤:55、58、39、18、90、160、150、38、1843.掃描(SCAN)算法1)進程“饑餓”現象

SSTF算法雖然能獲得較好的尋道性能,但卻可能導致某個進程發生“饑餓”(Starvation)現象。因為只要不斷有新進程的請求到達,且其所要訪問的磁道與磁頭當前所在磁道的距離較近,這種新進程的I/O請求必須優先滿足。對SSTF算法略加修改后所形成的SCAN算法,即可防止老進程出現“饑餓”現象。2)SCAN算法

圖6-25SCAN調度算法示例本算法不僅考慮到預訪問磁道和當前磁道之間的距離,更優先考慮的是磁頭當前的移動方向。又稱電梯調度算法下列請求序列等待訪問磁盤:55、58、39、18、90、160、150、38、1844.循環掃描(CSCAN)算法圖6-26CSCAN調度算法示例只按一個方向走下列請求序列等待訪問磁盤:55、58、39、18、90、160、150、38、184假定在某移動臂磁盤上,剛剛處理了訪問75號柱面的請求,目前正在80號柱面上讀信息,并有下列請求序列等待訪問磁盤:請求序列:12345678預訪問的柱面號:16040190188905832102試用;FCFS、最短查找時間優先算法,電梯調度算法(掃描算法),循環掃描算法,分別排出實際處理上述請求的次序。電梯調度算法SCAN:5、8、1、4、3、6、2、7最短查找時間優先算法:5、8、6、2、7、1、4、3先來先:1、2、3、4、5、6、7、8循環掃描算法CSCAN:5、8、1、4、3、7、2、6算一下平均尋道長度。6.6.3磁盤高速緩存(DiskCache)***1.磁盤高速緩存的形式是指利用內存中的存儲空間,來暫存從磁盤中讀出的一系列盤塊中的信息。因此,這里的高速緩存是一組在邏輯上屬于磁盤,而物理上是駐留在內存中的盤塊。高速緩存在內存中可分成兩種形式。第一種是在內存中開辟一個單獨的存儲空間來作為磁盤高速緩存,其大小是固定的,不會受應用程序多少的影響;第二種是把所有未利用的內存空間變為一個緩沖池,供請求分頁系統和磁盤I/O時(作為磁盤高速緩存)共享。此時高速緩存的大小,顯然不再是固定的。當磁盤I/O的頻繁程度較高時,該緩沖池可能包含更多的內存空間;而在應用程序運行得較多時,該緩沖池可能只剩下較少的內存空間。2.數據交付方式系統可以采取兩種方式,將數據交付給請求進程:(1)數據交付。這是直接將高速緩存中的數據,傳送到請求者進程的內存工作區中。(2)指針交付。只將指向高速緩存中某區域的指針,交付給請求者進程。后一種方式由于所傳送的數據量少,因而節省了數據從磁盤高速緩存存儲空間到進程的內存工作區的時間。3.置換算法由于請求調頁中的聯想存儲器與高速緩存(磁盤I/O中)的工作情況不同,因而使得在置換算法中所應考慮的問題也有所差異。因此,現

溫馨提示

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

評論

0/150

提交評論