第章 設(shè)備管理南理工王曉峰老師權(quán)所有_第1頁
第章 設(shè)備管理南理工王曉峰老師權(quán)所有_第2頁
第章 設(shè)備管理南理工王曉峰老師權(quán)所有_第3頁
第章 設(shè)備管理南理工王曉峰老師權(quán)所有_第4頁
第章 設(shè)備管理南理工王曉峰老師權(quán)所有_第5頁
已閱讀5頁,還剩75頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

第5章設(shè)備管理

操作系統(tǒng)中負(fù)責(zé)I/O設(shè)備管理的部分稱為I/O系統(tǒng),完成設(shè)備管理功能,對(duì)OS影響非常大。與處理機(jī)管理、存儲(chǔ)器管理密切相關(guān),設(shè)備管理因此常常作為操作系統(tǒng)內(nèi)核的一部分。設(shè)備管理的主要對(duì)象:I/O設(shè)備,設(shè)備控制器和I/O通道。設(shè)備管理的基本任務(wù):完成用戶提出的I/O請(qǐng)求,提高I/O效率,提高I/O設(shè)備的利用率。設(shè)備管理的主要功能:緩沖區(qū)管理,設(shè)備分配,設(shè)備處理,虛擬設(shè)備,實(shí)現(xiàn)設(shè)備獨(dú)立性。I/O設(shè)備種類多操作差異大,設(shè)備管理是操作系統(tǒng)中最繁雜且與硬件最緊密相關(guān)的部分。5.1I/O系統(tǒng)概述

I/O系統(tǒng)的組成主要包括:I/O設(shè)備、設(shè)備控制器及相關(guān)接口、總線等,大型主機(jī)還包括I/O通道。

5.1.1I/O設(shè)備

1、I/O設(shè)備的類型(1)

按傳輸速率分類低速:鍵盤、鼠標(biāo)、語音輸入輸出設(shè)備。中速:行式打印機(jī)、激光打印機(jī)。高速:磁盤、磁帶、光盤。(2)

按信息交換單位分類(信息組織方式):塊設(shè)備:信息的存取以數(shù)據(jù)塊為單位,如磁盤(適合DMA方式)字符設(shè)備:信息的存取以字符為單位,如打印機(jī)、交互式終端。(3)

按設(shè)備共享屬性分類:獨(dú)占:如打印機(jī)共享:如磁盤虛擬:通過虛擬技術(shù)將一臺(tái)獨(dú)占設(shè)備變換為若干臺(tái)邏輯設(shè)備,供多個(gè)進(jìn)程同時(shí)使用。2、設(shè)備與控制器之間的接口設(shè)備不直接同計(jì)算機(jī)連接,一般是通過專用的電纜線連接控制器與設(shè)備。兩者傳遞的信號(hào)主要是三類:(1)數(shù)據(jù)信號(hào):控制器到設(shè)備(輸出)、設(shè)備到控制器(輸入)(2)控制信號(hào):控制器到設(shè)備(3)狀態(tài)信號(hào):設(shè)備到控制器在小型機(jī)和微型機(jī)中,控制器一般直接做成印刷電路板插入計(jì)算機(jī)(在微機(jī)中習(xí)慣稱為卡,如圖形加速卡,網(wǎng)卡)5.1.2I/O管理目標(biāo)設(shè)備管理要達(dá)到的主要目標(biāo)是:1.提供統(tǒng)一界面、方便用戶使用使用邏輯操作和邏輯設(shè)備名掩蓋設(shè)備的物理細(xì)節(jié)。程序?qū)υO(shè)備的獨(dú)立性:在源程序和目標(biāo)程序中都使用設(shè)備符號(hào)名(邏輯設(shè)備名);提供設(shè)備管理與文件系統(tǒng)的統(tǒng)一接口;向程序提供設(shè)備重定向功能。2.發(fā)揮系統(tǒng)的并行性,提高I/O設(shè)備使用效率。采用各種軟硬結(jié)合的技術(shù)使設(shè)備、CPU、用戶程序、人這四者達(dá)到最高程度的并行采用的技術(shù)有:中斷技術(shù)、緩沖技術(shù)、設(shè)備共享和假脫機(jī)技術(shù)。3.實(shí)現(xiàn)設(shè)備的正確、安全使用——設(shè)備保護(hù)技術(shù):掩蓋細(xì)節(jié)的高級(jí)接口;命名與權(quán)限管理;只有特權(quán)指令才能使用設(shè)備硬件接口。5.1.3I/O管理功能

1.緩沖區(qū)管理計(jì)算機(jī)系統(tǒng)中各個(gè)部件速度的差異很大。中央處理機(jī)的速度以納秒計(jì),外部設(shè)備的處理速度則以毫秒甚至秒計(jì)。在不同時(shí)刻,系統(tǒng)各部分的負(fù)荷也常常很不均衡。為充分發(fā)揮并行性,引入緩沖技術(shù)。

2.外圍設(shè)備的分配按照設(shè)備的類型(獨(dú)享、共享或虛擬)和系統(tǒng)中所采用的分配算法,決定把一個(gè)I/O設(shè)備分配給哪一個(gè)要求該類設(shè)備的進(jìn)程。在大、中系統(tǒng)中,分配設(shè)備的同時(shí),還應(yīng)分配相應(yīng)的控制器和通道,以保證I/O設(shè)備與CPU之間有傳遞信息的通路;凡未分配到所需設(shè)備或控制器或通道的進(jìn)程,應(yīng)放入相應(yīng)的等待隊(duì)列。設(shè)備分配程序就是用來實(shí)現(xiàn)這一功能的。3.設(shè)設(shè)備備處處理理設(shè)備備處處理理程程序序又又叫叫設(shè)設(shè)備備驅(qū)驅(qū)動(dòng)動(dòng)程程序序。。4.虛虛擬擬設(shè)設(shè)備備及及實(shí)實(shí)現(xiàn)現(xiàn)設(shè)設(shè)備備獨(dú)獨(dú)立立性性5.1.4I/O應(yīng)應(yīng)用用接接口口I/O系系統(tǒng)統(tǒng)必必須須采采用用某某種種技技術(shù)術(shù)使使I/O設(shè)設(shè)備備可可以以按按統(tǒng)統(tǒng)一一的的標(biāo)標(biāo)準(zhǔn)準(zhǔn)方方式式對(duì)對(duì)待待。。采用用的的方方式式有有::抽抽象象、、包包裝裝與與軟軟件件分分層層可以以從從不不同同的的I/O設(shè)設(shè)備備中中抽抽象象出出一一些些通通用用類類型型。。每每個(gè)個(gè)通通用用類類型型都都可可以以通通過過一一組組標(biāo)標(biāo)準(zhǔn)準(zhǔn)函函數(shù)數(shù)((即即接接口口))來來訪訪問問。。具具體體的的差差別別被被內(nèi)內(nèi)核核模模塊塊((設(shè)設(shè)備備驅(qū)驅(qū)動(dòng)動(dòng)程程序序))所所封封裝裝。。不同同設(shè)設(shè)備備有有自自己己的的驅(qū)驅(qū)動(dòng)動(dòng)程程序序,,但但提提供供了了一一組組標(biāo)標(biāo)準(zhǔn)準(zhǔn)接接口口。。設(shè)備備驅(qū)驅(qū)動(dòng)動(dòng)程程序序?qū)訉訛闉閮?nèi)內(nèi)核核I/O子子系系統(tǒng)統(tǒng)隱隱藏藏設(shè)設(shè)備備控控制制器器之之間間的的差差異異,,從從而而簡簡化化了了OS開開發(fā)發(fā)人人員員的的任任務(wù)務(wù),,也也有有利利于于硬硬件件制制造造商商。。每種種OS都都有有自自己己的的設(shè)設(shè)備備驅(qū)驅(qū)動(dòng)動(dòng)程程序序接接口口。。故故一一個(gè)個(gè)特特定定設(shè)設(shè)備備可可能能有有多多種種設(shè)設(shè)備備驅(qū)驅(qū)動(dòng)動(dòng)程程序序。。而I/O系系統(tǒng)統(tǒng)調(diào)調(diào)用用又又為為上上層層應(yīng)應(yīng)用用程程序序包包裝裝了了硬硬件件細(xì)細(xì)節(jié)節(jié)。。5.1.5設(shè)備備管管理理的的總總體體結(jié)結(jié)構(gòu)構(gòu)劃分分為為四四層層::①設(shè)設(shè)備備中中斷斷處處理理程程序序;;中斷斷處處理理程程序序是是設(shè)設(shè)備備驅(qū)驅(qū)動(dòng)動(dòng)程程序序中中的的一一部部分分②設(shè)設(shè)備備驅(qū)驅(qū)動(dòng)動(dòng)程程序序;;③與與設(shè)設(shè)備備無無關(guān)關(guān)的的操操作作系系統(tǒng)統(tǒng)軟軟件件(設(shè)備備無無關(guān)關(guān)層層))負(fù)責(zé)責(zé)將將邏邏輯輯設(shè)設(shè)備備名名轉(zhuǎn)轉(zhuǎn)換換為為物物理理設(shè)設(shè)備備名名,,實(shí)實(shí)現(xiàn)現(xiàn)設(shè)設(shè)備備的的分分配配和和回回收收,,進(jìn)進(jìn)行行緩緩沖沖區(qū)區(qū)管管理理。。④用用戶戶級(jí)級(jí)軟軟件件((指指用用戶戶空空間間的的I/O軟件件))用戶戶與與設(shè)設(shè)備備管管理理模模塊塊的的接接口口,,負(fù)負(fù)責(zé)責(zé)解解釋釋用用戶戶的的應(yīng)應(yīng)用用請(qǐng)請(qǐng)求求,,并并將將這這種種請(qǐng)請(qǐng)求求轉(zhuǎn)轉(zhuǎn)化化為為具具體體的的輸輸入入/輸出出操操作作。。相關(guān)關(guān)層層((較較低低的的層層))用用于于將將硬硬件件特特征征與與無無關(guān)關(guān)層層((較較高高的的層層))隔隔離離開開,,而而無無關(guān)關(guān)層層((較較高高的的層層))則則參參與與向向用用戶戶提提供供一一個(gè)個(gè)友友好好、、清清晰晰而而規(guī)規(guī)范范的的接接口口。。從功能能上看看,無無關(guān)層層是I/O管理的的主要要部分分,從從代碼碼量看看,驅(qū)驅(qū)動(dòng)層層是I/O管理的的主要要部分分。內(nèi)核I/O結(jié)構(gòu)LifeCycleofAnI/ORequest5.1.6I/O控制制方式式詢問方方式,,又稱稱程序序直接接控制制方式式。中斷方方式DMA方式式通道技技術(shù)5.2內(nèi)內(nèi)核I/O子系系統(tǒng)內(nèi)核I/O子系系統(tǒng)是是建立立在硬硬件和和設(shè)備備驅(qū)動(dòng)動(dòng)程序序之上上的。。提供供與I/O有關(guān)關(guān)的服服務(wù),,如調(diào)調(diào)度、、緩沖沖、高高速緩緩沖、、假脫脫機(jī)、、錯(cuò)誤誤處理理等。。5.2.1I/O調(diào)調(diào)度I/O調(diào)度度是指指OS根據(jù)據(jù)一定定算法法按照照一定定的順順序?yàn)闉橄到y(tǒng)統(tǒng)中的的I/O請(qǐng)請(qǐng)求提提供服服務(wù)。。從而而改善善系統(tǒng)統(tǒng)性能能,使使進(jìn)程程公平平地共共享設(shè)設(shè)備。。OS通通過為為每個(gè)個(gè)設(shè)備備維護(hù)護(hù)一個(gè)個(gè)請(qǐng)求求隊(duì)列列來實(shí)實(shí)現(xiàn)調(diào)調(diào)度。。I/O調(diào)度度根據(jù)據(jù)需要要重新新安排排隊(duì)列列順序序以改改善系系統(tǒng)總總體效效率和和應(yīng)用用程序序的平平均響響應(yīng)時(shí)時(shí)間。。5.2.2緩沖管管理緩沖區(qū)區(qū)是用用來保保存在在兩個(gè)個(gè)設(shè)備備之間間或在在設(shè)備備和應(yīng)應(yīng)用程程序之之間所所傳輸輸數(shù)據(jù)據(jù)的內(nèi)內(nèi)存區(qū)區(qū)域。。1.引入緩緩沖區(qū)區(qū)的原原因(1)處理理數(shù)據(jù)據(jù)的生生產(chǎn)者者和消消費(fèi)者者速度度不匹匹配。。如從從調(diào)制制解調(diào)調(diào)器上上收到到文件件并保保存到到硬盤盤上。。(2)協(xié)調(diào)調(diào)傳輸輸數(shù)據(jù)據(jù)大小小不一一致的的設(shè)備備。如計(jì)算算機(jī)網(wǎng)網(wǎng)絡(luò)上上,發(fā)發(fā)送方方消息息被分分成若若干包包,接接收方方在緩緩沖區(qū)區(qū)中重重組數(shù)數(shù)據(jù)。。(3)減少少對(duì)CPU的中斷斷頻率率(4)提高高CPU和I/O設(shè)備之之間的的并行行性2.單緩沖沖(singlebuffer)::當(dāng)用戶戶進(jìn)程程發(fā)出出I/O請(qǐng)求時(shí)時(shí),OS便在主主存中中為之之分配配一個(gè)個(gè)緩沖沖區(qū)。。一個(gè)緩緩沖區(qū)區(qū),CPU和外設(shè)設(shè)輪流流使用用,一一方處處理完完之后后接著著等待待對(duì)方方處理理。3.雙緩沖沖(doublebuffer)::為了加加快輸輸入和和輸出出速度度,引引入雙雙緩沖沖區(qū)。。設(shè)備輸輸入時(shí)時(shí),先先將數(shù)數(shù)據(jù)送送入第第一緩緩沖區(qū)區(qū),裝裝滿后后再轉(zhuǎn)轉(zhuǎn)向第第二緩緩沖區(qū)區(qū)。此時(shí)OS可以從從第一一緩沖沖區(qū)移移出數(shù)數(shù)據(jù),,送入入用戶戶進(jìn)程程所在在內(nèi)存存。兩個(gè)緩緩沖區(qū)區(qū),CPU和外設(shè)設(shè)都可可以連連續(xù)處處理而而無需需等待待對(duì)方方。要要求CPU和外設(shè)設(shè)的速速度相相近。。4.循環(huán)緩緩沖環(huán)形緩緩沖(circularbuffer)::多個(gè)緩緩沖區(qū)區(qū),CPU和外設(shè)設(shè)的處處理速速度可可以相相差較較大。??蓞⒁姟啊吧a(chǎn)產(chǎn)者--消費(fèi)費(fèi)者問問題””,以上的的緩沖沖區(qū)僅僅適用用于特特定的的I/O進(jìn)程和和計(jì)算算進(jìn)程程,屬屬于專專用緩緩沖區(qū)區(qū)。系系統(tǒng)較較大時(shí)時(shí),會(huì)會(huì)有多多個(gè)專專用緩緩沖區(qū)區(qū),消消耗大大量內(nèi)內(nèi)存空空間,,利用用率低低,目目前廣廣泛使使用公公用緩緩沖池池,池池中設(shè)設(shè)置了了多個(gè)個(gè)供若若干進(jìn)進(jìn)程共共享的的緩沖沖區(qū)。。5.緩沖池池(1)緩沖池池的組組成既可用用于輸輸入,,又可可用于于輸出出,緩緩沖池池中有有三類類緩沖沖區(qū)::①空閑緩緩沖區(qū)區(qū)隊(duì)列列emq②輸入緩緩沖區(qū)區(qū)隊(duì)列列inq:由裝裝滿輸輸入數(shù)數(shù)據(jù)的的緩沖沖區(qū)鏈鏈成的的隊(duì)列列。③輸出緩緩沖區(qū)區(qū)隊(duì)列列outq:由裝裝滿輸輸出數(shù)數(shù)據(jù)的的緩沖沖區(qū)鏈鏈成的的隊(duì)列列。(2)對(duì)緩沖沖池的的操作作:①收容容輸入入——設(shè)備輸輸入數(shù)數(shù)據(jù)②提取取輸入入——計(jì)算進(jìn)進(jìn)程讀讀入數(shù)數(shù)據(jù)③收容容輸出出——計(jì)算進(jìn)進(jìn)程輸輸出數(shù)數(shù)據(jù)④提取取輸出出——向設(shè)備輸輸出數(shù)數(shù)據(jù)。。上述操操作訪訪問各各個(gè)緩緩沖區(qū)區(qū)隊(duì)列列時(shí),,需要要進(jìn)行行相應(yīng)應(yīng)的互互斥操操作。。5.2.3設(shè)備分分配與回收收當(dāng)進(jìn)程程向系系統(tǒng)提提出I/O請(qǐng)求時(shí)時(shí),只只要是是可能能和安安全的的,設(shè)設(shè)備分分配程程序便便按照照一定定的策策略把把設(shè)備備分配配給請(qǐng)請(qǐng)求進(jìn)進(jìn)程。。有的系系統(tǒng)中中還要要分配配相應(yīng)應(yīng)的控控制器器和通通道。。1設(shè)備分分配中中的數(shù)數(shù)據(jù)結(jié)結(jié)構(gòu)(1)設(shè)備控控制表表(DCT,DeviceControlTable)每個(gè)設(shè)設(shè)備一一張,,描述述設(shè)備備特性性和狀狀態(tài)。。反映映設(shè)備備的特特性、、設(shè)備備和控控制器器的連連接情情況。。DCT的內(nèi)容容主要要包括括:設(shè)備標(biāo)標(biāo)識(shí)::用來來區(qū)別別不同同的設(shè)設(shè)備;;設(shè)備類類型::反映映設(shè)備備的特特性;;如::塊設(shè)設(shè)備或或字符符設(shè)備備;設(shè)備配配置::I/O地址等等;設(shè)備狀狀態(tài)::忙/閑,等等待/不等待待;((若與與設(shè)備備鏈接接的控控制器器或通通道忙忙,則則等待待)等待隊(duì)隊(duì)列::等待待使用用該設(shè)設(shè)備的的進(jìn)程程隊(duì)列列;與設(shè)備備連接接的控控制器器表指指針。。(2)系統(tǒng)設(shè)設(shè)備表表(SDT,SystemDeviceTable)系統(tǒng)內(nèi)內(nèi)一張張,反反映系系統(tǒng)中中設(shè)備備資源源的狀狀態(tài),,記錄錄所有有設(shè)備備的狀狀態(tài)及及其設(shè)設(shè)備控控制表表的入入口。。SDT表項(xiàng)的的主要要組成成:DCT指針::指向向相應(yīng)應(yīng)設(shè)備備的DCT;設(shè)備使使用進(jìn)進(jìn)程標(biāo)標(biāo)識(shí)::正在在使用用該設(shè)設(shè)備的的進(jìn)程程標(biāo)識(shí)識(shí);DCT信息::為引引用方方便而而保存存的DCT信息,如如:設(shè)備備標(biāo)識(shí)、、設(shè)備類類型等;;(3)控制器控控制表(COCT,COntrollerControlTable)每個(gè)設(shè)備備控制器器一張,,描述I/O控制器的的配置和和狀態(tài)。。如DMA控制器所所占用的的中斷號(hào)號(hào)、DMA數(shù)據(jù)通道道的分配配。(4)通道控制制表(CHCT,CHannelControlTable)每個(gè)通道道一張,,描述通通道工作作狀態(tài)。??刂破鳂?biāo)識(shí)符控制器狀態(tài):忙/空閑與控制器連接的通道指針等待控制器的進(jìn)程隊(duì)列指針系統(tǒng)設(shè)備表設(shè)備控制表控制器控制表1通道控制表設(shè)備控制表1控制器控制表2控制器控制表n設(shè)備控制表npcbpcbpcbpcb(5)表格之間的關(guān)系pcbpcb2設(shè)備分配配時(shí)應(yīng)考考慮的因因素設(shè)備分配配的原則則是合理理使用外外設(shè)(公公平和避避免死鎖鎖),提提高設(shè)備備使用率率。(1)考慮設(shè)備的固固有屬性性獨(dú)享設(shè)備備:打印印機(jī)等。。進(jìn)程使使用完自自己釋放放,一般般不能剝剝奪;共享設(shè)備備:磁盤盤、網(wǎng)卡卡等。多多個(gè)進(jìn)程程并發(fā)使使用,需需合理調(diào)調(diào)度;虛擬設(shè)備備:虛擬擬打印機(jī)機(jī)等??煽捎卸鄠€(gè)個(gè)進(jìn)程使使用,但但FCFS。(2)設(shè)備分配配算法與進(jìn)程調(diào)調(diào)度類似似,但簡簡單一些些;先來先服服務(wù)(FCFS):按I/O請(qǐng)求的先先后順序序,排成成I/O請(qǐng)求命令令隊(duì)列;;按FCFS分配設(shè)備備;基于優(yōu)先先級(jí):依依據(jù)進(jìn)程程的優(yōu)先先級(jí),指指定I/O請(qǐng)求的優(yōu)優(yōu)先級(jí),,優(yōu)先級(jí)級(jí)高的排排在設(shè)備備隊(duì)列的的隊(duì)首;;同優(yōu)先先級(jí)則FCFS;按優(yōu)先先級(jí)高低低分配設(shè)設(shè)備。(3)設(shè)備分配配中的安安全性①安全分配配方式進(jìn)程發(fā)出出I/O請(qǐng)求后阻阻塞,完完成后喚喚醒,即即進(jìn)程運(yùn)運(yùn)行時(shí)不不占有任任何設(shè)備備資源,,擯棄了了“請(qǐng)求求保持””條件。。缺點(diǎn)::CPU與I/O設(shè)備是串串行工作作。②不安全分分配方式式進(jìn)程發(fā)出出I/O請(qǐng)求后仍仍繼續(xù)運(yùn)運(yùn)行,又又可發(fā)出出I/O請(qǐng)求,僅僅當(dāng)進(jìn)程程所請(qǐng)求求的設(shè)備備已被另另一進(jìn)程程占用時(shí)時(shí),進(jìn)程程才進(jìn)入入阻塞狀狀態(tài)。優(yōu)優(yōu)點(diǎn):多多個(gè)設(shè)備備并行操操作;缺缺點(diǎn):可可能造成成死鎖。。3設(shè)備的獨(dú)獨(dú)立性(1)設(shè)備獨(dú)立立性(Deviceindependence)的概念設(shè)備獨(dú)立立性指除除了直接接與設(shè)備備打交道道的底層層軟件之之外,其其它部分分的軟件件并不依依賴于硬硬件??煽梢蕴岣吒哕浖牡脑O(shè)計(jì)效效率。為了實(shí)現(xiàn)現(xiàn)設(shè)備獨(dú)獨(dú)立性::引入物物理設(shè)備備、邏輯輯設(shè)備應(yīng)用程序序使用邏邏輯設(shè)備備名調(diào)用用設(shè)備;;OS實(shí)際執(zhí)行行時(shí),使使用物理理設(shè)備名名。OS負(fù)責(zé)將邏邏輯設(shè)備備名轉(zhuǎn)換換為物理理設(shè)備名名。(2)設(shè)備獨(dú)立立性帶來來如下好好處:①設(shè)備分配配時(shí)的靈靈活性進(jìn)程請(qǐng)求求設(shè)備時(shí)時(shí),OS可從一類類設(shè)備中中選擇空空閑的分分配,不不會(huì)因特特定設(shè)備備忙而阻阻塞。②實(shí)現(xiàn)I/O重定向I/O重定向:實(shí)現(xiàn)I/O操作的設(shè)設(shè)備可以以更換,,而不必必改變應(yīng)應(yīng)用程序序。如,調(diào)試試程序時(shí)時(shí)先輸出出到屏幕幕,最后后再打印印(3)邏輯設(shè)備備名到物物理設(shè)備備名映射射的實(shí)現(xiàn)現(xiàn)①邏輯設(shè)備備表(LUT))當(dāng)進(jìn)程用用邏輯設(shè)設(shè)備名請(qǐng)請(qǐng)求I/O設(shè)備時(shí),,系統(tǒng)為為它分配配相應(yīng)的的物理設(shè)設(shè)備,并并在LUT中建立一一個(gè)表目目。②LUT的設(shè)置可可采用兩兩種方式式整個(gè)系統(tǒng)統(tǒng)一張,,不能有有相同邏邏輯設(shè)備備名。每個(gè)用戶戶一張,,放入PCB中4.基本的設(shè)設(shè)備分配配程序(1)分配設(shè)備備(2)分配控制制器(3)分配通道道系統(tǒng)設(shè)備表設(shè)備控制表控制器控制表1通道控制表設(shè)備控制表1控制器控制表2控制器控制表n設(shè)備控制表npcbpcbpcbpcbpcbpcb5.2.4SPOOLing技術(shù)利用假脫脫機(jī)技術(shù)術(shù)(SPOOLing,SimultaneousPeripheralOperationOnLine,也稱為虛虛擬設(shè)備備技術(shù))可把獨(dú)獨(dú)享設(shè)備備轉(zhuǎn)變成成具有共共享特征征的虛擬擬設(shè)備,,從而提提高設(shè)備備利用率率。1、什么是是SPOOLing引入:在在多道程程序系統(tǒng)統(tǒng)中,專專門利用用一道程序(SPOOLing程序)來來完成對(duì)對(duì)設(shè)備的的I/O操作。無無需使用用外圍I/O處理機(jī)。。讓主機(jī)直直接控制制I/O稱為聯(lián)聯(lián)機(jī)I/O;讓讓另一臺(tái)臺(tái)“外圍圍機(jī)”代代替主機(jī)機(jī)控制I/O稱稱為脫機(jī)機(jī)I/O。SPOOLing用聯(lián)機(jī)機(jī)I/O模擬脫脫機(jī)I/O操作作,故稱稱為“假假脫機(jī)””。原理:SPOOLing程序和外外設(shè)進(jìn)行行數(shù)據(jù)交交換,可可以稱為為“實(shí)際際I/O””。一方面,,SPOOLing程序預(yù)先先從外設(shè)設(shè)輸入數(shù)數(shù)據(jù)并加加以緩沖沖(輸入入井),,在以后后需要的的時(shí)候輸輸入到應(yīng)應(yīng)用程序序;另一一方面,,SPOOLing程序接受受應(yīng)用程程序的輸輸出數(shù)據(jù)據(jù)并加以以緩沖((輸出井井),在在以后適適當(dāng)?shù)臅r(shí)時(shí)候輸出出到外設(shè)設(shè)。應(yīng)用程序序進(jìn)行I/O操作時(shí),,只是和和SPOOLing程序交換換數(shù)據(jù),,可以稱稱為“虛虛擬I/O””。這時(shí)候的的虛擬I/O實(shí)際上是是SPOOLing程序從緩緩沖池中中讀出數(shù)數(shù)據(jù)或把把數(shù)據(jù)送送入緩沖沖池,而而不是跟跟實(shí)際的的外設(shè)進(jìn)進(jìn)行I/O操作。2、SPOOLing系統(tǒng)的組組成(1)輸輸入井和和輸出井井:在磁磁盤上。。(2)輸入緩沖沖區(qū)和輸輸出緩沖沖區(qū):在在內(nèi)存。。緩和CPU和磁盤速速度不匹匹配的矛矛盾。(3)輸入進(jìn)程程和輸出出進(jìn)程::守護(hù)((daemon))進(jìn)程3、SPOOLing系統(tǒng)的特點(diǎn)優(yōu)點(diǎn):高速虛擬I/O操作:應(yīng)用程程序的虛擬I/O比實(shí)際I/O速度提高,縮縮短應(yīng)用程序序的執(zhí)行時(shí)間間(盡快完成成計(jì)算,并釋釋放占用的計(jì)計(jì)算機(jī)資源))。實(shí)現(xiàn)對(duì)獨(dú)享設(shè)設(shè)備的共享::SPOOLing系統(tǒng)中,未為為任何進(jìn)程分分配設(shè)備,是是在輸入井和和輸出井中為為進(jìn)程分配一一個(gè)存儲(chǔ)區(qū)、、建立一張I/O請(qǐng)求表。由SPOOLing程序提供虛擬擬設(shè)備,使每每個(gè)使用獨(dú)占占設(shè)備的進(jìn)程程都認(rèn)為是自自己獨(dú)占了一一個(gè)設(shè)備。4、舉例:打印機(jī)設(shè)備和和可由打印機(jī)機(jī)管理器管理理的打印作業(yè)業(yè)隊(duì)列。如::WindowsNT中,應(yīng)用程序序直接向針式式打印機(jī)輸出出需要15分分鐘,而向打打印作業(yè)隊(duì)列列輸出只需要要1分鐘,此此后用戶可以以關(guān)閉應(yīng)用程程序而轉(zhuǎn)入其其他工作,在在以后適當(dāng)?shù)牡臅r(shí)候由打印印機(jī)管理器完完成15分鐘鐘的打印輸出出而無需用戶戶干預(yù)。又如Internet上的USENET電子郵件系統(tǒng)統(tǒng),要向某人人發(fā)郵件,先先調(diào)用一個(gè)稱稱為send的程序,send接到要發(fā)的郵郵件,然后將將它送入一個(gè)個(gè)SPOOLing目錄,待以后后發(fā)送。5.2.5出出錯(cuò)處處理設(shè)備和I/O傳輸?shù)某鲥e(cuò)錯(cuò)有多種方式式:短暫出錯(cuò)OS可以彌補(bǔ),,如磁盤read錯(cuò)可以以重read永久錯(cuò)誤OS就不可能從從中恢復(fù)。如如磁盤控制器器故障。I/O系統(tǒng)調(diào)調(diào)用通常返回回一位調(diào)用狀狀態(tài)信息,以以表示成功或或失敗。UNIX系統(tǒng)用用一個(gè)全局變變量表示出錯(cuò)錯(cuò)代碼,以表表示出錯(cuò)原因因。5.3設(shè)備處理5.3.1設(shè)備驅(qū)動(dòng)程序序的功能和特特點(diǎn)一、設(shè)備驅(qū)動(dòng)動(dòng)程序的功能能1.將上層軟件發(fā)發(fā)來的抽象要要求轉(zhuǎn)換為具具體的要求,,發(fā)送給設(shè)備備控制器。如如將盤塊號(hào)轉(zhuǎn)轉(zhuǎn)換為磁盤的的盤面、磁道道號(hào)及扇區(qū)號(hào)號(hào)。2.檢查用戶I/O請(qǐng)求的合法性性,了解設(shè)備備的狀態(tài),傳傳遞有關(guān)參數(shù)數(shù),設(shè)置設(shè)備備的工作方式式。3.發(fā)出I/O命令,若設(shè)備備空閑則啟動(dòng)動(dòng)。若設(shè)備忙忙,則將請(qǐng)求求者的請(qǐng)求塊塊掛在設(shè)備隊(duì)隊(duì)列上。4.及時(shí)響應(yīng)通道道或控制器發(fā)發(fā)來的中斷請(qǐng)求,調(diào)調(diào)用相應(yīng)的中中斷處理程序序。5.對(duì)于設(shè)置有通通道的,自動(dòng)動(dòng)構(gòu)成通道程程序二、設(shè)備處理理方式1.作為應(yīng)用進(jìn)程程的一部分執(zhí)執(zhí)行:與程序序控制I/O相對(duì)應(yīng),難以以對(duì)外設(shè)發(fā)出出的中斷作實(shí)實(shí)時(shí)響應(yīng);2.作為系統(tǒng)進(jìn)程程執(zhí)行:為每類設(shè)備設(shè)設(shè)置一個(gè)進(jìn)程程;或整個(gè)系系統(tǒng)設(shè)置一個(gè)個(gè)I/O進(jìn)程,負(fù)責(zé)對(duì)對(duì)各類設(shè)備的的I/O進(jìn)程的管理;;也可設(shè)置一一個(gè)輸入進(jìn)程程和一個(gè)輸出出進(jìn)程;3.不設(shè)進(jìn)程,作為OS核心中的設(shè)備備驅(qū)動(dòng)程序,供用戶或系系統(tǒng)進(jìn)程調(diào)用用。三、設(shè)備驅(qū)動(dòng)動(dòng)程序的特點(diǎn)點(diǎn)1.設(shè)備驅(qū)動(dòng)程序序是在I/O請(qǐng)求進(jìn)程與設(shè)設(shè)備控制器之之間的橋梁,,中轉(zhuǎn)數(shù)據(jù)和控控制。2.設(shè)備驅(qū)動(dòng)程序序與I/O設(shè)備特性、控控制方式及硬硬件密切相關(guān)關(guān),一般由廠廠商提供。3.向上屏蔽設(shè)備備細(xì)節(jié):不同同類型設(shè)備通通常其設(shè)備驅(qū)驅(qū)動(dòng)程序接口口不同,同類類設(shè)備的接口口相同。因此此,同類設(shè)備備的不同型號(hào)號(hào),只要更換換設(shè)備驅(qū)動(dòng)程程序則可由OS使用。5.3.2設(shè)備驅(qū)動(dòng)程序序的處理過程程1.將抽象要求轉(zhuǎn)轉(zhuǎn)化為具體要要求。2.檢查I/O請(qǐng)求的合法性性3.讀出和檢查設(shè)設(shè)備的狀態(tài)4.傳送參數(shù)5.設(shè)置工作方式式6.啟動(dòng)I/O設(shè)備5.3.3中斷處理程序序的處理過程程1.喚醒被阻塞驅(qū)驅(qū)動(dòng)程序進(jìn)程程2.保護(hù)被中斷進(jìn)進(jìn)程的上下文文3.分析中斷原因因并轉(zhuǎn)入相應(yīng)應(yīng)的中斷處理理程序4.中斷處理5.恢復(fù)被中斷進(jìn)進(jìn)程的現(xiàn)場(chǎng)5.4磁盤存儲(chǔ)器管管理磁盤存儲(chǔ)器::隨機(jī)讀寫共共享設(shè)備,可可移動(dòng)介質(zhì)特點(diǎn):容量大大,速度快。。管理要求:合合理分配空間間、訪問效率率高,容錯(cuò)能能力強(qiáng)。其性性能直接影響響文件系統(tǒng)的的性能指標(biāo)。。5.4.1磁盤的性能簡簡述1、

數(shù)據(jù)據(jù)的組織地址格式:驅(qū)驅(qū)動(dòng)器號(hào)、磁磁道號(hào)、磁頭頭號(hào)、扇區(qū)號(hào)號(hào)2、

磁盤盤的類型(1)固定定頭磁盤(2)移動(dòng)動(dòng)頭磁盤3、

磁盤盤訪問時(shí)間(1)尋道道時(shí)間:與尋尋道距離成正正比(2)旋轉(zhuǎn)轉(zhuǎn)延遲時(shí)間(3)傳輸輸時(shí)間影響磁盤訪問問時(shí)間的主要要參數(shù)是尋道道時(shí)間。5.4.2磁磁盤調(diào)度提高磁盤I/O速度的途途徑:(1)硬硬件解解決(2)好好的調(diào)調(diào)度算法(3)緩緩沖區(qū)區(qū)來自不同進(jìn)程程的磁盤I/O請(qǐng)求構(gòu)成成一個(gè)隨機(jī)分分布的請(qǐng)求隊(duì)隊(duì)列。磁盤I/O調(diào)度算算法的主要目目標(biāo)就是減少少請(qǐng)求隊(duì)列對(duì)對(duì)應(yīng)的平均柱柱面定位時(shí)間間(尋道時(shí)間間)。1、先來先服服務(wù)(FCFS)磁盤I/O執(zhí)執(zhí)行順序?yàn)榇糯疟PI/O請(qǐng)請(qǐng)求的先后順順序。該算法的特點(diǎn)點(diǎn)是公平性;;在磁盤I/O負(fù)載較輕輕且每次讀寫寫多個(gè)連續(xù)扇扇區(qū)時(shí),性能能較好。2、最短尋道道時(shí)間優(yōu)先SSTF(ShortSeekTimeFirst)考慮磁盤I/O請(qǐng)求隊(duì)列列中各請(qǐng)求的的磁頭定位位位置,選擇從從當(dāng)前磁頭位位置出發(fā),移移動(dòng)最少的磁磁盤I/O請(qǐng)請(qǐng)求。該算法法的目標(biāo)是使使每次磁頭移移動(dòng)時(shí)間最少少。訪問磁道與當(dāng)當(dāng)前磁頭所在在位置最近,,但不能保證證平均尋道時(shí)時(shí)間最短,但但比FIFO算法有更好好的性能。進(jìn)進(jìn)程有可能““餓死”。3、掃描(SCAN)算算法:電梯調(diào)度算法法。選擇在磁磁頭前進(jìn)方向向上從當(dāng)前位位置移動(dòng)最少少的磁盤I/O請(qǐng)求執(zhí)行行,沒有前進(jìn)進(jìn)方向上的請(qǐng)請(qǐng)求時(shí)才改變變方向。該算算法是對(duì)SSTF算法的的改進(jìn),磁盤盤I/O較好好,且沒有進(jìn)進(jìn)程會(huì)餓死。。4、循環(huán)掃描描算法CSCAN(CircularSCAN):在一個(gè)方向上上使用掃描算算法,當(dāng)?shù)竭_(dá)達(dá)邊沿時(shí)直接接移動(dòng)到另一一沿的第一個(gè)個(gè)位置,即磁磁頭向一個(gè)方方向移動(dòng),到到頭后立即返返回。該算法法可改進(jìn)掃描描算法對(duì)中間間磁道的偏好好。實(shí)驗(yàn)表明,該該算法在中負(fù)負(fù)載或重負(fù)載載時(shí),磁盤I/O性能比比掃描算法好好。以上算法無法法解決磁臂粘粘著問題。5.N-Step-SCAN算法:把磁盤I/O請(qǐng)求隊(duì)列分成成長度為N的段,每次使使用掃描算法法處理這N個(gè)請(qǐng)求,即將將請(qǐng)求的任務(wù)務(wù)分成長度為為N的若干個(gè)隊(duì)列列,隊(duì)列間的的調(diào)度采用FCFS方式,隊(duì)列內(nèi)內(nèi)部的請(qǐng)求以以SCAN方式調(diào)度。該算法的目標(biāo)標(biāo)是解決磁臂臂粘著問題。。當(dāng)N值很大時(shí),該該算法接近于于SCAN;而N=1時(shí)該算法變?yōu)闉镕CFS。6.FSCAN調(diào)度算法法將N-Step-SCAN算法中的的隊(duì)列數(shù)目定定為2。把磁磁盤I/O請(qǐng)請(qǐng)求分成兩個(gè)個(gè)隊(duì)列,交替替使用掃描算算法處理一個(gè)個(gè)隊(duì)列,新生生成的磁盤I/O請(qǐng)求放放入另一隊(duì)列列中。該算法法的目標(biāo)與N步掃描算法法一致。作業(yè)某磁盤有1000個(gè)個(gè)柱面(0~999),設(shè)磁磁頭當(dāng)前位位置是756,磁頭頭正向0磁磁道運(yùn)動(dòng)。。按照FIFO排列列的磁盤請(qǐng)請(qǐng)求隊(duì)列如如下:811,348,153,968,407,500畫圖說明FCFS、、SCAN、SSTF算法完完成上述磁磁盤請(qǐng)求的的調(diào)度情況況,并計(jì)算算為滿足上上述請(qǐng)求,,各算法中中磁頭運(yùn)動(dòng)動(dòng)的磁道數(shù)數(shù)。5.4.3磁磁盤高速緩緩存1.磁盤高速緩緩存的形式式指利用內(nèi)存存空間暫存存從磁盤中中讀出的盤盤塊信息。。是一組邏邏輯上屬于于磁盤,物物理上駐留留內(nèi)存的盤盤塊。磁盤高速緩緩存在內(nèi)存存中有兩種種形式:大小固定,,不受應(yīng)用用程序多

溫馨提示

  • 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. 人人文庫網(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)論