操作系統(tǒng)設(shè)備_第1頁
操作系統(tǒng)設(shè)備_第2頁
操作系統(tǒng)設(shè)備_第3頁
操作系統(tǒng)設(shè)備_第4頁
操作系統(tǒng)設(shè)備_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五章I/O設(shè)備管理§5.1I/O設(shè)備§5.2I/O控制方式§5.3設(shè)備分配§5.4緩沖管理§5.5I/O處理過程§5.6磁盤存放管理器第1頁§5.1I/O設(shè)備OS設(shè)備管理中設(shè)備指外部設(shè)備,包含輸入設(shè)備與輸出設(shè)備,即除主機(CPU+內(nèi)存)之外全部設(shè)備。I/O性能經(jīng)常成為整個系統(tǒng)性能瓶頸,CPU性能并不等于系統(tǒng)性能,CPU性能越高,與I/O差距越大。OS龐大復雜原因之一就是外設(shè)資源多而雜,種類繁多,結(jié)構(gòu)各異,速度差異很大。第2頁§5.1I/O設(shè)備外存設(shè)備:軟硬盤、光盤輸入:鍵盤、鼠標、話筒計算機人機通信、掃描儀外部設(shè)備設(shè)備數(shù)碼相機、數(shù)字攝像機輸出:顯示器、打印機、喇叭輸入輸出設(shè)備繪圖儀計算機與計算機間通信設(shè)備:機機通信Modem、路由器、網(wǎng)卡設(shè)備計算機與非計算機間通信設(shè)備:數(shù)據(jù)采集設(shè)備,自動控制設(shè)備第3頁一、計算機設(shè)備分類§5.1I/O設(shè)備基于設(shè)備工作特征:

外部存放設(shè)備(長久保留信息,可隨時訪問,如磁盤、磁帶)

輸入/輸出設(shè)備(字符設(shè)備,以單個字符為單位存放、傳輸信息,如顯示器、鍵盤、打印機等)第4頁§5.1I/O設(shè)備基于設(shè)備隸屬關(guān)系:

—系統(tǒng)設(shè)備(普通是標準設(shè)備)(OS生成時就配置在系統(tǒng)中標準設(shè)備,如:鍵盤、鼠標、顯示器、終端等)

—用戶設(shè)備(普通為非標準設(shè)備)(設(shè)備處理程序由用戶提供,需另外安裝,如:掃描儀、A-D/D-A轉(zhuǎn)換設(shè)備等)第5頁§5.1I/O設(shè)備基于設(shè)備分配特征:

—獨占設(shè)備(使用含有排它性,低速I/O設(shè)備)

—共享設(shè)備(可由多個用戶程序交替使用,如硬盤)

—虛擬設(shè)備

(模擬獨占設(shè)備為共享設(shè)備,即將慢速獨占設(shè)備經(jīng)軟件技術(shù)改造成為多個進程能夠共享設(shè)備,經(jīng)典如SPOOLing技術(shù))第6頁§5.1I/O設(shè)備基于信息組織和處理方式:

—字符設(shè)備(信息以字符為單位來組織和分配;系統(tǒng)中大部分均屬這類,如打印機、鍵盤、顯示器等;特點是速度慢,也稱慢速設(shè)備)

—塊設(shè)備(信息以塊為單位來組織和分配;如磁盤、磁帶等;特點是速度快,也稱快速設(shè)備)第7頁二、設(shè)備管理目標與功效§5.1I/O設(shè)備1.設(shè)備管理目標:提升系統(tǒng)資源利用率多道程序環(huán)境下,資源數(shù)總是少于進程數(shù)。需合理分配設(shè)備資源,并使外設(shè)與外設(shè)、外設(shè)與CPU并行工作,使設(shè)備盡可能處于忙碌狀態(tài)。方便用戶使用對于各種各樣外設(shè),為用戶提供便利、統(tǒng)一使用界面。

OS把各種外設(shè)物理特征隱藏起來,把各種外設(shè)詳細操作方式隱藏起來,由OS面對;而讓用戶面正確是使用方便設(shè)備,這么就可使用戶擺脫繁瑣編程負擔。第8頁§5.1I/O設(shè)備2.設(shè)備管理功效:提供用戶接口:提供一組I/O命令,即用戶使用外設(shè)接口,用戶在程序中經(jīng)過這些命令使用外設(shè)。進行設(shè)備分配與回收:OS中I/O管理程序負責接收用戶使用外設(shè)請求、分配設(shè)備、回收設(shè)備。

實現(xiàn)真正I/O操作:OS依據(jù)用戶請求,經(jīng)過詳細設(shè)備驅(qū)動程序,開啟外設(shè),進行實際I/O操作;操作完成就通知用戶進程,由設(shè)備中止服務(wù)程序完成善后工作。其它功效:管理緩沖區(qū),CPU與I/O設(shè)備經(jīng)過緩沖區(qū)傳送數(shù)據(jù),以處理高速CPU與慢速外設(shè)之間矛盾。OS有專門軟件管理緩沖區(qū)分配與回收。第9頁§5.2I/O控制方式一、設(shè)備控制器

每種I/O設(shè)備都要經(jīng)過設(shè)備控制器與CPU相連。設(shè)備控制器是CPU與I/O設(shè)備間接口,處于CPU與外設(shè)之間。系統(tǒng)總線CPU內(nèi)存磁盤控制器打印機控制器HD打印機…微機I/O設(shè)備經(jīng)過總線與CPU連接第10頁設(shè)備控制器基本功效

接收和識別命令2)數(shù)據(jù)交換3)標識和匯報設(shè)備狀態(tài)4)地址識別5)數(shù)據(jù)緩沖6)差錯控制第11頁§5.2I/O控制方式設(shè)備控制器組成第12頁§5.2I/O控制方式設(shè)備控制器經(jīng)過自己內(nèi)部存放器與CPU通信數(shù)據(jù)存放器存放傳輸來數(shù)據(jù)狀態(tài)存放器存放外設(shè)狀態(tài),供CPU測試控制存放器存放CPU發(fā)出操作命令與參數(shù)OS把命令以及參數(shù)寫入控制存放器,外設(shè)據(jù)此實現(xiàn)I/O設(shè)備控制器接收CPUI/O命令后,就獨立于CPU控制外設(shè)去完成命令指定任務(wù),這時外設(shè)與CPU并行,即在外設(shè)I/O同時,CPU在運行其它進程。第13頁§5.2I/O控制方式外設(shè)完成所要求I/O任務(wù)后,要通知CPU。I/O控制方式有四種:早期采取“被動式”,控制器設(shè)置一個完成標志,等候CPU來查詢,即程序直接控制方式?,F(xiàn)在采取“主動式”,即經(jīng)過中止方式主動通知CPU,讓CPU來進行處理,即中止控制方式。

直接存放器存取方式(DMA)和通道控制方式也是基于中止主動型數(shù)據(jù)傳輸控制方式。第14頁§5.2I/O控制方式二、程序直接控制方式向控制器發(fā)讀命令讀控制器狀態(tài)檢驗狀態(tài)從控制器中讀入字向存放器中寫字傳送完成?犯錯未就緒未完成完成下條指令CPU→I/OI/O→CPUI/O→CPUCPU→內(nèi)存就緒以讀為例,說明程序直接控制I/O方式第15頁§5.2I/O控制方式評價:在程序I/O方式中,因為CPU高速與I/O設(shè)備低速,使得CPU絕大部分時間,都處于等候外設(shè)完成數(shù)據(jù)I/O循環(huán)測試之中,造成CPU極大浪費。另外,CPU與I/O設(shè)備只能串行工作,整個計算機系統(tǒng)效率低下。第16頁§5.2I/O控制方式三、中止方式以讀為例,說明中止控制I/O方式向控制器發(fā)讀命令讀控制器狀態(tài)檢驗狀態(tài)從控制器中讀入字向內(nèi)存中寫字傳送完成?犯錯未完成完成下條指令CPU→I/OI/O→CPUI/O→CPUCPU→內(nèi)存就緒CPU做其它事中止完成信號第17頁§5.2I/O控制方式中止方式說明:1.某一進程處于執(zhí)行狀態(tài),經(jīng)過CPU向外設(shè)控制器發(fā)出I/O指令;該進程隨即阻塞,等候I/O完成;

OS馬上將CPU調(diào)度給其它進程使用;而外設(shè)控制器得到指令后,就獨立于CPU進行指令要求操作;如此,CPU與I/O并行工作。2.當外設(shè)I/O操作完成,設(shè)備控制器馬上向CPU發(fā)中止完成信號;

CPU接到信號響應(yīng)該中止,馬上轉(zhuǎn)中止處理程序;由中止處理程序把數(shù)據(jù)從設(shè)備控制器傳送到內(nèi)存。3.被阻塞進程在I/O完成后,狀態(tài)即轉(zhuǎn)變?yōu)榫途w,等候OS調(diào)度,以執(zhí)行余下程序。第18頁§5.2I/O控制方式四、直接存放器存取方式以上介紹程序控制方式和中止方式,主機與外設(shè)進行數(shù)據(jù)傳送都是以CPU為中心組織。CPUI/O設(shè)備內(nèi)存DMA(DirectMemoryAccess)DMA方式在外設(shè)與內(nèi)存之間開辟了直接交換數(shù)據(jù)通路,使用于磁盤等高速I/O設(shè)備。在DMA控制器控制下,內(nèi)存和外設(shè)直接進行成批數(shù)據(jù)快速傳送,不需要CPU加入。形成了以內(nèi)存為中心組織數(shù)據(jù)傳送。內(nèi)存CPUI/O設(shè)備第19頁§5.2I/O控制方式DMA傳輸數(shù)據(jù)步驟:1.一進程請求設(shè)備I/O,CPU做以下事:內(nèi)存起始地址→DMA控制器地址存放器傳輸字節(jié)數(shù)→DMA控制器字節(jié)計數(shù)器開啟DMA控制器2.該進程阻塞,等候I/O完成3.DMA與內(nèi)存進行數(shù)據(jù)傳輸,成批數(shù)據(jù)傳送由字節(jié)計數(shù)器計算控制4.傳輸完,向CPU發(fā)中止完成信號5.CPU接收DMA中止請求,轉(zhuǎn)中止處理程序6.數(shù)據(jù)傳送完成,喚醒被阻塞進程第20頁§5.2I/O控制方式第21頁§5.2I/O控制方式五、通道方式通道介紹:獨立于CPU、專門用作管理I/O處理機,控制設(shè)備與內(nèi)存直接進行數(shù)據(jù)交換通道有自己指令系統(tǒng),數(shù)量不多,僅包括讀、寫、查詢、控制等功效;用以編寫通道程序采取通道系統(tǒng)中,主機與通道相連,通道與設(shè)備控制器相連,設(shè)備控制器與設(shè)備相連第22頁§5.2I/O控制方式CPU通道設(shè)備控制器設(shè)備控制器設(shè)備設(shè)備設(shè)備設(shè)備…第23頁§5.2I/O控制方式通道方式工作步驟:一進程提出I/O請求,CPU把數(shù)據(jù)傳輸任務(wù)交給通道(指明操作方向、設(shè)備號、通道號)該進程阻塞,CPU隨即被調(diào)度給其它進程通道按CPU發(fā)來開啟命令,調(diào)用通道程序執(zhí)行(這時通道與CPU并行工作),外設(shè)在通道程序要求下,與內(nèi)存交換數(shù)據(jù)數(shù)據(jù)傳輸完成,通道向CPU發(fā)中止請求CPU響應(yīng)中止,轉(zhuǎn)中止處理程序,對I/O作善后處理,喚醒被阻塞進程成就緒態(tài)。第24頁§5.3設(shè)備分配在OS統(tǒng)一管理下,用戶進程使用設(shè)備,須先提出I/O請求,由OS設(shè)備管理程序進行分配。設(shè)備分配與以下原因相關(guān):設(shè)備屬性系統(tǒng)采取分配算法與設(shè)備無關(guān)性標準設(shè)備分配安全性第25頁§5.3設(shè)備分配一、設(shè)備屬性1.獨占設(shè)備:使用上含有排它性設(shè)備,如打印機。分配策略:系統(tǒng)一旦將該類設(shè)備分配給指定進程,就由它獨占使用,直到用畢釋放。2.共享設(shè)備:如磁盤,這類設(shè)備可由多個進程同時使用,在時間上則是交叉對設(shè)備進行存取訪問。系統(tǒng)對共享設(shè)備不進行分配,而是對這一類I/O請求進行調(diào)度。第26頁§5.3設(shè)備分配3.虛擬設(shè)備:在大容量磁盤支持下,用軟件技術(shù)對獨占設(shè)備進行改造,使得用戶在使用獨占設(shè)備時,感覺上認為不用同其它進程競爭,便可方便地取得獨占設(shè)備。

Spooling技術(shù)就是一個經(jīng)典實現(xiàn)虛擬設(shè)備系統(tǒng)。第27頁§5.3設(shè)備分配二、Spooling技術(shù)什么是Spooling:引入了多道程序技術(shù)后,利用其中一道程序,來模擬脫機輸入時外圍控制機功效,把低速I/O設(shè)備上數(shù)據(jù)傳送到高速磁盤上;再用另一道程序來模擬脫機輸出時外圍控制機功效,把數(shù)據(jù)從磁盤傳送到低速輸出設(shè)備上。在主機直接控制下,實現(xiàn)脫機輸入、輸出功效,這種在聯(lián)機情況下實現(xiàn)同時外圍操作稱為SPOOLing,或稱為假脫機操作。

第28頁§5.3設(shè)備分配輸入井輸出井輸出設(shè)備SPOOLing系統(tǒng)工作示意磁盤輸入設(shè)備輸入進程輸出緩沖區(qū)輸出進程輸入緩沖區(qū)內(nèi)存第29頁§5.3設(shè)備分配SPOOLing系統(tǒng)由3部分組成:輸入井與輸出井

硬盤上2大存放空間

—輸入井:用于收容I/O設(shè)備輸入數(shù)據(jù)

—輸出井:用于收容用戶程序輸出數(shù)據(jù)輸入緩沖區(qū)與輸出緩沖區(qū)

內(nèi)存中開辟2個緩沖區(qū)

—輸入緩沖區(qū):用于暫存由輸入設(shè)備送來數(shù)據(jù),以后再傳送輸入井

—輸出緩沖區(qū):用于暫存由輸出井送來數(shù)據(jù),以后再傳送輸出設(shè)備第30頁§5.3設(shè)備分配輸入程序與輸出程序

—輸入進程將用戶要求輸入數(shù)據(jù),從輸入設(shè)備

輸入緩沖區(qū)

輸入井,當CPU需要輸入數(shù)據(jù)時,直接從輸入井讀入內(nèi)存。

—輸出進程將用戶要求輸出數(shù)據(jù),從內(nèi)存

輸出井

輸出緩沖區(qū)(當輸出設(shè)備空閑時)

輸出設(shè)備。第31頁§5.3設(shè)備分配系統(tǒng)對用戶請求處理當用戶請求打印輸出時,SPOOLing系統(tǒng)中輸出進程做以下2件事:A)

在輸出井申請一空閑盤塊區(qū)

將要打印數(shù)據(jù)送入其中B)

為用戶申請空白用戶請求打印表

將用戶打印請求填入表中

把該表掛到請求打印隊列上。如還有其它進程提出打印請求,系統(tǒng)一概接收請求,一樣做上述2件事。以共享打印機為例說明SPOOLing系統(tǒng)工作過程第32頁§5.3設(shè)備分配系統(tǒng)對詳細輸出處理

如打印機空閑,輸出進程做以下操作:

從請求打印隊列隊首取出請求打印表

將打印數(shù)據(jù)從輸出井送內(nèi)存輸出緩沖區(qū)

打印機執(zhí)行打印操作

打印完即檢驗打印隊列是否還有請求表

若有,取出現(xiàn)時隊首請求表,繼續(xù)上述操作若無,即打印隊列空,輸出進程阻塞自己

等再有打印請求才被喚醒第33頁§5.3設(shè)備分配SPOOLing系統(tǒng)特點:將獨占設(shè)備改造為共享設(shè)備,實現(xiàn)了虛擬設(shè)備功效。OS以大容量共享設(shè)備—磁盤、多道程序技術(shù)為依靠,用軟件技術(shù)來改造獨享設(shè)備,使用戶在感覺上認為他們使用是共享設(shè)備。宏觀上看,多個進程能同時使用一臺獨占設(shè)備,從每一個進程看,都認為自己獨占了一個設(shè)備(邏輯設(shè)備)。提升了I/O速度。從請求打印進程角度看,其輸出數(shù)據(jù)實質(zhì)上是送到輸出井,極其快速。

第34頁§5.3設(shè)備分配三、設(shè)備分配方法設(shè)備分配2種方式:靜態(tài)分配方式在用戶進程創(chuàng)建時,OS便一次性地把進程運行所要求全部設(shè)備都分配給它,并由該進程占有,直到進程撤消。不會死鎖,但設(shè)備利用率極其低下。動態(tài)分配方式在進程執(zhí)行過程中,隨時依據(jù)需要,向系統(tǒng)提出設(shè)備請求,由系統(tǒng)依據(jù)一定算法給進程分配設(shè)備,用戶進程用完設(shè)備,即予釋放。有利于提升設(shè)備利用率,但分配不妥即有死鎖可能。第35頁§5.3設(shè)備分配動態(tài)分配算法:先來先服務(wù)對于多個請求某類設(shè)備用戶進程,系統(tǒng)按其發(fā)出請求先后次序,使它們在設(shè)備請求隊列里排隊,并把設(shè)備分配給隊列前列者。優(yōu)先級高者優(yōu)先進入設(shè)備請求隊列進程,按優(yōu)先級排隊,優(yōu)先級相同,則按抵達先后排,系統(tǒng)總是把設(shè)備分配給隊列首進程使用。第36頁§5.3設(shè)備分配四、設(shè)備無關(guān)性(設(shè)備獨立性)基本含義:

應(yīng)用程序獨立于詳細使用物理設(shè)備。用戶程序中要用到外設(shè)時,不須指定詳細哪一臺設(shè)備,而用邏輯設(shè)備名來代替,這么用戶程序就與實際使用物理設(shè)備無關(guān);執(zhí)行程序時,由系統(tǒng)進行邏輯設(shè)備到詳細物理設(shè)備轉(zhuǎn)換。第37頁§5.3設(shè)備分配與設(shè)備無關(guān)性帶來好處:假如在程序中指定詳細物理設(shè)備,則當該設(shè)備已經(jīng)分配,或正在維修,而此時盡管有同類設(shè)備空閑,可供分配,則該進程也只能阻塞等候。易于實現(xiàn)I/O重定向。在編程時不詳細指定詳細物理設(shè)備,當系統(tǒng)中設(shè)備變更,用戶程序就不用修改。第38頁§5.3設(shè)備分配五、設(shè)備管理采取數(shù)據(jù)結(jié)構(gòu)系統(tǒng)設(shè)備表SDT(SystemDeviceTable)整個系統(tǒng)一張,統(tǒng)計了系統(tǒng)中全部外設(shè),每類設(shè)備占一個表項。設(shè)備控制表DCT(DeviceControlTable)系統(tǒng)中每臺設(shè)備一個,其中隨時統(tǒng)計了該設(shè)備基本信息(設(shè)備狀態(tài)、等候使用該設(shè)備阻塞進程等)??刂破骺刂票鞢OCT通道控制表CHCT第39頁§5.3設(shè)備分配I/O過程中,OS從SDT內(nèi)查得某設(shè)備表目,然后再轉(zhuǎn)到DCT取得詳細設(shè)備信息。SDT第40頁§5.4緩沖管理

OS采取緩沖是為了實現(xiàn)數(shù)據(jù)I/O操作,緩解CPU與外部設(shè)備之間速度不匹配矛盾,提升資源利用率。凡是數(shù)據(jù)抵達和離去速度不匹配地方均可采取緩沖技術(shù),幾乎全部外設(shè)在與CPU交換數(shù)據(jù)時,都使用了緩沖區(qū)。第41頁§5.4緩沖管理實現(xiàn)緩沖2種方法:

—硬緩沖:在設(shè)備中設(shè)置緩沖區(qū),安置硬件存放器,如設(shè)備控制器中數(shù)據(jù)存放器

—軟緩沖:在內(nèi)存中開辟一個空間,作為專用I/O緩沖區(qū),存放I/O數(shù)據(jù)

主要采取軟緩沖第42頁§5.4緩沖管理緩沖四種類型單緩沖為I/O設(shè)備設(shè)置單個緩沖區(qū)產(chǎn)生數(shù)據(jù)進程與接收數(shù)據(jù)進程不直接傳遞,而是經(jīng)過單個緩沖。緩沖區(qū)發(fā)送數(shù)據(jù)接收數(shù)據(jù)缺點:發(fā)送者與接收者不能并行工作。發(fā)送者與接收者速度不匹配,造成大量等候時間。第43頁§5.4緩沖管理雙緩沖為I/O設(shè)備設(shè)置兩個緩沖區(qū)發(fā)送者和接收者可交替使用2個緩沖區(qū),這么,發(fā)送和接收可并行工作。當二者速度相差很大時,還是有等候現(xiàn)象出現(xiàn)。緩沖區(qū)1發(fā)送數(shù)據(jù)接收數(shù)據(jù)緩沖區(qū)2第44頁§5.4緩沖管理多緩沖為相同類型I/O設(shè)備設(shè)置兩個公共緩沖隊列,一個用于輸入,另一個用于輸出。當輸入設(shè)備進行輸入時,就取輸入緩沖隊列指針所指向緩沖使用,設(shè)備用完后償還緩沖。指針則前行指向下一個,整個緩沖隊列循環(huán)使用。當輸出設(shè)備進行輸出時,就取輸出緩沖隊列指針所指向緩沖使用,用完后償還緩沖。緩沖區(qū)輸入緩沖指針緩沖區(qū)緩沖區(qū)緩沖區(qū)緩沖區(qū)輸出緩沖指針緩沖區(qū)緩沖區(qū)緩沖區(qū)……第45頁§5.4緩沖管理緩沖池整個緩沖區(qū)由n個單位緩沖組成,每個緩沖既可用于輸入,也可用于輸出;全部單位緩沖可供多個進程共享。有4個基本工作方式:收容輸入、提取輸入、收容輸出、提取輸出有4種工作緩沖:hin、sin、hout、soutCPU輸入設(shè)備輸出設(shè)備緩沖池收容輸入提取輸出提取輸入收容輸出hinsinsouthout……第46頁§5.5I/O處理過程依據(jù)OS提供命令形式,由用戶程序發(fā)出I/O請求;I/O管理程序(與設(shè)備無關(guān)系統(tǒng)軟件)接收請求;實現(xiàn)抽象接口到物理接口轉(zhuǎn)化,獨立于詳細設(shè)備;設(shè)備驅(qū)動程序詳細完成要求I/O操作;設(shè)備中止處理程序處理該請求。第47頁§5.5I/O處理過程I/O軟件按分層思想組成。較低層軟件要使較高層軟件獨立于硬件特征;較高層軟件則要向用戶提供一個簡單、功效更強接口,讓用戶能方便使用外設(shè)。第48頁§5.5I/O處理過程用戶進程I/O管理程序設(shè)備驅(qū)動程序…READ(input,buffer,n)…buffer(緩沖區(qū))—阻塞調(diào)用進程—驗證I/O請求—調(diào)用驅(qū)動程序—校驗設(shè)備狀態(tài)—激活調(diào)用進程I/O請求—初始化并開啟I/O—設(shè)備控制器完成I/O—全部完成返回I/O管理程序—驅(qū)動程序阻塞中止處理程序外設(shè)主機中止完成信號調(diào)用中止程序—喚醒驅(qū)動程序—保護中止現(xiàn)場—設(shè)備中止處理程序—恢復現(xiàn)場—未全完成再次調(diào)用驅(qū)動程序第49頁§5.5I/O處理過程一、I/O請求提出I/O請求來自于用戶進程。假設(shè)程序中命令形式為:

READ(input,buffer,n)即從輸入設(shè)備input讀入n個數(shù)據(jù)到buffer所指緩沖區(qū)OS即依據(jù)命令調(diào)用I/O管理程序,并將命令中參數(shù)傳遞給I/O管理程序第50頁§5.5I/O處理過程二、OS對I/O請求管理I/O管理程序負責管理用戶I/O請求。I/O管理程序有3方面功效:

—接收用戶I/O請求

—把I/O請求交設(shè)備驅(qū)動程序?qū)嶋H完成

—I/O完成后善后處理第51頁§5.5I/O處理過程詳細步驟:接收用戶進程I/O請求用戶請求進程阻塞,進入相關(guān)阻塞隊列,等候I/O完成如設(shè)備空閑,就分配給該進程使用調(diào)用對應(yīng)設(shè)備驅(qū)動程序,控制轉(zhuǎn)移到驅(qū)動程序,由驅(qū)動程序完成詳細I/O操作I/O操作完成,控制返回I/O管理程序把等候I/O完成進程狀態(tài)由阻塞改為就緒,參加CPU競爭

第52頁§5.5I/O處理過程三、I/O詳細實現(xiàn)設(shè)備驅(qū)動程序是直接驅(qū)動I/O設(shè)備進行輸入輸出操作軟件,它屬于與設(shè)備控制器直接聯(lián)絡(luò)I/O軟件部分。驅(qū)動程序+設(shè)備中止處理程序當I/O管理程序調(diào)用設(shè)備驅(qū)動程序后,控制就轉(zhuǎn)移到驅(qū)動程序,其操作以下:讀設(shè)備狀態(tài),如空閑,就向設(shè)備發(fā)出I/O硬指令,開啟一個I/O操作

[多道程序環(huán)境里,驅(qū)動程序一旦開啟I/O操作,就讓出CPU控制權(quán),這么外設(shè)進行I/O同時,CPU就脫身做其它事情,此即I/O與CPU并行操作]設(shè)備完成一次I/O操作,發(fā)中止完成信號給CPU,CPU即調(diào)用該設(shè)備中止處理程序

第53頁§5.5I/O處理過程

中止處理程序被調(diào)用,即做以下事情:保護中止現(xiàn)場按I/O請求傳輸數(shù)據(jù)(如是輸入操作,就把外設(shè)剛輸入數(shù)據(jù)送入指定緩沖區(qū))判斷I/O是否完成:

—如未完成,則再次調(diào)用驅(qū)動程序,開啟外設(shè),又一次輸入/輸出

—如已完成,則從驅(qū)動程序轉(zhuǎn)I/O管理程序,進行I/O善后工作恢復現(xiàn)場第54頁§5.5I/O處理過程例:讀硬盤文件用戶程序發(fā)命令,讀一硬盤文件I/O管理程序接收請求調(diào)用設(shè)備驅(qū)動程序,向I/O硬件發(fā)請求用戶進程阻塞,等候讀操作完成磁盤操作完成,硬件發(fā)中止完成信號轉(zhuǎn)入中止處理程序中止處理程序查中止原因查得磁盤讀操作完成,喚醒用戶進程取回讀得信息用戶進程得到所需文件后,繼續(xù)運行第55頁磁盤結(jié)構(gòu)磁盤由兩部分組成:盤片,存放信息載體;驅(qū)動器,包含磁頭、讀/寫電路、機械部分磁盤特點:存放容量大,存取速度快,能隨機存取一個磁盤由一個或多個盤片組成,每個盤片有2個盤面;每個盤面一個讀/寫磁頭,進行內(nèi)外運動;§5.6磁盤存放器管理第56頁柱面扇區(qū)磁臂磁頭第57頁磁盤地址由柱面號、磁頭號、扇區(qū)號組合而成。柱面:每個盤面有許多同心圓組成磁道,從0開始由外向里次序編號,不一樣盤面上相同編號磁道形成一個柱面。磁頭:每個盤面所對應(yīng)讀/寫磁頭由上到下次序編號,從0始。扇區(qū):每條磁道分成若干個扇區(qū),每個扇區(qū)存放信息存放量相等。每個扇區(qū)大小相當于一個盤塊。盤塊是磁盤與內(nèi)存進行信息交換基本單位。柱面扇區(qū)第58頁柱面扇區(qū)磁盤工作概況:為完成一個磁盤I/O任務(wù),依據(jù)給定地址先把移動臂(磁頭)移動到某柱面(磁道);等候指定扇區(qū)旋轉(zhuǎn)到磁頭位置下;讓指定磁頭進行讀/寫。如此,一次磁盤I/O需花費:尋道時間:磁頭移動到磁道;等候時間:扇區(qū)轉(zhuǎn)到磁頭;傳輸時間:磁頭讀/寫。為提升磁盤效率,關(guān)鍵在于移動臂調(diào)度,即移臂調(diào)度,也叫磁盤調(diào)度。移動臂第59頁§5.6磁盤存放器管理磁盤調(diào)度:依據(jù)用戶磁盤I/O指令指定磁道位置,來決定請求執(zhí)行次序調(diào)度。目標:盡可能降低尋道時間,即降低移動臂移動距離。磁盤調(diào)度策略:先來先服務(wù)(FCFS)策略最短尋道時間優(yōu)先(SSTF)策略掃描(SCAN)策略(電梯策略)循環(huán)掃描(CSCAN)策略(單向掃描策略)第60頁§5.6磁盤存放器管理

例:請求次序:98,183,37,122,14,124,65,67最短尋道時間優(yōu)先策略:把距離磁頭當前位置最近I/O請求作為下一次調(diào)度對象。掃描策略:按移動臂移動方向選擇距離磁頭當前位置最近I/O請求作為下一次調(diào)度對象。假如該方向上已經(jīng)沒有I/O請求,則改變方向再做選擇。循環(huán)掃描策略:磁頭從外往里移動,碰到有I/O請求就進行處理,直到抵達最終一個請求磁道,然后移動臂馬上帶動磁頭不做任何服務(wù)地快速回到欲訪問最外磁道,又開始下一次掃描。

0143753656798122124183初始位置第61頁§5.6磁盤存放器管理先來先服務(wù)策略以I/O請求抵達先后作為磁盤調(diào)度次序例:假定讀/寫磁頭開始位于53號磁道,開始調(diào)度時有若干進程提出以下磁道I/O請求:

98,183,37,122,14,124,65,67458514685108110592經(jīng)計算共滑動了640個磁道;移動臂里外往返振動,效率低下。第62頁§5.

溫馨提示

  • 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

提交評論