操作系統(tǒng)設(shè)備管理培訓(xùn)教材_第1頁
操作系統(tǒng)設(shè)備管理培訓(xùn)教材_第2頁
操作系統(tǒng)設(shè)備管理培訓(xùn)教材_第3頁
操作系統(tǒng)設(shè)備管理培訓(xùn)教材_第4頁
操作系統(tǒng)設(shè)備管理培訓(xùn)教材_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第七章I/O設(shè)備管理§7.1I/O設(shè)備§7.2數(shù)據(jù)傳送控制方式§7.3設(shè)備分配§7.4緩沖管理§7.5I/O處理過程§7.1I/O設(shè)備OS設(shè)備管理中的設(shè)備指外部設(shè)備,包括輸入設(shè)備與輸出設(shè)備,即除主機(jī)(CPU+內(nèi)存)之外的所有設(shè)備。I/O性能經(jīng)常成為整個(gè)系統(tǒng)性能的瓶頸,CPU性能并不等于系統(tǒng)性能,CPU性能越高,與I/O差距越大。OS龐大復(fù)雜的原因之一就是外設(shè)資源多而雜,種類繁多,結(jié)構(gòu)各異,I/O數(shù)據(jù)信號類型不同,速度差異很大?!?.1I/O設(shè)備在多道程序環(huán)境中,設(shè)備管理把著眼點(diǎn)放在:設(shè)備的有效使用設(shè)備和CPU的并行工作讓用戶方便使用設(shè)備一、計(jì)算機(jī)設(shè)備的分類§7.1I/O設(shè)備基于設(shè)備的工作特性:

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

輸入/輸出設(shè)備(字符設(shè)備,以單個(gè)字符為單位存儲、傳輸信息,如顯示器、鍵盤、打印機(jī)等)§7.1I/O設(shè)備基于設(shè)備的從屬關(guān)系:

—系統(tǒng)設(shè)備(一般是標(biāo)準(zhǔn)設(shè)備)(OS生成時(shí)就配置在系統(tǒng)中的標(biāo)準(zhǔn)設(shè)備,如:鍵盤、鼠標(biāo)、顯示器、終端、打印機(jī)等)

—用戶設(shè)備(一般為非標(biāo)準(zhǔn)設(shè)備)(設(shè)備的處理程序由用戶提供,需另外安裝,如:掃描儀、A-D/D-A轉(zhuǎn)換設(shè)備等)§7.1I/O設(shè)備基于設(shè)備的分配特性:

—獨(dú)享設(shè)備(使用具有排它性,低速I/O設(shè)備)

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

—虛擬設(shè)備

(模擬獨(dú)占設(shè)備為共享設(shè)備,即將慢速的獨(dú)占設(shè)備經(jīng)軟件技術(shù)改造成為多個(gè)進(jìn)程可以共享的設(shè)備,典型如SPOOLing技術(shù))§7.1I/O設(shè)備基于信息組織和處理的方式:

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

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

OS把各種外設(shè)的物理特性隱藏起來,把各種外設(shè)的具體操作方式隱藏起來,由OS面對;而讓用戶面對的是使用方便的設(shè)備,這樣就可使用戶擺脫繁瑣的編程負(fù)擔(dān)?!?.1I/O設(shè)備2.設(shè)備管理的功能:提供用戶接口:提供一組I/O命令,即用戶使用外設(shè)的接口,用戶在程序中通過這些命令使用外設(shè)。進(jìn)行設(shè)備的分配與回收:OS中I/O管理程序負(fù)責(zé)接受用戶使用外設(shè)的請求、分配設(shè)備、回收設(shè)備。

實(shí)現(xiàn)真正的I/O操作:OS依據(jù)用戶的請求,通過具體的設(shè)備驅(qū)動程序,啟動外設(shè),進(jìn)行實(shí)際的I/O操作;操作完畢就通知用戶進(jìn)程,由設(shè)備中斷服務(wù)程序完成善后工作。其它功能:管理緩沖區(qū),CPU與I/O設(shè)備通過緩沖區(qū)傳送數(shù)據(jù),以解決高速CPU與慢速外設(shè)之間矛盾。OS有專門軟件管理緩沖區(qū)的分配與回收。§7.2數(shù)據(jù)傳送控制方式計(jì)算機(jī)系系統(tǒng)的輸輸入/輸出,實(shí)質(zhì)是進(jìn)進(jìn)行數(shù)據(jù)據(jù)的輸入入/輸出,即數(shù)據(jù)據(jù)的傳輸輸。數(shù)據(jù)傳輸輸:I/O設(shè)備←→內(nèi)存I/O設(shè)備←→CPU數(shù)據(jù)傳輸輸方式有有四種::程序直接接控制方方式中斷控制制方式DMA方式通道控制制方式§7.2數(shù)據(jù)傳送控制方式一、設(shè)備備控制器器I/O設(shè)備一般般由機(jī)械械部分與與電子部部分構(gòu)成成,把這這兩部分分分開處處理,通通過接插插件、電電纜相連連。機(jī)械部分分即設(shè)備本本身電子部分分即設(shè)備控制制器(適配器器、接口口卡)每種I/O設(shè)備都要通過過設(shè)備控制器器與CPU相連。設(shè)備控制器是是CPU與I/O設(shè)備間的接口口,處于CPU與外設(shè)之間。。§7.2數(shù)據(jù)傳送控制方式系統(tǒng)總線CPU內(nèi)存磁盤控制器打印機(jī)控制器器HD打印機(jī)…微機(jī)的I/O設(shè)備通過總線線與CPU連接設(shè)備控制器§7.2數(shù)據(jù)傳送控制方式設(shè)備控制器通通過自己內(nèi)部部的寄存器與與CPU通信數(shù)據(jù)寄存器數(shù)數(shù)據(jù)傳輸輸?shù)木彌_狀態(tài)寄存器存存放外設(shè)設(shè)的狀態(tài),供供CPU測試控制寄存器存存放CPU發(fā)出的操作命命令與參數(shù)OS把命令以及參參數(shù)寫入控制制寄存器,外外設(shè)據(jù)此實(shí)現(xiàn)現(xiàn)I/O設(shè)備控制器接接受命令后,,就獨(dú)立于CPU去完成命令指指定的任務(wù)。。§7.2數(shù)據(jù)傳送控制方式外設(shè)接受了CPU的I/O命令,隨后即即獨(dú)立于CPU進(jìn)行I/O操作,這時(shí)外設(shè)與CPU并行,即在外設(shè)I/O的同時(shí),CPU在運(yùn)行其它進(jìn)進(jìn)程。外設(shè)完成所要要求的I/O任務(wù)后,要通通知CPU。早期采用“被被動式”,控控制器設(shè)置一一個(gè)完成標(biāo)志志,等待CPU來查詢,即程序直接控制制方式?,F(xiàn)在采用“主主動式”,即即通過中斷方方式主動通知知CPU,讓CPU來進(jìn)行處理,,即中斷控制方式。直接存儲器存存取方式(DMA)和通道控制方式也是基于于中斷的主動動型的數(shù)據(jù)傳傳輸控制方式式?!?.2數(shù)據(jù)傳送控制方式二、程序直接接控制方式向控制器發(fā)讀讀命令讀控制器狀態(tài)態(tài)檢查狀態(tài)從控制器中讀讀入字向存儲器中寫寫字傳送完成?出錯未就緒未完成完成下條指令CPU→I/OI/O→CPUI/O→CPUCPU→內(nèi)存就緒以讀為例,說說明程序直接接控制I/O方式§7.2數(shù)據(jù)傳送控制方式評價(jià):在程序I/O方式中,由于于CPU的高速與I/O設(shè)備的低速,,使得CPU絕大部分時(shí)間間,都處于等等待外設(shè)完成成數(shù)據(jù)I/O的循環(huán)測試之之中,造成CPU的極大浪費(fèi)。。此外,CPU與I/O設(shè)備只能串行行工作,整個(gè)個(gè)計(jì)算機(jī)系統(tǒng)統(tǒng)效率低下。?!?.2數(shù)據(jù)傳送控制方式三、中斷方式式以讀為例,說說明中斷控制制I/O方式向控制器發(fā)讀讀命令讀控制器狀態(tài)態(tài)檢查狀態(tài)從控制器中讀讀入字向內(nèi)存中寫字字傳送完成?出錯未完成完成下條指令CPU→I/OI/O→CPUI/O→CPUCPU→內(nèi)存就緒CPU做其它事中斷完成信號號§7.2數(shù)據(jù)傳送控制方式中斷方式說明明:1.某一進(jìn)程處于于執(zhí)行狀態(tài),,通過CPU向外設(shè)控制器器發(fā)出I/O指令;該進(jìn)程隨即阻阻塞,等待I/O完成;OS立即將CPU調(diào)度給其它進(jìn)進(jìn)程使用;而外設(shè)控制器器得到指令后后,就獨(dú)立于于CPU進(jìn)行指令規(guī)定定的操作;如此,CPU與I/O并行工作。2.當(dāng)外設(shè)I/O操作完成,設(shè)設(shè)備控制器立立即向CPU發(fā)中斷完成信信號;CPU接到信號響應(yīng)應(yīng)該中斷,立立即轉(zhuǎn)中斷處處理程序;由中斷處理程程序把數(shù)據(jù)從從設(shè)備控制器器傳送到內(nèi)存存。3.被阻塞進(jìn)程在在I/O完成后,狀態(tài)態(tài)即轉(zhuǎn)變?yōu)榫途途w,等待OS調(diào)度,以執(zhí)行行余下的程序序?!?.2數(shù)據(jù)傳送控制方式四、直接存儲儲器存取方式式以上介紹的程程序控制方式式和中斷方式式,主機(jī)與外外設(shè)進(jìn)行的數(shù)數(shù)據(jù)傳送都是是以CPU為中心組織的。CPUI/O設(shè)備內(nèi)存DMA(DirectMemoryAccess)DMA方式在外設(shè)與內(nèi)存存之間開辟了了直接交換數(shù)數(shù)據(jù)的通路,使用于磁盤盤等高速I/O設(shè)備。在DMA控制器的控制制下,內(nèi)存和硬盤直直接進(jìn)行成批批數(shù)據(jù)的快速速傳送,不需要CPU的加入。形成成了以內(nèi)存為中心心組織的數(shù)據(jù)傳傳送。內(nèi)存CPUI/O設(shè)備§7.2數(shù)據(jù)傳送控制方式DMA傳輸數(shù)據(jù)步驟驟:1.一進(jìn)程請求設(shè)設(shè)備I/O,CPU做如下事:內(nèi)存起始地址址→DMA控制器的地址址寄存器傳輸字節(jié)數(shù)→DMA控制器的字節(jié)節(jié)計(jì)數(shù)器啟動DMA控制器2.該進(jìn)程阻塞,,等待I/O完成3.DMA與內(nèi)存進(jìn)行數(shù)數(shù)據(jù)傳輸,成成批數(shù)據(jù)傳送送由字節(jié)計(jì)數(shù)數(shù)器計(jì)算控制制4.傳輸完,向CPU發(fā)中斷完成信信號5.CPU接受DMA中斷請求,轉(zhuǎn)轉(zhuǎn)中斷處理程程序6.數(shù)據(jù)傳送完成成,喚醒被阻阻塞進(jìn)程§7.2數(shù)據(jù)傳送控制方式§7.2數(shù)據(jù)傳送控制方式五、通道方式式通道介紹:獨(dú)立于CPU、專門用作管理I/O的處理機(jī),控制設(shè)備與與內(nèi)存直接進(jìn)進(jìn)行數(shù)據(jù)交換換通道有自己己的指令系統(tǒng),數(shù)量不多多,僅涉及及讀、寫、、查詢、控控制等功能能;用以編編寫通道程序采用通道的的系統(tǒng)中,,主機(jī)與通通道相連,,通道與設(shè)設(shè)備控制器器相連,設(shè)設(shè)備控制器器與設(shè)備相相連§7.2數(shù)據(jù)傳送控制方式CPU通道設(shè)備控制器器設(shè)備控制器器設(shè)備設(shè)備設(shè)備設(shè)備…§7.2數(shù)據(jù)傳送控制方式通道方式工工作步驟::一進(jìn)程提出出I/O請求,CPU把數(shù)據(jù)傳輸輸任務(wù)交給給通道(指指明操作方方向、設(shè)備備號、通道道號)該進(jìn)程阻塞塞,CPU隨即被調(diào)度度給其它進(jìn)進(jìn)程通道按CPU發(fā)來的啟動動命令,調(diào)調(diào)用通道程程序執(zhí)行((這時(shí)通道道與CPU并行工作)),外設(shè)在在通道程序序的規(guī)定下下,與內(nèi)存存交換數(shù)據(jù)據(jù)數(shù)據(jù)傳輸完完畢,通道道向CPU發(fā)中斷請求求CPU響應(yīng)中斷,,轉(zhuǎn)中斷處處理程序,,對I/O作善后處理理,喚醒被被阻塞的進(jìn)進(jìn)程成就緒緒態(tài)?!?.3設(shè)備分配在OS的統(tǒng)一管理理下,用戶戶進(jìn)程使用用設(shè)備,須須先提出I/O請求,由OS的設(shè)備管理理程序進(jìn)行行分配。設(shè)備分配與與下列因素素有關(guān):設(shè)備屬性系統(tǒng)采用的的分配算法法與設(shè)備無關(guān)關(guān)性原則設(shè)備分配的的安全性§7.3設(shè)備分配一、設(shè)備屬屬性和設(shè)備備分配方法法1.獨(dú)占設(shè)備::使用上具具有排它性性的設(shè)備,,如打印機(jī)機(jī)。分配策略::系統(tǒng)一旦旦將該類設(shè)設(shè)備分配給給指定進(jìn)程程,就由它它獨(dú)占使用用,直到用用畢釋放。。2.共享設(shè)備::如磁盤,,這類設(shè)備備可由多個(gè)個(gè)進(jìn)程同時(shí)時(shí)使用,每每個(gè)進(jìn)程只只用其中一一部分,在在時(shí)間上則則是交叉對對設(shè)備進(jìn)行行存取訪問問。系統(tǒng)對共享享設(shè)備不進(jìn)進(jìn)行分配,,而是對這這一類的I/O請求進(jìn)行調(diào)調(diào)度。§7.3設(shè)備分配3.虛擬設(shè)備::在大容量量磁盤的支支持下,用用軟件技術(shù)術(shù)對獨(dú)占設(shè)設(shè)備進(jìn)行改改造,使得得用戶在使使用獨(dú)占設(shè)設(shè)備時(shí),感感覺上認(rèn)為為不用同其其它進(jìn)程競競爭,便可可方便地獲獲得獨(dú)占設(shè)設(shè)備。Spooling技術(shù)就是一一個(gè)典型的的實(shí)現(xiàn)虛擬擬設(shè)備的系系統(tǒng)?!?.3設(shè)備分配二、Spooling技術(shù)基本思想::一些低速字字符設(shè)備都都是獨(dú)享設(shè)設(shè)備,其使使用具有排排它性,不不利于多道道程序并行行工作,影影響系統(tǒng)效效率。OS以大容量的的共享設(shè)備備—磁盤為依托托,用軟件件技術(shù)來改改造獨(dú)享設(shè)設(shè)備,使用用戶在感覺覺上認(rèn)為他他們使用的的是共享設(shè)設(shè)備?!?.3設(shè)備分配SPOOLing系統(tǒng)由3部分組成:輸入井與輸出井硬盤上2大存儲空間間—輸入井:用用于收容I/O設(shè)備的輸入入數(shù)據(jù)—輸出井:用用于收容用用戶程序的的輸出數(shù)據(jù)據(jù)輸入緩沖區(qū)區(qū)與輸出緩沖區(qū)區(qū)內(nèi)存中開辟辟的2個(gè)緩沖區(qū)—輸入緩沖區(qū)區(qū):用于暫暫存由輸入入設(shè)備送來來的數(shù)據(jù),,以后再傳傳送輸入井井—輸出緩沖區(qū)區(qū):用于暫暫存由輸出出井送來的的數(shù)據(jù),以以后再傳送送輸出設(shè)備備§7.3設(shè)備分配預(yù)輸入程序序與緩輸出程序序—預(yù)輸入進(jìn)程程將用戶要求求的輸入數(shù)數(shù)據(jù),從輸入設(shè)備備輸入緩沖區(qū)區(qū)輸入井,當(dāng)CPU需要輸入數(shù)數(shù)據(jù)時(shí),直直接從輸入入井讀入內(nèi)內(nèi)存。緩輸出進(jìn)程程將用戶要求求輸出的數(shù)數(shù)據(jù),從內(nèi)內(nèi)存輸出井輸出緩沖區(qū)區(qū)(當(dāng)輸出出設(shè)備空閑閑時(shí))輸出設(shè)備。?!?.3設(shè)備分配輸入井輸出井輸出設(shè)備SPOOLing系統(tǒng)工作示示意磁盤輸入設(shè)備預(yù)輸入進(jìn)程程輸出緩沖區(qū)區(qū)緩輸出進(jìn)程程輸入緩沖區(qū)區(qū)內(nèi)存§7.3設(shè)備分配系統(tǒng)對用戶戶請求的處處理當(dāng)用戶請求求打印輸出出時(shí),SPOOLing系統(tǒng)中輸出出進(jìn)程做如如下2件事:A)在輸出井申申請一空閑閑盤塊區(qū)將要打印的的數(shù)據(jù)送入入其中B)為用戶申請請空白的用用戶請求打打印表將用戶的打打印請求填填入表中把該表掛到到請求打印印隊(duì)列上。。如還有其它它進(jìn)程提出出打印請求求,系統(tǒng)一一概接受請請求,同樣樣做上述2件事。以共享打印印機(jī)為例說說明SPOOLing系統(tǒng)工作過過程§7.3設(shè)備分配系統(tǒng)對具體體輸出的處處理如打印機(jī)空空閑,輸出出進(jìn)程做以以下操作::從請求打印印隊(duì)列的隊(duì)隊(duì)首取出請請求打印表表將打印數(shù)據(jù)據(jù)從輸出井井送內(nèi)存輸輸出緩沖區(qū)區(qū)打印機(jī)執(zhí)行行打印操作作打印完即檢檢查打印隊(duì)隊(duì)列是否還還有請求表表若有,取出出現(xiàn)時(shí)隊(duì)首首的請求表表,繼續(xù)上上述操作若無,即打打印隊(duì)列空空,輸出進(jìn)進(jìn)程阻塞自己等再有打印印請求才被被喚醒§7.3設(shè)備分配SPOOLing系統(tǒng)的特點(diǎn)點(diǎn):將獨(dú)占設(shè)備備改造為共共享設(shè)備,,實(shí)現(xiàn)了虛虛擬設(shè)備功功能。宏觀上看,,多個(gè)進(jìn)程程能同時(shí)使使用一臺獨(dú)獨(dú)占設(shè)備,,從每一個(gè)個(gè)進(jìn)程看,,都認(rèn)為自自己獨(dú)占了了一個(gè)設(shè)備備(邏輯設(shè)設(shè)備)。提高了I/O速度。從請求打印印的進(jìn)程角角度看,其其輸出數(shù)據(jù)據(jù)實(shí)質(zhì)上是是送到輸出出井,極其其快速。§7.3設(shè)備分配三、設(shè)備分分配方法設(shè)備分配2種方式:靜態(tài)分配方方式在用戶進(jìn)程程創(chuàng)建時(shí),,OS便一次性地地把進(jìn)程運(yùn)運(yùn)行所要求求的全部設(shè)設(shè)備都分配配給它,并并由該進(jìn)程程占有,直直到進(jìn)程撤撤消。不會死鎖,,但設(shè)備利利用率極其其低下。動態(tài)分配方方式在進(jìn)程執(zhí)行行過程中,,隨時(shí)根據(jù)據(jù)需要,向向系統(tǒng)提出出設(shè)備請求求,由系統(tǒng)統(tǒng)依據(jù)一定定算法給進(jìn)進(jìn)程分配設(shè)設(shè)備,用戶戶進(jìn)程用完完設(shè)備,即即予釋放。。有利于提高高設(shè)備利用用率,但分分配不當(dāng)即即有死鎖可可能。§7.3設(shè)備分配動態(tài)分配算算法:先來先服務(wù)務(wù)對于多個(gè)請請求某類設(shè)設(shè)備的用戶戶進(jìn)程,系系統(tǒng)按其發(fā)發(fā)出請求的的先后順序序,使它們們在設(shè)備請請求隊(duì)列里里排隊(duì),并并把設(shè)備分分配給隊(duì)列列的前列者者。優(yōu)先級高者者優(yōu)先進(jìn)入設(shè)備請請求隊(duì)列的的進(jìn)程,按按優(yōu)先級排排隊(duì),優(yōu)先先級相同,,則按到達(dá)達(dá)的先后排排,系統(tǒng)總總是把設(shè)備備分配給隊(duì)隊(duì)列的首進(jìn)進(jìn)程使用。?!?.3設(shè)備分配四、設(shè)備管管理采用的的數(shù)據(jù)結(jié)構(gòu)構(gòu)系統(tǒng)設(shè)備表表SDT(SystemDeviceTable)整個(gè)系統(tǒng)一一張,記錄錄了系統(tǒng)中中所有外設(shè)設(shè),每類設(shè)設(shè)備占一個(gè)個(gè)表項(xiàng)。設(shè)備控制表表DCT(DeviceControlTable)系統(tǒng)中每臺臺設(shè)備一個(gè)個(gè),其中隨隨時(shí)記錄了了該設(shè)備的的基本信息息(設(shè)備狀狀態(tài)、等待待使用該設(shè)設(shè)備的阻塞塞進(jìn)程等))?!?.3設(shè)備分配I/O過程中,OS從SDT內(nèi)查得某類類設(shè)備的DCT地址,然后后再轉(zhuǎn)到DCT取得具體設(shè)設(shè)備信息。。SDT…*類設(shè)備類類型DCT首址驅(qū)動程序地地址…DCT1設(shè)備標(biāo)識設(shè)備狀態(tài)設(shè)備隊(duì)列指指針DCT0DCT1DCT2*類設(shè)備備DCT區(qū)……§7.3設(shè)備分配五、與設(shè)備備無關(guān)性基本含義::應(yīng)用程序獨(dú)獨(dú)立于具體體使用的物物理設(shè)備。用戶程序中中要用到外外設(shè)時(shí),不不須指定具具體哪一臺臺設(shè)備,而而用邏輯設(shè)設(shè)備名來代代替,這樣樣用戶程序序就與實(shí)際際使用的物物理設(shè)備無無關(guān);執(zhí)行行程程序序時(shí)時(shí),,由由系系統(tǒng)統(tǒng)進(jìn)進(jìn)行行邏邏輯輯設(shè)設(shè)備備到到具具體體物物理理的的鏈鏈接接。?!?.3設(shè)備分配與設(shè)設(shè)備備無無關(guān)關(guān)性性帶帶來來的的好好處處::如果果在在程程序序中中指指定定具具體體的的物物理理設(shè)設(shè)備備,,則則當(dāng)當(dāng)該該設(shè)設(shè)備備已已經(jīng)經(jīng)分分配配,,或或正正在在維維修修,,而而此此時(shí)時(shí)盡盡管管有有同同類類設(shè)設(shè)備備空空閑閑,,可可供供分分配配,,則則該該進(jìn)進(jìn)程程也也只只能能阻阻塞塞等等待待。。遵循循了了設(shè)設(shè)備備無無關(guān)關(guān)性性,,在在編編程程時(shí)時(shí)不不具具體體指指定定具具體體物物理理設(shè)設(shè)備備,,當(dāng)當(dāng)系系統(tǒng)統(tǒng)中中設(shè)設(shè)備備變變更更,,用用戶戶程程序序就就不不用用修修改改。?!?.4緩沖管理凡是是數(shù)數(shù)據(jù)據(jù)到到達(dá)達(dá)和和離離去去速速度度不不匹匹配配的的地地方方均均可可采采用用緩緩沖沖技技術(shù)術(shù),,幾乎所有的外外設(shè)在與CPU交換數(shù)據(jù)時(shí),,都使用了緩緩沖區(qū)。OS采用緩沖是為為了實(shí)現(xiàn)數(shù)據(jù)據(jù)的I/O操作,緩解CPU與外部設(shè)備之之間速度不匹匹配的矛盾,提高高資源利用率率§7.4緩沖管理實(shí)現(xiàn)緩沖的2種方法:—硬緩沖:在設(shè)備中設(shè)置置緩沖區(qū),安安置硬件寄存存器,如設(shè)備備驅(qū)動器中的的數(shù)據(jù)寄存器器—軟緩沖:在內(nèi)存中開辟辟一個(gè)空間,,作為專用的的I/O緩沖區(qū),存放放I/O數(shù)據(jù)主要采用軟緩緩沖§7.4緩沖管理緩沖的四種類類型單緩沖為I/O設(shè)備設(shè)置單個(gè)個(gè)緩沖區(qū)產(chǎn)生數(shù)據(jù)的進(jìn)進(jìn)程與接受數(shù)數(shù)據(jù)的進(jìn)程不不直接傳遞,,而是通過單單個(gè)緩沖。緩沖區(qū)發(fā)送數(shù)據(jù)接收數(shù)據(jù)缺點(diǎn):發(fā)送者與接收收者不能并行行工作。發(fā)送者與接收收者的速度的的不匹配,造造成大量的等等待時(shí)間?!?.4緩沖管理雙緩沖為I/O設(shè)備設(shè)置兩個(gè)個(gè)緩沖區(qū)發(fā)送者和接收收者可交替使使用2個(gè)緩沖區(qū),這這樣,發(fā)送和和接收可并行行工作。當(dāng)兩者速度相相差很大時(shí),,還是有等待待現(xiàn)象出現(xiàn)。。緩沖區(qū)1發(fā)送數(shù)據(jù)接收數(shù)據(jù)緩沖區(qū)2§7.4緩沖管理多緩沖為相同類型的的I/O設(shè)備設(shè)置兩個(gè)個(gè)公共緩沖隊(duì)隊(duì)列,一個(gè)用用于輸入,另另一個(gè)用于輸輸出。當(dāng)輸入設(shè)備進(jìn)進(jìn)行輸入時(shí),,就取輸入緩緩沖隊(duì)列指針針?biāo)赶虻木従彌_使用,設(shè)設(shè)備用完后歸歸還緩沖。指針則前行指指向下一個(gè),,整個(gè)緩沖隊(duì)隊(duì)列循環(huán)使用用。當(dāng)輸出設(shè)備進(jìn)進(jìn)行輸出時(shí),,就取輸出緩緩沖隊(duì)列指針針?biāo)赶虻木従彌_使用,用用完后歸還緩緩沖。緩沖區(qū)輸入緩沖指針針緩沖區(qū)緩沖區(qū)緩沖區(qū)緩沖區(qū)輸出緩沖指針針緩沖區(qū)緩沖區(qū)緩沖區(qū)……§7.4緩沖管理緩沖池整個(gè)緩沖區(qū)由由n個(gè)單位緩沖構(gòu)構(gòu)成,每個(gè)緩緩沖既可用于于輸入,也可可用于輸出;;所有單位緩緩沖可供多個(gè)個(gè)進(jìn)程共享。。有4個(gè)基本工作方方式:收容輸入、提提取輸入、收收容輸出、提提取輸出有4種工作緩沖::hin、sin、hout、soutCPU輸入設(shè)備輸出設(shè)備緩沖池收容輸入提取輸出提取輸入收容輸出hinsinsouthout……§7.5I/O處理過程根據(jù)OS提供的命令形形式,由用戶程序發(fā)出I/O請求;I/O管理程序(與設(shè)備無關(guān)關(guān)的系統(tǒng)軟件件)接受請求求;實(shí)現(xiàn)抽象象接口到物理理接口的轉(zhuǎn)化化,獨(dú)立于具具體設(shè)備;設(shè)備驅(qū)動程序序具體完成要求求的I/O操作;設(shè)備中斷處理理程序處理該請求。?!?.5I/O處理過程I/O軟件按分層的的思想構(gòu)成。較低層軟件件要使較高層層軟件獨(dú)立于于硬件的特性性;較高層軟件則則要向用戶提提供一個(gè)簡單單的、功能更更強(qiáng)的接口,,讓用戶能方方便使用外設(shè)設(shè)?!?.5I/O處理過程用戶進(jìn)程I/O管理程序設(shè)備驅(qū)動程序序…READ(input,buffer,n)…buffer(緩沖區(qū))—阻塞調(diào)用進(jìn)程程—驗(yàn)證I/O請求—調(diào)用驅(qū)動程序序—校驗(yàn)設(shè)備狀態(tài)態(tài)—激活調(diào)用進(jìn)程程I/O請求—初始化并啟動動I/O—實(shí)際完成I/O—全部完成返回回I/O管理程序設(shè)備中斷處理理程序—保護(hù)中斷現(xiàn)場場—傳送數(shù)據(jù)—恢復(fù)現(xiàn)場—未全完成再次次調(diào)用驅(qū)動程程序外設(shè)主機(jī)中斷完成信號號調(diào)用中斷程序序§7.5I/O處理過程一、I/O請求的提出I/O請求來自于用用戶進(jìn)程。假設(shè)程序中命命令形式為::READ(input,buffer,n)即從輸入設(shè)備備input讀入n個(gè)數(shù)據(jù)到buffer所指的緩沖區(qū)區(qū)OS即依據(jù)命令調(diào)調(diào)用I/O管理程序,并將命令中中參數(shù)傳遞給給I/O管理程序§7.5I/O處理過程二、OS對I/O請求的管理I/O管理程程序負(fù)責(zé)管管理用用戶的的I/O請求。。I/O管理程程序有有3方面功功能::—接受用用戶I/O請求—把I/O請求交交設(shè)備備驅(qū)動動程序序?qū)嶋H際完成成—I/O完成后后的善善后處處理§7.5I/O處理過程具體步步驟::接受用用戶進(jìn)進(jìn)程的的I/O請求用戶請請求進(jìn)進(jìn)程阻阻塞,,進(jìn)入入相關(guān)關(guān)阻塞塞隊(duì)列列,等等候I/O完成如設(shè)備備空閑閑,就就分配配給該該進(jìn)程程使用用調(diào)用相相應(yīng)設(shè)設(shè)備驅(qū)驅(qū)動程程序,,控制制轉(zhuǎn)移移到驅(qū)驅(qū)動程程序,,由驅(qū)驅(qū)動程程序完完成具具體的的I/O操作I/O操作完完成,,控制制返回回I/O管理程程序把等待待I/O完成進(jìn)進(jìn)程的的狀態(tài)態(tài)由阻阻塞改改為就就緒,,參與與CPU競爭§7.5I/O處理過程三、I/O的具體體實(shí)現(xiàn)現(xiàn)設(shè)備驅(qū)

溫馨提示

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

最新文檔

評論

0/150

提交評論