北方工業(yè)大學(xué)操作系統(tǒng)設(shè)備管理課件_第1頁
北方工業(yè)大學(xué)操作系統(tǒng)設(shè)備管理課件_第2頁
北方工業(yè)大學(xué)操作系統(tǒng)設(shè)備管理課件_第3頁
北方工業(yè)大學(xué)操作系統(tǒng)設(shè)備管理課件_第4頁
北方工業(yè)大學(xué)操作系統(tǒng)設(shè)備管理課件_第5頁
已閱讀5頁,還剩120頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

操作系統(tǒng)

OperatingSystem北方工業(yè)大學(xué)計(jì)算機(jī)系NorthChinaUniversityofTechnologyDepartmentofComputer授課教師:宋麗華第五章設(shè)備管理5.0引言5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4I/O軟件5.5設(shè)備分配5.6磁盤存儲(chǔ)器的管理第五章設(shè)備管理5.0引言★設(shè)備管理的基本任務(wù):完成用戶提出的I/O請(qǐng)求,提高I/O速率和設(shè)備利用率★設(shè)備管理的功能:設(shè)備分配;設(shè)備控制;緩沖的管理功能;虛擬設(shè)備。第五章設(shè)備管理5.0引言5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理1)字符設(shè)備2)塊設(shè)備★設(shè)備的分類使用特性數(shù)據(jù)傳輸率信息交換單位設(shè)備共享屬性

5.1.1I/O設(shè)備1)存儲(chǔ)設(shè)備2)I/O設(shè)備1)高速設(shè)備2)中速設(shè)備3)低速設(shè)備1)獨(dú)占設(shè)備2)共享設(shè)備3)虛擬設(shè)備5.1.1I/O設(shè)備★設(shè)備與控制器之間的接口

通常設(shè)備不是直接與CPU進(jìn)行通信,而是與設(shè)備控制器通信。圖5-1設(shè)備與控制器之間的接口5.1.2設(shè)備控制器★設(shè)備控制器的基本功能接收和識(shí)別命令數(shù)據(jù)緩沖和交換標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)地址識(shí)別差錯(cuò)控制5.1.2

設(shè)備控制器數(shù)據(jù)寄存器控制/狀態(tài)寄存器I/O邏輯控制器與設(shè)備接口1控制器與設(shè)備接口i數(shù)據(jù)線地址線控制線CPU與控制器接口控制器與設(shè)備接口狀態(tài)控制數(shù)據(jù)數(shù)據(jù)狀態(tài)控制……★設(shè)備控制器的組成圖5-2控制器的組成5.1I/O系統(tǒng)

★5.1.4總線系統(tǒng)圖5-3單總線型I/O系統(tǒng)結(jié)構(gòu)第五章設(shè)備管理

5.0引言5.1I/0系統(tǒng)

5.2I/O控制方式5.3緩沖管理5.2I/O控制方式

★5.2.1程序I/O方式設(shè)備控制器設(shè)置狀態(tài)寄存器以表示外部設(shè)備的工作狀態(tài)。CPU通過不斷讀取狀態(tài)寄存器以查詢外部設(shè)備的狀態(tài)。在外部設(shè)備準(zhǔn)備就緒的時(shí)候,CPU通過控制器中的數(shù)據(jù)寄存器與外設(shè)完成數(shù)據(jù)交換。5.2I/O控制方式

向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)從I/O控制器中讀入字向存儲(chǔ)器中寫字CPUI/OI/OCPU未就緒出錯(cuò)就緒I/OCPUCPU內(nèi)存?zhèn)魉屯瓿蓹z查狀態(tài)是,下一條指令未完

★5.2.1程序I/O方式5.2.1程序I/O方式★程序I/O方式的特點(diǎn)I/O操作由CPU直接完成。外設(shè)與CPU完全串行工作。外設(shè)速度慢,CPU速度快,在外設(shè)準(zhǔn)備過程中,CPU處在不斷的查詢之中,CPU的效率得到了極大的浪費(fèi)。5.2I/O控制方式

★5.2.2中斷驅(qū)動(dòng)I/O控制方式在I/O設(shè)備輸入數(shù)據(jù)的過程中,無須CPU干預(yù),因而CPU與I/O設(shè)備可并行工作。僅當(dāng)輸完一個(gè)數(shù)據(jù)時(shí),設(shè)備控制器以中斷的方式通知CPU取數(shù)據(jù)。5.2.2中斷驅(qū)動(dòng)I/O控制方式

向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)從I/O控制器中讀入字向存儲(chǔ)器中寫字CPUI/O,CPU做其它事了I/OCPU出錯(cuò)就緒I/OCPUCPU內(nèi)存?zhèn)魉屯瓿蓹z查狀態(tài)是,下一條指令未完數(shù)據(jù)進(jìn)入數(shù)據(jù)寄存器,發(fā)中斷從外部設(shè)備讀取一塊數(shù)據(jù)到存儲(chǔ)器,每次讀一個(gè)字的數(shù)據(jù)。CPU與I/O設(shè)備并行操作★中斷I/O方式的特點(diǎn)I/O操作仍然由CPU完成在外設(shè)準(zhǔn)備階段,CPU與外設(shè)是并行工作的與程序I/O相比大大提高了CPU的利用率,但是從外部設(shè)備讀取一塊數(shù)據(jù)到存儲(chǔ)器時(shí),每讀一個(gè)字的數(shù)據(jù)產(chǎn)生一次中斷。5.2.2中斷驅(qū)動(dòng)I/O控制方式

5.2I/O控制方式

★5.2.1直接存儲(chǔ)器訪問(DMA)I/O方式數(shù)據(jù)傳輸基本單位是數(shù)據(jù)塊從設(shè)備直接送入內(nèi)存或相反。整塊數(shù)據(jù)的傳輸是在控制器的控制下完成的。僅在開始和結(jié)束時(shí)才需CPU干預(yù)。向I/O控制器發(fā)布讀塊命令讀DMA控制器的狀態(tài)下條指令CPUDMACPU做其它事中斷DMACPU5.2.3DMAI/O控制方式

DR數(shù)據(jù)寄存器MAR內(nèi)存地址寄存器DC數(shù)據(jù)計(jì)數(shù)器CR命令/狀態(tài)寄存器……命令系統(tǒng)總線DMA控制器內(nèi)存主機(jī)—控制器接口CPU★DMA控制器的組成圖5-4DMA控制器的組成5.2.3DMAI/O控制方式

★DMA工作過程設(shè)置MAR和DC初值啟動(dòng)DMA傳送命令挪用CPU工作周期傳送數(shù)據(jù)字存儲(chǔ)器地址增1數(shù)據(jù)計(jì)數(shù)器減1DC=0?請(qǐng)求中斷NY★DMA控制器的連接和傳送主存CPUDMA控制器外設(shè)HRQHLDADREQDACKIOWIORMEMWMEMR數(shù)據(jù)總線地址總線DREQDREQDACKDACKHRQHRQHLDAHLDADMA控制器CPUCPUCPUDMA控制器CPU獲得總線控制權(quán)CPU獲得總線控制權(quán)DMA控制器獲得總線控制權(quán)★DMAI/O方式的特點(diǎn)CPU與I/O設(shè)備在更大的程度上并行工作,效率更高。DMA方式適合高速批量的數(shù)據(jù)傳輸,如視頻顯示刷新、磁盤存儲(chǔ)系統(tǒng)的讀寫,存儲(chǔ)器到存儲(chǔ)器的傳輸?shù)?。DMA控制器取代CPU接管地址總線的控制權(quán)。使CPU訪問總線時(shí)速度會(huì)變慢。5.2.3DMAI/O控制方式

對(duì)大型系統(tǒng),設(shè)備多,數(shù)據(jù)傳輸頻繁,DMA造成的總線沖突仍然影響CPU的效率。解決辦法:采用I/O通道方式進(jìn)行數(shù)據(jù)交換。執(zhí)行專用指令,完成數(shù)據(jù)交換專用處理器,受主CPU控制(啟停等)主存CPU通道設(shè)備控制器外設(shè)5.2I/O控制方式圖5-5通道的位置5.2I/O控制方式★5.2.4I/O通道控制方式通道有自己的指令系統(tǒng),專門負(fù)責(zé)輸入/輸出工作的處理機(jī)。通過通道程序控制I/O設(shè)備完成復(fù)雜的I/O操作。沒有內(nèi)存,和CPU共享內(nèi)存。分類:字節(jié)多路通道,數(shù)組選擇通道,數(shù)組多路通道★字節(jié)多路通道

通道不間斷地、輪流地啟動(dòng)每個(gè)設(shè)備控制器。是一種簡(jiǎn)單的共享通道,主要為多臺(tái)低速或中速的字符設(shè)備服務(wù)。5.2.4I/O通道控制方式…A1A1A2A2B2B2B1B1C1C1C2C2通道………A1A1A2A2B1B1B2B2C1C2C1C2★數(shù)組選擇通道

選擇通道又稱高速通道,在物理上它也可以連接多個(gè)設(shè)備,但這些設(shè)備不能同時(shí)工作,在一段時(shí)間內(nèi)通道只能選擇一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳送,此時(shí)該設(shè)備能獨(dú)占整個(gè)通道。5.2.4I/O通道控制方式★數(shù)組多路通道

數(shù)組多路通道有多個(gè)子通道,可以執(zhí)行多路通道程序,即像字節(jié)多路通道那樣,所有子通道分時(shí)共享總通道;又可以用選擇通道那樣的方式成組傳送數(shù)據(jù)。即具有多路并行操作的能力;又具有很高的數(shù)據(jù)傳送速率。5.2.4I/O通道控制方式A1A1A2A2B2B2B1B1C1C1C2C2通道…………………A1A2B1B2C1C2A1A2B1B2C1C2通道類型字節(jié)多路數(shù)組多路選擇通道數(shù)據(jù)寬度

單字節(jié)

定長(zhǎng)塊(字)

不定長(zhǎng)塊(字)

適用范圍大量低速設(shè)備

大量高速設(shè)備優(yōu)先級(jí)高的高速設(shè)備

工作方式字節(jié)交叉

成組交叉

獨(dú)占通道

共享性

分時(shí)共享

分時(shí)共享

獨(dú)占

選擇設(shè)備次數(shù)

多次

多次

一次

★三種通道的比較

5.2.4I/O通道控制方式通道類型字節(jié)多路數(shù)組多路選擇通道數(shù)據(jù)寬度

單字節(jié)

定長(zhǎng)塊(字)

不定長(zhǎng)塊(字)

適用范圍大量低速設(shè)備

大量高速設(shè)備優(yōu)先級(jí)高的高速設(shè)備

工作方式字節(jié)交叉

成組交叉

獨(dú)占通道

共享性

分時(shí)共享

分時(shí)共享

獨(dú)占

選擇設(shè)備次數(shù)

多次

多次

一次通道類型字節(jié)多路數(shù)組多路選擇通道數(shù)據(jù)寬度

單字節(jié)

定長(zhǎng)塊(字)

不定長(zhǎng)塊(字)

適用范圍大量低速設(shè)備

大量高速設(shè)備優(yōu)先級(jí)高的高速設(shè)備

工作方式字節(jié)交叉

成組交叉

獨(dú)占通道

共享性

分時(shí)共享

分時(shí)共享

獨(dú)占

選擇設(shè)備次數(shù)

多次

多次

一次通道類型字節(jié)多路數(shù)組多路選擇通道數(shù)據(jù)寬度

單字節(jié)

定長(zhǎng)塊(字)

不定長(zhǎng)塊(字)

適用范圍大量低速設(shè)備

大量高速設(shè)備優(yōu)先級(jí)高的高速設(shè)備

工作方式字節(jié)交叉

成組交叉

獨(dú)占通道

共享性

分時(shí)共享

分時(shí)共享

獨(dú)占

選擇設(shè)備次數(shù)

多次

多次

一次通道類型字節(jié)多路數(shù)組多路選擇通道數(shù)據(jù)寬度

單字節(jié)

定長(zhǎng)塊(字)

不定長(zhǎng)塊(字)

適用范圍大量低速設(shè)備

大量高速設(shè)備優(yōu)先級(jí)高的高速設(shè)備

工作方式字節(jié)交叉

成組交叉

獨(dú)占通道

共享性

分時(shí)共享

分時(shí)共享

獨(dú)占

選擇設(shè)備次數(shù)

多次

多次

一次通道類型字節(jié)多路數(shù)組多路選擇通道數(shù)據(jù)寬度

單字節(jié)

定長(zhǎng)塊(字)

不定長(zhǎng)塊(字)

適用范圍大量低速設(shè)備

大量高速設(shè)備優(yōu)先級(jí)高的高速設(shè)備

工作方式字節(jié)交叉

成組交叉

獨(dú)占通道

共享性

分時(shí)共享

分時(shí)共享

獨(dú)占

選擇設(shè)備次數(shù)

多次

多次

一次通道類型字節(jié)多路數(shù)組多路選擇通道數(shù)據(jù)寬度

單字節(jié)

定長(zhǎng)塊(字)

不定長(zhǎng)塊(字)

適用范圍大量低速設(shè)備

大量高速設(shè)備優(yōu)先級(jí)高的高速設(shè)備

工作方式字節(jié)交叉

成組交叉

獨(dú)占通道

共享性

分時(shí)共享

分時(shí)共享

獨(dú)占

選擇設(shè)備次數(shù)

多次

多次

一次通道類型字節(jié)多路數(shù)組多路選擇通道數(shù)據(jù)寬度

單字節(jié)

定長(zhǎng)塊(字)

不定長(zhǎng)塊(字)

適用范圍大量低速設(shè)備

大量高速設(shè)備優(yōu)先級(jí)高的高速設(shè)備

工作方式字節(jié)交叉

成組交叉

獨(dú)占通道

共享性

分時(shí)共享

分時(shí)共享

獨(dú)占

選擇設(shè)備次數(shù)

多次

多次

一次★通道類型5.2.4I/O通道控制方式5.2.4I/O通道控制方式

★工作過程:CPU向I/O通道發(fā)出一條I/O指令,給出所要執(zhí)行的通道程序的首地址和要訪問的I/O設(shè)備。通道接到CPU發(fā)來的指令后,通過執(zhí)行通道程序便可完成CPU指定的I/O任務(wù)5.2.4I/O通道控制方式

★通道程序:由一系列的通道指令所構(gòu)成。每條指令包含:操作碼、內(nèi)存地址、計(jì)數(shù)、通道程序結(jié)束位P(P=1表示指令是通道程序最后一條)、記錄結(jié)束標(biāo)志R(R=0表示指令與下一條指令所處理的數(shù)據(jù)同屬一個(gè)記錄)。操作PR計(jì)數(shù)內(nèi)存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE112507205.2.4I/O通道控制方式

★通道執(zhí)行通道程序來實(shí)現(xiàn)和管理I/O,與DMA方式相比,通道所需的CPU干預(yù)更少,且可以做到一個(gè)通道控制多臺(tái)設(shè)備,進(jìn)一步減輕了CPU的負(fù)擔(dān)?!顲PU、通道和I/O設(shè)備并行工作計(jì)算機(jī)I/O通道1I/O通道2控制器控制器控制器控制器設(shè)備設(shè)備設(shè)備設(shè)備5.2.4I/O通道★“瓶頸”問題

多通路I/O系統(tǒng)第五章設(shè)備管理

5.0引言5.1I/O系統(tǒng)

5.2I/O控制方式

5.3緩沖管理5.3緩沖管理★緩沖區(qū)的引入緩和CPU與I/O設(shè)備間速度不匹配的矛盾。

減少對(duì)CPU的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)間的限制。提高CPU和I/O設(shè)備之間的并行性。5.3.1緩沖的引入利用緩沖寄存器實(shí)現(xiàn)緩沖5.3.2單緩沖和雙緩沖★單緩沖

單緩沖工作示意圖MAX(C,T)+M系統(tǒng)對(duì)每一塊數(shù)據(jù)的處理時(shí)間可表示為:★單緩沖

字符設(shè)備輸入時(shí),緩沖區(qū)用于暫存用戶輸入的一行數(shù)據(jù),輸入期間用戶進(jìn)程被掛起。當(dāng)用戶進(jìn)程有第二行數(shù)據(jù)輸出時(shí),若第一行數(shù)據(jù)尚未提取完畢,則此時(shí)用戶進(jìn)程應(yīng)阻塞。5.3.2單緩沖和雙緩沖5.3.2單緩沖和雙緩沖★雙緩沖

雙緩沖工作示意圖★雙緩沖

系統(tǒng)處理一塊數(shù)據(jù)時(shí)間可表示為:MAX(C,T)如果C<T,則可使設(shè)備連續(xù)輸入。若C>T,則可使CPU不必等待設(shè)備輸入。字符設(shè)備輸入時(shí),當(dāng)用戶進(jìn)程有第二行數(shù)據(jù)輸出時(shí),若第一行數(shù)據(jù)尚未提取完畢,則此時(shí)用戶進(jìn)程也不必阻塞。5.3.2單緩沖和雙緩沖5.3.2單緩沖和雙緩沖

雙機(jī)通信時(shí)緩沖區(qū)的設(shè)置【11年考研31題】某文件占10個(gè)磁盤塊,現(xiàn)要把該文件磁盤塊逐個(gè)讀入主存緩沖區(qū),并送用戶區(qū)進(jìn)行分析,假設(shè)一個(gè)緩沖區(qū)與一個(gè)磁盤塊大小相同,把一個(gè)磁盤塊讀入緩沖區(qū)的時(shí)間為100us,將緩沖區(qū)的數(shù)據(jù)傳送到用戶區(qū)的時(shí)間是50us,CPU對(duì)一塊數(shù)據(jù)進(jìn)行分析的時(shí)間為50us。在單緩沖區(qū)和雙緩沖區(qū)結(jié)構(gòu)下,讀入并分析完該文件的時(shí)間分別是() A.1500us、1000usB.1550us、1100us C.1550us、1550usD.2000us、2000us考研真題B5.3.3循環(huán)緩沖★循環(huán)緩沖的組成空緩沖區(qū)滿緩沖區(qū)循環(huán)緩沖5.3.3循環(huán)緩沖★

循環(huán)緩沖區(qū)的使用(以計(jì)算進(jìn)程為例)Getbuf過程1)將Nextg所指示的工作區(qū)修改為現(xiàn)行工作區(qū)。2)Nextg移向下一個(gè)G緩沖區(qū)。Releasebuf過程1)計(jì)算進(jìn)程取數(shù)完畢后,將工作緩沖區(qū)由C改為空緩沖區(qū)R

5.3.3循環(huán)緩沖★進(jìn)程同步

使用循環(huán)緩沖可以使輸入進(jìn)程和計(jì)算進(jìn)程并行執(zhí)行,但是可能出現(xiàn)如下情況:Nexti指針追趕上Nextg指針。Nextg指針追趕上Nexti指針。

全空,阻塞計(jì)算進(jìn)程全滿,阻塞輸入進(jìn)程5.3.4緩沖池★緩沖池的組成空緩沖隊(duì)列emq輸入隊(duì)列inq:裝滿輸入數(shù)據(jù)的隊(duì)列輸出隊(duì)列outq:裝滿輸出數(shù)據(jù)的隊(duì)列四種工作緩沖區(qū)5.3.4緩沖池★Getbuf過程和Putbuf過程ProcedureGetbuf(type)//從隊(duì)列取走緩沖區(qū)beginWait(RS(type));//RS(type)為資源信號(hào)量

Wait(MS(type));//MS(type)為互斥信號(hào)量B(number)∶=Takebuf(type);//輸出

Signal(MS(type));endProcedurePutbuf(type,number)//把緩沖區(qū)填入隊(duì)列begin

Wait(MS(type));Addbuf(type,number);//把number緩沖區(qū)輸入type隊(duì)列Signal(MS(type));

Signal(RS(type));end5.3.4緩沖池★緩沖區(qū)的工作方式1)收容輸入Getbuff(emq),

Putbuff(inq,hin)2)提取輸入Getbuff(inq),

Putbuff(emq,sin)3)收容輸出Getbuff(emq),

Putbuff(outq,hout)4)提取輸出Getbuff(out),

Putbuff(emq,sout)5.4I/O軟件5.5設(shè)備分配5.6磁盤存儲(chǔ)器的管理第五章設(shè)備管理5.4.1I/O軟件的設(shè)計(jì)目標(biāo)和原則★I/O軟件的設(shè)計(jì)目標(biāo)與具體設(shè)備無關(guān)統(tǒng)一命名對(duì)錯(cuò)誤的處理緩沖技術(shù)設(shè)備的分配和釋放I/O控制方式5.4.1I/O軟件的設(shè)計(jì)目標(biāo)和原則★

I/O系統(tǒng)的層次及功能

5.4.2中斷處理程序★喚醒被阻塞的驅(qū)動(dòng)(程序)進(jìn)程

當(dāng)中斷處理程序開始執(zhí)行時(shí),首先去喚醒處于阻塞狀態(tài)的驅(qū)動(dòng)(程序)進(jìn)程。如果是采用了信號(hào)量機(jī)制,則可通過執(zhí)行signal操作,將處于阻塞狀態(tài)的驅(qū)動(dòng)(程序)進(jìn)程喚醒;在采用信號(hào)機(jī)制時(shí),將發(fā)送一信號(hào)給阻塞進(jìn)程。5.4.2中斷處理程序★保護(hù)被中斷進(jìn)程的CPU環(huán)境

中斷現(xiàn)場(chǎng)保護(hù)示意圖5.4.2中斷處理程序★轉(zhuǎn)入相應(yīng)的設(shè)備處理程序

1)由處理機(jī)對(duì)各個(gè)中斷源進(jìn)行測(cè)試,以確定引起本次中斷的I/O設(shè)備;

2)發(fā)送一應(yīng)答信號(hào)給發(fā)出中斷請(qǐng)求的進(jìn)程,使之消除該中斷請(qǐng)求信號(hào); 3)然后將相應(yīng)的設(shè)備中斷處理程序的入口地址裝入到程序計(jì)數(shù)器中,使處理機(jī)轉(zhuǎn)向中斷處理程序。

5.4.2中斷處理程序★中斷處理對(duì)于不同的設(shè)備,有不同的中斷處理程序。該程序首先從設(shè)備控制器中讀出設(shè)備狀態(tài),以判別本次中斷是正常完成中斷,還是異常結(jié)束中斷。進(jìn)行新一輪的數(shù)據(jù)傳送或根據(jù)發(fā)生異常的原因做相應(yīng)的處理。

5.4.2中斷處理程序★恢復(fù)被中斷進(jìn)程的現(xiàn)場(chǎng)5.4.2中斷處理程序★中斷處理流程5.4.3設(shè)備驅(qū)動(dòng)程序★設(shè)備驅(qū)動(dòng)程序的功能

(1)接收由I/O進(jìn)程發(fā)來的命令和參數(shù),并將命令中的抽象要求轉(zhuǎn)換為具體要求。例如,將磁盤塊號(hào)轉(zhuǎn)換為磁盤的盤面、磁道號(hào)及扇區(qū)號(hào)。

(2)檢查用戶I/O請(qǐng)求的合法性。

5.4.3設(shè)備驅(qū)動(dòng)程序★設(shè)備驅(qū)動(dòng)程序的功能(3)發(fā)出I/O命令。

(4)及時(shí)響應(yīng)由控制器或通道發(fā)來的中斷請(qǐng)求,并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。

(5)對(duì)于設(shè)置有通道的計(jì)算機(jī)系統(tǒng),驅(qū)動(dòng)程序還應(yīng)能夠根據(jù)用戶的I/O請(qǐng)求,自動(dòng)地構(gòu)成通道程序。5.4.3設(shè)備驅(qū)動(dòng)程序★設(shè)備驅(qū)動(dòng)程序的處理過程將抽象要求轉(zhuǎn)換為具體要求

2.檢查I/O請(qǐng)求的合法性

3.讀出和檢查設(shè)備的狀態(tài)

4.傳送必要的參數(shù)

5.工作方式的設(shè)置6.啟動(dòng)I/O設(shè)備5.4.3設(shè)備驅(qū)動(dòng)程序★設(shè)備驅(qū)動(dòng)程序的特點(diǎn)(1)驅(qū)動(dòng)程序主要是指在請(qǐng)求I/O的進(jìn)程與設(shè)備控制器之間的一個(gè)通信和轉(zhuǎn)換程序。

(2)驅(qū)動(dòng)程序與設(shè)備控制器和I/O設(shè)備的硬件特性緊密相關(guān),因而對(duì)不同類型的設(shè)備應(yīng)配置不同的驅(qū)動(dòng)程序。

(3)驅(qū)動(dòng)程序與I/O設(shè)備所采用的I/O控制方式緊密相關(guān)。

(4)由于驅(qū)動(dòng)程序與硬件緊密相關(guān),因而其中的一部分必須用匯編語言書寫。5.4.4設(shè)備獨(dú)立性軟件★設(shè)備獨(dú)立性的概念也稱為設(shè)備無關(guān)性,其基本含義是:應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。為了實(shí)現(xiàn)設(shè)備獨(dú)立性而引入了邏輯設(shè)備和物理設(shè)備這兩個(gè)概念。在應(yīng)用程序中,使用邏輯設(shè)備名稱來請(qǐng)求使用某類設(shè)備;而系統(tǒng)在實(shí)際執(zhí)行時(shí),還必須使用物理設(shè)備名稱。5.4.4設(shè)備獨(dú)立性軟件★設(shè)備獨(dú)立性的概念

在實(shí)現(xiàn)了設(shè)備獨(dú)立性的功能后,可帶來以下兩方面的好處。

1)設(shè)備分配時(shí)的靈活性系統(tǒng)動(dòng)態(tài)分配

2)易于實(shí)現(xiàn)I/O重定向修改邏輯設(shè)備表5.4.4設(shè)備獨(dú)立性軟件★邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)

邏輯設(shè)備表5.4.4設(shè)備獨(dú)立性軟件★設(shè)備獨(dú)立性軟件1)執(zhí)行所有設(shè)備的公有操作;①對(duì)獨(dú)立設(shè)備的分配與回收;②將邏輯設(shè)備名映射為物理設(shè)備名,找到相應(yīng)物理設(shè)備的驅(qū)動(dòng)程序;③對(duì)設(shè)備進(jìn)行保護(hù),禁止用戶直接訪問設(shè)備;④緩沖管理,即對(duì)字符設(shè)備和塊設(shè)備的緩沖區(qū)進(jìn)行有效的管理,以提高I/O的效率;⑤差錯(cuò)控制。只處理那些設(shè)備驅(qū)動(dòng)程序無法處理的錯(cuò)誤

5.4.4設(shè)備獨(dú)立性軟件★設(shè)備獨(dú)立性軟件2)向用戶層(或文件層)軟件提供統(tǒng)一接口

無論何種設(shè)備,它們向用戶所提供的接口應(yīng)該是相同的。例如,對(duì)各種設(shè)備的讀操作,在應(yīng)用程序中都使用read;而對(duì)各種設(shè)備的寫操作,也都使用write。

★用戶層軟件必須通過系統(tǒng)調(diào)用取得操作系統(tǒng)服務(wù)!【09年考研32題】程序員利用系統(tǒng)調(diào)用打開I/O設(shè)備時(shí),通常使用的設(shè)備標(biāo)識(shí)是()

A.邏輯設(shè)備名B.物理設(shè)備名C.主設(shè)備號(hào)D.從設(shè)備號(hào)【10年考研32題】本地用戶通過鍵盤登錄系統(tǒng)時(shí),首先獲得鍵盤輸入信息的程序是(

A.命令解釋程序B.中斷處理程序

C.系統(tǒng)調(diào)用程序D.用戶登錄程序考研真題A

B【11年考研26題】用戶程序發(fā)出磁盤I/O請(qǐng)求后,系統(tǒng)的正確處理流程是() A.用戶程序→系統(tǒng)調(diào)用處理程序→中斷處理程序→設(shè)備驅(qū)動(dòng)程序

B.用戶程序→系統(tǒng)調(diào)用處理程序→設(shè)備驅(qū)動(dòng)程序→中斷處理程序

C.用戶程序→設(shè)備驅(qū)動(dòng)程序→系統(tǒng)調(diào)用處理程序→中斷處理程序

D.用戶程序→設(shè)備驅(qū)動(dòng)程序→中斷處理程序→系統(tǒng)調(diào)用處理程序考研真題B【12年考研24題】中斷處理和子程序調(diào)用都需要壓棧以保護(hù)現(xiàn)場(chǎng),中斷處理一定會(huì)保存而子程序調(diào)用不需要保存其內(nèi)容的是()。

A.程序計(jì)數(shù)器 B.程序狀態(tài)字寄存器

C.通用數(shù)據(jù)寄存器 D.通用地址寄存器【12年考研26題】操作系統(tǒng)的I/O子系統(tǒng)通常由四個(gè)層次組成,每一層明確定義了與鄰近層次的接口,其合理的層次組織排列順序是()。

A.用戶級(jí)I/O軟件、設(shè)備無關(guān)軟件、設(shè)備驅(qū)動(dòng)程序、中斷處理程序

B.用戶級(jí)I/O軟件、設(shè)備無關(guān)軟件、中斷處理程序、設(shè)備驅(qū)動(dòng)程序

C.用戶級(jí)I/O軟件、設(shè)備驅(qū)動(dòng)程序、設(shè)備無關(guān)軟件、中斷處理程序

D.用戶級(jí)I/O軟件、中斷處理程序、設(shè)備無關(guān)軟件、設(shè)備驅(qū)動(dòng)程序。

考研真題BA5.4I/O軟件5.5設(shè)備分配5.6磁盤存儲(chǔ)器的管理第五章設(shè)備管理5.5.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)★設(shè)備控制表DCT5.5.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)★控制器控制表、通道控制表和系統(tǒng)設(shè)備表COCT、CHCT和SDT表5.5.2設(shè)備分配時(shí)應(yīng)考慮的因素獨(dú)占設(shè)備

共享設(shè)備可虛擬設(shè)備★

設(shè)備分配算法★設(shè)備的固有屬性★

設(shè)備分配中的安全性

先來先服務(wù)優(yōu)先級(jí)高者優(yōu)先安全分配方式(請(qǐng)求后阻塞)

不安全分配方式(請(qǐng)求后繼續(xù)運(yùn)行)5.5設(shè)備分配★5.5.3獨(dú)占設(shè)備的分配程序1)分配設(shè)備

2)

分配控制器

3)分配通道

5.5.4SPOOLing技術(shù)★什么是SPOOLing問題一:系統(tǒng)中的獨(dú)占設(shè)備有限,往往不能滿足需要,成為系統(tǒng)中的瓶頸,使許多進(jìn)程因等待它們而阻塞。問題二:得到獨(dú)占設(shè)備的進(jìn)程在整個(gè)運(yùn)行期間占有該設(shè)備,但卻不經(jīng)常使用,導(dǎo)致設(shè)備的利用率低下。解決:通過虛擬獨(dú)占設(shè)備實(shí)現(xiàn)設(shè)備共享,提高設(shè)備的利用率和系統(tǒng)的效率。SPOOLING(simultaneousperipheraloperationson-line)假脫機(jī)技術(shù)是策略之一,即在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作。5.5.4SPOOLing技術(shù)★SPOOLing系統(tǒng)的組成內(nèi)存SPOOLING技術(shù)實(shí)現(xiàn)組成:(磁盤上)開辟“輸入井”和“輸出井”,用于收容輸入和輸出數(shù)據(jù);(內(nèi)存)輸入緩沖區(qū)和輸出緩沖區(qū),接收輸入設(shè)備來的數(shù)據(jù)并送往輸入井。暫存輸出井來的輸出數(shù)據(jù),送給輸出設(shè)備。輸入進(jìn)程和輸出進(jìn)程(輸入管理模塊、輸出管理模塊):將輸入數(shù)據(jù)從輸入設(shè)備暫存在輸入緩沖區(qū),再送到輸入井。輸出進(jìn)程同理。★輸入過程:當(dāng)系統(tǒng)收到作業(yè)輸入請(qǐng)求信號(hào)后,輸入進(jìn)程的讀過程負(fù)責(zé)將信息從輸入裝置中讀入輸入緩沖區(qū)。當(dāng)緩沖區(qū)滿時(shí),由寫過程將信息從緩沖區(qū)寫到輸入井中,讀過程和寫過程反復(fù)循環(huán),直到一個(gè)作業(yè)輸入完畢。5.5.4SPOOLing技術(shù)★輸出過程:

系統(tǒng)將輸出信息先放到輸出井,然后由輸出進(jìn)程中讀過程從輸出井讀數(shù)據(jù)到緩沖區(qū),寫過程將緩沖區(qū)的數(shù)據(jù)寫到輸出設(shè)備上。5.5.4SPOOLing技術(shù)★當(dāng)CPU需要輸入數(shù)據(jù)時(shí),直接從輸入井讀入內(nèi)存;★輸出設(shè)備空閑時(shí),再將輸出井中的數(shù)據(jù)經(jīng)過輸出緩沖區(qū)送到輸出設(shè)備上。5.5.4SPOOLing技術(shù)★共享打印機(jī)當(dāng)用戶進(jìn)程請(qǐng)求打印輸出時(shí),并不真正立即把打印機(jī)分配給該用戶進(jìn)程,而只為它做兩件事:

①由輸出進(jìn)程在輸出井中為之申請(qǐng)一個(gè)空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;

②輸出進(jìn)程為用戶進(jìn)程申請(qǐng)一張空白的用戶請(qǐng)求打印表,將用戶的打印要求填入其中,再將該表掛到請(qǐng)求打印隊(duì)列上。5.5.4SPOOLing技術(shù)★共享打印機(jī)

當(dāng)打印機(jī)空閑時(shí),輸出過程將從請(qǐng)求隊(duì)列隊(duì)首取出一張打印請(qǐng)求表,將要打印的數(shù)據(jù)從輸出井傳送到內(nèi)存輸出緩沖區(qū),再由直至打印隊(duì)列空。打印機(jī)進(jìn)行輸出打印。系統(tǒng)只是為每個(gè)提出打印請(qǐng)求的進(jìn)程在輸出井中分配一個(gè)存儲(chǔ)區(qū)(相當(dāng)于一個(gè)邏輯設(shè)備),使每個(gè)用戶進(jìn)程都覺得自己在獨(dú)占一臺(tái)打印機(jī),從而實(shí)現(xiàn)了對(duì)打印機(jī)的共享。5.5.4SPOOLing技術(shù)★

SPOOLing系統(tǒng)的特點(diǎn)提高了I/O的速度。

將獨(dú)占設(shè)備改造為共享設(shè)備。

實(shí)現(xiàn)了虛擬設(shè)備功能?!?6年考研31題】31.下列關(guān)于SPOOLing技術(shù)的敘述中,錯(cuò)誤的是(D)需要外存的支持需要多道程序設(shè)計(jì)技術(shù)的支持可以讓多個(gè)作業(yè)共享一臺(tái)獨(dú)立設(shè)備由用戶作業(yè)控制設(shè)備與輸入/輸出井之間的數(shù)據(jù)傳送5.4I/O軟件5.5設(shè)備分配

5.6磁盤存儲(chǔ)器的管理第五章設(shè)備管理★5.6.1磁盤性能簡(jiǎn)述

5.6磁盤存儲(chǔ)器的管理★數(shù)據(jù)的組織和格式:

5.6.1磁盤性能簡(jiǎn)述磁盤的結(jié)構(gòu)和布局

柱面扇區(qū)磁臂磁頭側(cè)視圖★數(shù)據(jù)的組織和格式:

5.6.1磁盤性能簡(jiǎn)述俯視圖★數(shù)據(jù)的組織和格式:

5.6.1磁盤性能簡(jiǎn)述磁盤的格式化

★磁盤的類型固定頭磁盤:每條磁道上都有一讀寫磁頭。移動(dòng)頭磁盤:每個(gè)盤面僅配有一個(gè)磁頭。

5.6.1磁盤性能簡(jiǎn)述★磁盤訪問時(shí)間

1)尋道時(shí)間Ts

這是指把磁臂(磁頭)移動(dòng)到指定磁道上所經(jīng)歷的時(shí)間。該時(shí)間是啟動(dòng)磁臂的時(shí)間s與磁頭移動(dòng)n條磁道所花費(fèi)的時(shí)間之和,即Ts=m×n+s其中,m是一常數(shù),與磁盤驅(qū)動(dòng)器的速度有關(guān),對(duì)一般磁盤,m=0.2;對(duì)高速磁盤,m≤0.1,磁臂的啟動(dòng)時(shí)間約為2ms。5.6.1磁盤性能簡(jiǎn)述★磁盤訪問時(shí)間2)旋轉(zhuǎn)延遲時(shí)間Tτ

這是指定扇區(qū)移動(dòng)到磁頭下面所經(jīng)歷的時(shí)間。對(duì)于硬盤,典型的旋轉(zhuǎn)速度大多為5400r/min,每轉(zhuǎn)需時(shí)11.1ms,平均旋轉(zhuǎn)延遲時(shí)間Tτ為5.55ms;

5.6.1磁盤性能簡(jiǎn)述★磁盤訪問時(shí)間

3)傳輸時(shí)間Tt

把數(shù)據(jù)從磁盤讀出或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時(shí)間。Tt的大小與每次所讀/寫的字節(jié)數(shù)b和旋轉(zhuǎn)速度有關(guān):

5.6.1磁盤性能簡(jiǎn)述

其中,r為磁盤每秒鐘的轉(zhuǎn)數(shù);N為一條磁道上的字節(jié)數(shù),當(dāng)一次讀/寫的字節(jié)數(shù)相當(dāng)于半條磁道上的字節(jié)數(shù)時(shí),Tt與Tτ相同?!锎疟P訪問時(shí)間

磁盤訪問時(shí)間=尋道時(shí)間+旋轉(zhuǎn)延遲時(shí)間+傳輸時(shí)間Tt5.6.1磁盤性能簡(jiǎn)述可將訪問時(shí)間Ta表示為:5.6.2磁盤調(diào)度磁盤是可被多個(gè)進(jìn)程共享的設(shè)備。當(dāng)有多個(gè)進(jìn)程都請(qǐng)求訪問磁盤時(shí),應(yīng)采用一種適當(dāng)?shù)恼{(diào)度算法,以使各進(jìn)程對(duì)磁盤的平均訪問時(shí)間最小。由于在訪問磁盤的時(shí)間中主要是尋道時(shí)間,因此,磁盤調(diào)度的目標(biāo)應(yīng)是使磁盤的平均尋道時(shí)間最少?!锵葋硐确?wù)FCFS(FirstComeFirstServed)按訪問請(qǐng)求到達(dá)的先后次序服務(wù)

5.6.2磁盤調(diào)度5.6.2磁盤調(diào)度假定磁盤共有40個(gè)柱面,當(dāng)前磁頭正在第11道服務(wù),等待服務(wù)的進(jìn)程有6個(gè),它們請(qǐng)求的磁道號(hào)分別是:1,36,16,34,9和12(以請(qǐng)求時(shí)間先后為序)?!痢痢痢痢痢? 5101520253035移動(dòng)為:111361634912總移動(dòng)磁道數(shù):10+35+20+18+25+3=111★先來先服務(wù)FCFS(FirstComeFirstServed)

★先來先服務(wù)FCFS(FirstComeFirstServed)按訪問請(qǐng)求到達(dá)的先后次序服務(wù)優(yōu)點(diǎn):簡(jiǎn)單,公平;缺點(diǎn):效率不高,相鄰兩次請(qǐng)求可能會(huì)造成最內(nèi)到最外的柱面尋道,使磁頭反復(fù)移動(dòng),增加了服務(wù)時(shí)間,對(duì)機(jī)械也不利

5.6.2磁盤調(diào)度★最短尋道時(shí)間優(yōu)先SSTF(ShortestSeekTimeFirst)

優(yōu)先選擇距當(dāng)前磁頭最近的訪問請(qǐng)求進(jìn)行服務(wù),主要考慮尋道優(yōu)先。5.6.2磁盤調(diào)度假定磁盤共有40個(gè)柱面,當(dāng)前磁頭正在第11道服務(wù),等待服務(wù)的進(jìn)程有6個(gè),它們請(qǐng)求的柱面分別是:1,36,16,34,9和12(以請(qǐng)求時(shí)間先后為序)。移動(dòng)為:111291613436總移動(dòng)磁道數(shù):1+3+7+15+33+2=61由此可知總的磁道移動(dòng)數(shù)為61,而FCFS為111★最短尋道時(shí)間優(yōu)先SSTF(ShortestSeekTimeFirst)

××××××0 51015202530355.6.2磁盤調(diào)度★最短尋道時(shí)間優(yōu)先SSTF(ShortestSeekTimeFirst)

優(yōu)先選擇距當(dāng)前磁頭最近的訪問請(qǐng)求進(jìn)行服務(wù),主要考慮尋道優(yōu)先。優(yōu)點(diǎn):改善了磁盤平均服務(wù)時(shí)間;缺點(diǎn):造成某些訪問請(qǐng)求長(zhǎng)期等待得不到服務(wù)5.6.2磁盤調(diào)度★掃描(SCAN)算法又稱電梯算法。具體做法:當(dāng)有訪問請(qǐng)求時(shí),磁頭按一個(gè)方向移動(dòng),在移動(dòng)過程中對(duì)遇到的訪問請(qǐng)求進(jìn)行服務(wù),然后判斷該方向上是否還有訪問請(qǐng)求,如果有則繼續(xù)掃描;否則改變移動(dòng)方向,如此反復(fù)

5.6.2磁盤調(diào)度★掃描(SCAN)算法

5.6.2磁盤調(diào)度假定磁盤共有40個(gè)柱面,當(dāng)前磁頭正在第11道自里向外服務(wù),等待服務(wù)的進(jìn)程有6個(gè),它們請(qǐng)求的柱面分別是:1,36,16,34,9和12(以請(qǐng)求時(shí)間先后為序)?!痢痢痢痢痢? 5101520253035移動(dòng)為:111216343691總移動(dòng)磁道數(shù):1+4+18+2+27+8=60★掃描(SCAN)算法優(yōu)點(diǎn):既考慮了距離,同時(shí)又考慮了方向缺點(diǎn):當(dāng)請(qǐng)求對(duì)磁道的分布是均勻時(shí),磁頭回頭,近磁頭端的請(qǐng)求很少(因?yàn)榇蓬^剛經(jīng)過),而遠(yuǎn)端請(qǐng)求較多,這些請(qǐng)求等待時(shí)間要長(zhǎng)一些。

5.6.2磁盤調(diào)度★循環(huán)掃描(CSCAN)算法也稱單向掃描算法??偸菑耐饷嬷骈_始向里掃描。移動(dòng)臂到達(dá)最后個(gè)一個(gè)請(qǐng)求磁道柱面后,立即帶動(dòng)讀寫磁頭快速返回。返回時(shí)不為任何的等待訪問者服務(wù)。返回后可再次進(jìn)行掃描。5.6.2磁盤調(diào)度★循環(huán)掃描(CSCAN)算法5.6.2磁盤調(diào)度假定磁盤共有40個(gè)柱面,當(dāng)前磁頭正在第11道自里向外服務(wù),等待服務(wù)的進(jìn)程有6個(gè),它們請(qǐng)求的柱面分別是:1,36,16,34,9和12(以請(qǐng)求時(shí)間先后為序)?!痢痢痢痢痢? 5101520253035移動(dòng)為:111216343619總移動(dòng)磁道數(shù):1+4+18+2+35+8=68調(diào)度算法的選擇實(shí)際系統(tǒng)相當(dāng)普遍采用最短尋道時(shí)間優(yōu)先算法,因?yàn)樗?jiǎn)單有效,性價(jià)比好。掃描算法更適于磁盤負(fù)擔(dān)重的系統(tǒng)。磁盤負(fù)擔(dān)很輕的系統(tǒng)也可以采用先來先服務(wù)算法一般要將磁盤調(diào)度算法作為操作系統(tǒng)的單獨(dú)模塊編寫,利于修改和更換。★

N-Step-SCAN和FSCAN調(diào)度算法1)N-Step-SCAN算法在SSTF、SCAN及CSCAN幾種調(diào)度算法中,都可能出現(xiàn)磁臂停留在某處不動(dòng)的情況,例如,有一個(gè)或幾個(gè)進(jìn)程對(duì)某一磁道有較高的訪問頻率,即這個(gè)(些)進(jìn)程反復(fù)請(qǐng)求對(duì)某一磁道的I/O操作,從而壟斷了整個(gè)磁盤設(shè)備。我們把這一現(xiàn)象稱為“磁臂粘著”(Armstickiness)。在高密度磁盤上容易出現(xiàn)此情況。N步SCAN算法是將磁盤請(qǐng)求隊(duì)列分成若干個(gè)長(zhǎng)度為N的子隊(duì)列,磁盤(外圈)調(diào)度將按FCFS算法依次處理這些子隊(duì)列。而每處理一個(gè)隊(duì)列時(shí)(內(nèi)圈)又是按SCAN(電梯)算法,對(duì)一個(gè)隊(duì)列處理完后,再處理其他隊(duì)列。當(dāng)正在處理某子隊(duì)列時(shí),如果又出現(xiàn)新的磁盤I/O請(qǐng)求,便將新請(qǐng)求進(jìn)程放入其他隊(duì)列,這樣就可避免出現(xiàn)粘著現(xiàn)象。當(dāng)N值取得很大時(shí),會(huì)使N步掃描法的性能接近于SCAN算法的性能;當(dāng)N=1時(shí),N步SCAN算法便蛻化為FCFS算法。

5.6.2磁盤調(diào)度★

N-Step-SCAN和FSCAN調(diào)度算法2)FSCAN算法

FSCAN算法實(shí)質(zhì)上是N步SCAN算法的簡(jiǎn)化,即FSCAN只將磁盤請(qǐng)求隊(duì)列分成兩個(gè)子隊(duì)列。一個(gè)是由當(dāng)前所有請(qǐng)求磁盤I/O的進(jìn)程形成的隊(duì)列,由磁盤調(diào)度按SCAN算法進(jìn)行處理。在掃描期間,將新出現(xiàn)的所有請(qǐng)求磁盤I/O的進(jìn)程,放入另一個(gè)等待處理的請(qǐng)求隊(duì)列。這樣,所有的新請(qǐng)求都將被推遲到下一次掃描時(shí)處理。

5.6.2磁盤調(diào)度★

磁盤高速緩存的形式是指利用內(nèi)存中的存儲(chǔ)空間,來暫存從磁盤中讀出的一系列盤塊中的信息。這里的高速緩存是一組在邏輯上屬于磁盤,而物理上是駐留在內(nèi)存中的盤塊。高速緩存在內(nèi)存中可分成兩種形式。第1種是在內(nèi)存中開辟一個(gè)單獨(dú)的存儲(chǔ)空間來作為磁盤高速緩存,其大小是固定的,不會(huì)受應(yīng)用程序多少的影響;第2種是把所有未利用的內(nèi)存空間變?yōu)橐粋€(gè)緩沖池,供請(qǐng)求分頁系統(tǒng)和磁盤I/O時(shí)(作為磁盤高速緩存)共享。此時(shí)高速緩存的大小,顯然不再是固定的。當(dāng)磁盤I/O的頻繁程度較高時(shí),該緩沖池可能包含更多的內(nèi)存空間;而在應(yīng)用程序運(yùn)行得較多時(shí),該緩沖池可能只剩下較少的內(nèi)存空間。

5.6.3磁盤高速緩存★數(shù)據(jù)交付方式

系統(tǒng)可以采取兩種方式,將數(shù)據(jù)交付給請(qǐng)求進(jìn)程:

(1)數(shù)據(jù)交付。這是直接將高速緩存中的數(shù)據(jù),傳送到請(qǐng)求者進(jìn)程的內(nèi)存工作區(qū)中。

(2)指針交付。只將指向高速緩存中某區(qū)域的指針,交付給請(qǐng)求者進(jìn)程。

后一種方式由于所傳送的數(shù)據(jù)量少,因而節(jié)省了數(shù)據(jù)從磁盤高速緩存存儲(chǔ)空間到進(jìn)程的內(nèi)存工作區(qū)的時(shí)間

5.6.3磁盤高速緩存★置換算法

由于請(qǐng)求調(diào)頁中的虛擬存儲(chǔ)器與高速緩存(磁盤I/O中)的工作情況不同,因而使得在置換算法中所應(yīng)考慮的問題也有所差異。因此,現(xiàn)在不少系統(tǒng)在設(shè)計(jì)其高速緩存的置換算法時(shí),除了考慮到最近最久未使用(放磁盤中)這一原則外,還考慮了以下幾點(diǎn):

(1)訪問頻率。經(jīng)常被訪問的在內(nèi)存

(2)可預(yù)見性。常用的在內(nèi)存

(3)數(shù)據(jù)的一致性。重要數(shù)據(jù)及時(shí)回寫

5.6.3磁盤高速緩存★周期性地寫回磁盤在UNIX系統(tǒng)中專門增設(shè)了一個(gè)修改(update)程序,使之在后臺(tái)運(yùn)行,該程序周期性地調(diào)用一個(gè)系統(tǒng)調(diào)用SYNC。該調(diào)用的主要功能是強(qiáng)制性地將所有在高速緩存中已修改的盤塊數(shù)據(jù)寫回磁盤。一般是把兩次調(diào)用SYNC的時(shí)間間隔定為30s。這樣,因系統(tǒng)故障所造成的工作損失不會(huì)超過30s的勞動(dòng)量。

而在MS-DOS中所采用的方法是:只要高速緩存中的某盤塊數(shù)據(jù)被修改,便立即將它寫回磁盤,并將這種高速緩存稱為“寫穿透、高速緩存”(write-throughcache)。MS-DOS所采用的寫回方式,幾乎不會(huì)造成數(shù)據(jù)的丟失,但須頻繁地啟動(dòng)磁盤。

5.6.3磁盤高速緩存★提前讀(Read-Ahead)

★延遲寫

★優(yōu)化物理塊的分布

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論