




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、操作系統(tǒng)教師:孫曉娜郵箱:第六章 設(shè)備管理6.1 設(shè)備管理概述 設(shè)備管理的主要功能 設(shè)備分配 設(shè)備映射 設(shè)備驅(qū)動 i/o緩沖區(qū)管理設(shè)備分配 多道程序系統(tǒng)中的設(shè)備不允許用戶直接使用,而是由操作系統(tǒng)統(tǒng)一調(diào)度和控制 設(shè)備分配功能是設(shè)備管理的基本任務(wù) 設(shè)備分配程序按照一定的策略,為申請設(shè)備的用戶進(jìn)程分配設(shè)備,記錄設(shè)備的使用情況設(shè)備映射 為了提高應(yīng)用軟件對運行平臺的適應(yīng)能力,方便實現(xiàn)應(yīng)用軟件i/o重定向,大多數(shù)現(xiàn)代操作系統(tǒng)均支持應(yīng)用軟件對設(shè)備的無關(guān)性,即通常所說的設(shè)備無關(guān)性或設(shè)備獨立性 設(shè)備無關(guān)性:應(yīng)用軟件所引用的,用于實際i/o操作的設(shè)備與物理i/o系統(tǒng)中實際安裝的設(shè)備沒有固定的聯(lián)系。設(shè)備映射 邏輯設(shè)
2、備和物理設(shè)備 邏輯設(shè)備是指,應(yīng)用軟件所引用的用于實際i/o操作的設(shè)備 物理設(shè)備則指,物理i/o系統(tǒng)中實際安裝的設(shè)備 從應(yīng)用軟件的角度,邏輯設(shè)備上一類物理設(shè)備的抽象,從操作系統(tǒng)設(shè)備管理程序的角度看,物理設(shè)備則是某種邏輯設(shè)備的實例設(shè)備映射 如果某系統(tǒng)支持設(shè)備無關(guān)性,那么該系統(tǒng)中應(yīng)用軟件所引用的邏輯設(shè)備與實際安裝的物理設(shè)備沒有固定的聯(lián)系 事實上,在應(yīng)用軟件運行期間,操作系統(tǒng)的設(shè)備管理程序必須將該應(yīng)用軟件對邏輯設(shè)備的引用轉(zhuǎn)換成對相關(guān)物理設(shè)備的引用 設(shè)備管理的這種功能成為邏輯設(shè)備到物理設(shè)備的映射功能,簡稱為設(shè)備映射功能設(shè)備驅(qū)動 又稱為設(shè)備處理,指對物理設(shè)備進(jìn)行控制,以實現(xiàn)真正的i/o操作 設(shè)備驅(qū)動的主要
3、任務(wù)是:接收上層軟件發(fā)來的抽象服務(wù)請求,例如讀/寫命令,再把它轉(zhuǎn)換為具體要求,通過一系列的i/o指令,控制設(shè)備完成請求的操作,同時,設(shè)備驅(qū)動程序還將設(shè)備發(fā)來的有關(guān)信號傳送給上層軟件,例如,設(shè)備是否已損壞等。 設(shè)備驅(qū)動程序與硬件密切相關(guān),應(yīng)為每一類設(shè)備配置一種驅(qū)動程序 設(shè)備驅(qū)動程序一般由設(shè)備開發(fā)廠商根據(jù)操作系統(tǒng)的要求組織編寫,操作系統(tǒng)僅對與設(shè)備驅(qū)動的接口提出要求,一般不負(fù)責(zé)具體設(shè)備驅(qū)動程序的編寫 有時候,某些硬件無法再某種操作系統(tǒng)中使用,原因很可能就是沒有專門或通用的設(shè)備驅(qū)動程序,或者設(shè)備驅(qū)動程序設(shè)計有問題,使得設(shè)備無法正常工作。i/o緩沖區(qū)的管理功能 為了緩和處理機和外部設(shè)備間速度不匹配的矛盾
4、,提高處理機和外部設(shè)備間的并行性,現(xiàn)代操作系統(tǒng)大都在設(shè)備管理部分引入緩沖技術(shù) 通常,緩沖區(qū)是指內(nèi)存中的若干區(qū)域,用于緩存進(jìn)程與外部設(shè)備間的數(shù)據(jù)傳輸,又稱為i/o緩沖區(qū) i/o緩沖區(qū)管理的任務(wù)是:組織i/o緩沖區(qū),并為使用者提供獲得和釋放i/o緩沖區(qū)的手段通用設(shè)備管理的分層模型 將設(shè)備管理功能模塊分為設(shè)備硬件無關(guān)以及設(shè)備硬件相關(guān)兩個層次 設(shè)備硬件無關(guān)層主要實現(xiàn):i/o緩沖區(qū)管理以及設(shè)備映射功能,該層與設(shè)備用法有關(guān),與設(shè)備硬件無關(guān) 一般地,根據(jù)設(shè)備的用法,該層也可視為虛擬存儲系統(tǒng),文件系統(tǒng)或通信系統(tǒng)通用設(shè)備管理分層模型 設(shè)備硬件相關(guān)層將設(shè)備硬件無關(guān)層與設(shè)備硬件隔離開來 從設(shè)備硬件無關(guān)層的角度看,設(shè)
5、備硬件相關(guān)層為其提供了一個相對簡潔的i/o功能接口,該接口屏蔽了設(shè)備硬件復(fù)雜的操作細(xì)節(jié) 從設(shè)備硬件相關(guān)的內(nèi)部看,該層主要實現(xiàn)設(shè)備驅(qū)動的功能,毫無疑問,該層與設(shè)備硬件密切相關(guān)。支持中斷的設(shè)備管理模型設(shè)備硬件用戶進(jìn)程iocs資源等待隊列i/o等待隊列設(shè)備驅(qū)動程序啟動過程|繼續(xù)過程設(shè)備中斷內(nèi)核中斷管理模塊用戶進(jìn)程設(shè)備無關(guān)層設(shè)備相關(guān)層硬件6.2 計算機i/o子系統(tǒng)的組成 總線型i/o系統(tǒng)的結(jié)果i/o設(shè)備i/o設(shè)備i/o設(shè)備i/o設(shè)備處理機內(nèi)存通道型i/o系統(tǒng)i/o通道i/o通道i/o通道處理機內(nèi)存i/o設(shè)備i/o設(shè)備i/o設(shè)備i/o設(shè)備i/o設(shè)備具有控制器的i/o系統(tǒng)結(jié)構(gòu) 傳統(tǒng)的設(shè)備=機械部分+電子部
6、分 電子部分在系統(tǒng)的控制下驅(qū)動機械部分運轉(zhuǎn),完成i/o操作 由于設(shè)備中電子部分比機械部分的速度快得多,為了減低硬件成本,將電子部分從設(shè)備中分離出來作為一個獨立的部件,這就是控制器 分離之后的設(shè)備僅由機械部分構(gòu)成,一個控制器可與多個設(shè)備相連,交替地或分時地控制與其相關(guān)聯(lián)的設(shè)備,例如,磁盤控制器可以控制多個磁盤驅(qū)動器i/o通道i/o通道處理機內(nèi)存i/o設(shè)備i/o設(shè)備i/o設(shè)備i/o設(shè)備i/o設(shè)備控制器控制器控制器控制器i/o設(shè)備設(shè)備的控制-設(shè)備的尋址與操作 從處理機的角度看,各種外部設(shè)備可以看作是由一組設(shè)備寄存器組成的 常見的設(shè)備寄存器有:操作方式寄存器,命令寄存器,數(shù)據(jù)寄存器,狀態(tài)寄存器 為了使
7、cpu能夠?qū)ぶ愤@些設(shè)備寄存器,硬件平臺引入了i/o端口地址的概念i/o端口地址的編址方式有兩種(1)將設(shè)備寄存器與內(nèi)存物理單元統(tǒng)一編址(2)獨立于內(nèi)存物理地址為設(shè)備寄存器編址無論一個設(shè)備是否由多個控制器控制,或者一個控制器控制了多少個設(shè)備,每一個設(shè)備都能通過這些寄存器的地址唯一確定。設(shè)備的控制-即插即用 隨著外部各種類型增加,設(shè)備間極可能可能發(fā)生沖突,即設(shè)備使用的中斷號,dma,內(nèi)存地址端口地址可能因相同或重疊而導(dǎo)致設(shè)備無法正常工作 手工調(diào)整這些設(shè)備的相關(guān)參數(shù)要求用戶具有較多的計算機硬件知識,并對系統(tǒng)配置的硬件有較全面的了解 顧名思義是指,插上了就可以使用,不需要用戶進(jìn)行其他設(shè)置 “即插即用”
8、技術(shù)取消了跳線和軟件配置程序,當(dāng)用戶插入一個“即插即用”適配卡或設(shè)備時,“即插即用”功能就可以自動進(jìn)行檢測;配置相應(yīng)的接口參數(shù),并安裝相應(yīng)的驅(qū)動程序 對已安裝硬件的自動和動態(tài)識別 包括系統(tǒng)初始安裝時,兩次系統(tǒng)啟動之間以及運行時發(fā)生的硬件事件(如筆記本的對接分離以及設(shè)備的插入/撥出)的響應(yīng) 配合操作系統(tǒng)分配/再分配硬件資源 加載相應(yīng)的驅(qū)動程序 當(dāng)系統(tǒng)中加入新設(shè)備時,如果操作系統(tǒng)中沒有集成相應(yīng)設(shè)備的驅(qū)動程序,則會要求用戶指定驅(qū)動程序的位置并完成驅(qū)動程序的安裝設(shè)備驅(qū)動的程序 設(shè)備驅(qū)動程序一般由設(shè)備制造商提供,不包含在操作系統(tǒng)中 但是,為了方便用戶,操作系統(tǒng)軟件包中通常會集成提供標(biāo)準(zhǔn)的,通用的或者流行
9、的,常用設(shè)備廠商的設(shè)備驅(qū)動程序供用戶選擇 從系統(tǒng)分層的觀點來講,設(shè)備驅(qū)動程序可以說操作系統(tǒng)的一部分,也可以被認(rèn)為硬件設(shè)備的一部分。i/ok控制方式-程序i/o方式在早期的計算機系統(tǒng)中,由于沒有中斷裝置,處理機對于i/o設(shè)備的控制采取程序i/o方式也稱忙等方式或循環(huán)測試方式對于讀操作,這種方式的基本工作過程為:1.處理機向設(shè)備(或設(shè)備控制器)發(fā)出一條i/o指令啟動設(shè)備,輸入數(shù)據(jù),同時將狀態(tài)寄存器中的“忙”標(biāo)志置12.處理機不斷地循環(huán)測試忙標(biāo)志,直到忙標(biāo)志變?yōu)?3.處理機通過i/o讀指令將數(shù)據(jù)從數(shù)據(jù)寄存器中取出,送入內(nèi)存中指定單元4.若數(shù)據(jù)已讀完,則結(jié)束本過程,否則轉(zhuǎn)(1),繼續(xù)讀下一個數(shù)據(jù)在程序
10、i/o方式中,由于處理機的速度非???,而設(shè)備的速度相對較慢,使得處理機的絕大部分時間都處于等待設(shè)備完成數(shù)據(jù)i/o的循環(huán)測試中,造成對cpu 的極大浪費。i/o控制方式-中斷i/o方式對于讀操作,中斷方式的基本工作過程為:1.處理機向設(shè)備(或設(shè)備控制器)發(fā)出一條i/o指令,啟動設(shè)備,輸入數(shù)據(jù)2.處理機完成其他工作,設(shè)備準(zhǔn)備數(shù)據(jù)3.當(dāng)設(shè)備準(zhǔn)備好數(shù)據(jù)并將數(shù)據(jù)存入數(shù)據(jù)寄存器,向處理機發(fā)中斷信號,告知數(shù)據(jù)已準(zhǔn)備好4.處理機響應(yīng)中斷請求,從數(shù)據(jù)寄存器中將數(shù)據(jù)取出,送入內(nèi)存的指定單元5.若數(shù)據(jù)已讀完,結(jié)束,否則,轉(zhuǎn)(1)繼續(xù)中斷方法控制i/o的優(yōu)點在于,設(shè)備與處理機并行,提高了處理機的利用率,性能優(yōu)于程序控
11、制i/o方式i/o控制方式-dma方式 中斷i/o比程序i/o方式高效,但以字/字節(jié)為傳輸單位,每完成一個字/字節(jié)的傳輸,設(shè)備均要向cpu請求一次中斷 對于使用設(shè)備而言,這種方式的效率還是顯得有些低下,因為,頻繁的,大量的中斷所積累的開銷很大 為了進(jìn)一步減少處理機對i/o事務(wù)的干預(yù),出現(xiàn)了dma(direct memory access)直接存儲器訪問方式dma方式的特點 數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊 數(shù)據(jù)直接從設(shè)備送入內(nèi)存,或者直接從內(nèi)存送入設(shè)備 僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時,才需要處理機的干預(yù) 與中斷方式相比,dma方式大大減少了數(shù)據(jù)i/o對處理機的占用,進(jìn)一步提高了處理機的利用率
12、,提高了處理機和i/o設(shè)備的并行操作能力i/o控制方式-i/o通道方式 通道相當(dāng)于一個功能單純的處理機,專門用于處理i/o操作,通道有自己的運控部件和指令系統(tǒng),但沒有專門的內(nèi)存,而是通過“周期竊用”方式與主機共享內(nèi)存 通道通過執(zhí)行通道程序來完成i/o操作 通道程序是通道指令的有序序列,它由系統(tǒng)中的輸入/輸出進(jìn)程根據(jù)用戶進(jìn)程的i/o要求來確定,可以說事先編制好的程序段,頁可以動態(tài)產(chǎn)生,通道程序以及需要與設(shè)備交換的數(shù)據(jù)均放置在內(nèi)存中 一條通道指令可以傳送一組數(shù)據(jù),一個通道程序可以傳送多組數(shù)據(jù),多組數(shù)據(jù)全部傳送完畢后(即一個通道程序執(zhí)行完畢),才向處理機發(fā)出一次中斷 通道不僅可以傳送數(shù)據(jù),更重要的是
13、它還完成對設(shè)備的控制,中通道的協(xié)助下,主機只需要發(fā)出一個啟動通道,執(zhí)行通道程序的指令即可,主機僅與通道直接通信,不必考慮設(shè)備的具體控制以及如何完成數(shù)據(jù)傳送等問題,從而大大減輕量主機的負(fù)擔(dān)。6.3 設(shè)備分類 設(shè)備類型 根據(jù)外部設(shè)備的用途不同,可以將其分為輸入/輸出型設(shè)備與存儲型設(shè)備 根據(jù)外設(shè)傳輸?shù)幕緮?shù)據(jù)單位不同,可以將設(shè)備分為塊型設(shè)備與字符型設(shè)備 按照資源管理的方式不同,可以將設(shè)備分為獨占型設(shè)備和共享型設(shè)備輸入/輸出型vs存儲型設(shè)備 輸入/輸出型設(shè)備:鍵盤、鼠標(biāo)、顯示器、讀卡機、掃描儀、打印機、繪圖儀、數(shù)碼相機等 存儲型設(shè)備:磁帶機、磁盤機等,可用作輸入,也可以用在輸出,主要用于長期保存信息,
14、但需要管理其上的存儲空間 可以在存儲設(shè)備上可以建立文件系統(tǒng),有組織,有結(jié)構(gòu)地長期存儲信息塊型設(shè)備vs字符型設(shè)備 塊型設(shè)備通常就是存儲型設(shè)備,這類設(shè)備由于若干長度相同的塊構(gòu)成 一塊的長度通常是2n 個字節(jié),如256b,512b等,對這類設(shè)備來說,塊是存儲分配的基本單位,也是i/o傳輸?shù)幕締挝?字符型設(shè)備通常就是輸入/輸出型設(shè)備,這類設(shè)備i/o傳輸?shù)幕締挝皇亲止?jié)獨占型vs共享型設(shè)備 獨占型設(shè)備包括所有的字符型設(shè)備及磁帶機 任意時間段內(nèi)最多只能被一個進(jìn)程占用 使用時,進(jìn)程首先向系統(tǒng)申請,可能進(jìn)入阻塞狀態(tài),當(dāng)設(shè)備可用時,喚醒一個等待進(jìn)程,使用完畢以后,進(jìn)程必須釋放設(shè)備 共享型設(shè)備包括除磁帶機以為的
15、所有塊型設(shè)備 i/o傳輸單元:塊 宏觀上,一個共享型設(shè)備可以被多個進(jìn)程同時占用 微觀上,多個進(jìn)程交替使用同一設(shè)備 進(jìn)程使用這類設(shè)備時,無須申請或釋放設(shè)備,也不存在某個進(jìn)程占用設(shè)備的問題6.4 設(shè)備分配 分配:設(shè)備,控制器和通道 需要記錄與他們相關(guān)的信息包括:資源標(biāo)識,物理連接情況,占用進(jìn)程,等待進(jìn)程等 具體實現(xiàn)時,可以將其分為設(shè)備控制塊,控制器控制塊和通道控制塊 這些控制塊中包含的信息之不同的系統(tǒng)中會有所不同設(shè)備控制塊ucb 設(shè)備標(biāo)識 設(shè)備狀態(tài) 相連的控制器 重試次數(shù)(i/o出錯時的重試次數(shù)) 占用設(shè)備的進(jìn)程 設(shè)備等待隊列(指向等待設(shè)備的等待隊列) 通路等待隊列(使用設(shè)備時需要申請相應(yīng)的通道)
16、控制器控制塊cucb 控制器標(biāo)識 控制器狀態(tài) 相連的通道 相連的設(shè)備 占用控制器的進(jìn)程通道控制塊ccb 通道標(biāo)識 通道狀態(tài) 相連的控制器 占用通道的進(jìn)程設(shè)備無關(guān)性 為了實現(xiàn)設(shè)備的無關(guān)性,操作系統(tǒng)要求進(jìn)程申請設(shè)備時,應(yīng)當(dāng)指明所需設(shè)備的類別(或者邏輯設(shè)備名),不能指定某一設(shè)備的具體編號 系統(tǒng)根據(jù)進(jìn)程的請求以及資源分配情況在相應(yīng)類別的設(shè)備中選擇一個空閑的物理設(shè)備,并將其分配給申請者優(yōu)點 提高設(shè)備的利用率,從根本上講,申請者只關(guān)心使用設(shè)備的結(jié)果,不在乎到底使用哪一設(shè)備,假設(shè)申請者指定具體設(shè)備,被指定的設(shè)備可能正在被使用,因而申請無法滿足,而此時,其他同類設(shè)備可能空閑,這將造成資源的浪費和進(jìn)程的不必要等
17、待 程序與設(shè)備無關(guān),假設(shè)申請者指定具體設(shè)備,而被指定的設(shè)備已損壞或未聯(lián)機,則要么程序無法正常的工作,要么修改程序系統(tǒng)設(shè)備表sdt 根據(jù)上述實現(xiàn)要求,系統(tǒng)通常將相同類型設(shè)備的ucb記錄在一張表中,稱作ucb表 將邏輯設(shè)備名,設(shè)備數(shù),設(shè)備等待隊列以及ucb表的起始地址登記證另一個表中,該表通常稱作系統(tǒng)設(shè)備表sdt設(shè)備分配算法 先來先服務(wù) 根據(jù)進(jìn)程對某設(shè)備提出請求的先后次序,將這些進(jìn)程排成一個設(shè)備請求隊列,設(shè)備分配程序總是把設(shè)備分配給隊首的進(jìn)程 優(yōu)先級高者優(yōu)先服務(wù) 根據(jù)進(jìn)程優(yōu)先級的高低,將優(yōu)先級高的進(jìn)程排在設(shè)備等待隊列的前面,對于優(yōu)先級相同的進(jìn)程,則按先來先服務(wù)的原則進(jìn)行排隊,設(shè)備分配程序總是把設(shè)備
18、分配給排在隊首的進(jìn)程獨占型設(shè)備的分配 進(jìn)程使用獨占設(shè)備的過程:申請、使用、釋放 進(jìn)程申請設(shè)備 系統(tǒng)分配設(shè)備 進(jìn)程發(fā)送使用命令 系統(tǒng)將轉(zhuǎn)到設(shè)備驅(qū)動模塊完成一次i/o傳輸 進(jìn)程釋放設(shè)備 系統(tǒng)回收設(shè)備 進(jìn)程回收設(shè)備當(dāng)進(jìn)程的一次設(shè)備申請成功,直到發(fā)出釋放命令期間,一直獨占設(shè)備共享型設(shè)備的分配 進(jìn)程使用共享型設(shè)備不需要申請,當(dāng)然也就不存在占用或釋放設(shè)備的問題 但是,i/o期間只能有一個進(jìn)程使用設(shè)備,因此,進(jìn)程使用共享型設(shè)備之前,有一個隱含的申請命令,使用完畢以后,有一個隱含的釋放命令,以實現(xiàn)一次基本i/o傳輸期間的排他性,保證操作的正常進(jìn)行 使用共享型設(shè)備的過程中,進(jìn)程完全有可能進(jìn)入阻塞等待狀態(tài)。6.5
19、 i/o緩沖技術(shù)緩沖技術(shù)的引入 緩解處理機與設(shè)備間速度比匹配的矛盾 實現(xiàn)設(shè)備 與處理機一定程度的并行操作 減少設(shè)備的中斷頻率,放寬對中斷響應(yīng)時間的限制提前讀 指用戶進(jìn)程從i/o緩沖區(qū)中取走前一個數(shù)據(jù)以后,立即發(fā)出對下一個數(shù)據(jù)的輸入請求 操作系統(tǒng)將在適當(dāng)?shù)臅r候響應(yīng)該請求,以便把用戶進(jìn)程需要的下一個數(shù)據(jù)從用戶進(jìn)程指定的輸入設(shè)備讀入到i/o緩沖區(qū)中 顯然,用戶進(jìn)程加工前一個數(shù)據(jù)的工作與操作系統(tǒng)輸入下一個數(shù)據(jù)的工作可以同時進(jìn)行延后寫 是指,當(dāng)用戶進(jìn)程請求輸出數(shù)據(jù)時,操作系統(tǒng)將很快把用戶進(jìn)程請求輸出的數(shù)據(jù)從用戶進(jìn)程的工作區(qū)中取走并將其暫時存放在i/o緩沖區(qū)中 直到用戶進(jìn)程指定的輸出設(shè)備空閑時,操作系統(tǒng)才
20、把暫時存放在i/o緩沖區(qū)中的用戶進(jìn)程的輸出數(shù)據(jù)寫入用戶進(jìn)程指定的輸出設(shè)備上 顯然用戶進(jìn)程生成下一個輸出數(shù)據(jù)的工作與操作系統(tǒng)輸出前一個輸出數(shù)據(jù)的工作可以同時進(jìn)行硬件緩沖和軟件緩沖 硬件緩沖區(qū)配置在設(shè)備中,具有專門的用途,對處理機透明,不需要處理機的直接管理,不影響系統(tǒng)性能 軟件實現(xiàn)的緩沖區(qū)是內(nèi)存空間的一部分,其目的是為了彌補硬件緩沖區(qū)的不足。因為并非所有外設(shè)都擁有,或者足夠擁有硬件緩沖區(qū) 操作系統(tǒng)中介紹的緩沖區(qū)都是指軟件緩沖區(qū)緩沖區(qū)的組織形式 單緩沖, 雙緩沖, 循環(huán)緩沖 緩沖池單緩沖 簡單,僅在內(nèi)存為進(jìn)程對某個設(shè)備的i/o訪問分配一個緩沖區(qū),如同外部設(shè)備操作系統(tǒng)緩沖區(qū)用戶進(jìn)程 假定,一塊數(shù)據(jù)從
21、外部設(shè)備輸入到內(nèi)存所花費的時間為t,中內(nèi)存中移動所花費的時間為m,被用戶進(jìn)程加工處理花費的時間為c,那么 中沒有使用i/o緩沖區(qū)的情況下,平均每塊數(shù)據(jù)的處理時間近似為t+c 中使用i/o緩沖區(qū)的情況下,平均每塊數(shù)據(jù)的處理時間近似為max(t,c)+m 相對于沒有i/o緩沖區(qū)的情況,單i/o緩沖區(qū)能提高用戶進(jìn)程的運行效率 如果用戶進(jìn)程中對有關(guān)數(shù)據(jù)進(jìn)行加工處理時不釋放i/o緩沖區(qū),那么用戶進(jìn)程的性能并不能得到改善 如果t遠(yuǎn)遠(yuǎn)大于c,即外部設(shè)備的i/o速度比用戶進(jìn)程的計算速度慢得多,那么單i/o緩沖區(qū)不會顯著改善用戶進(jìn)程的性能雙緩沖 增加一個緩沖區(qū),兩個緩沖區(qū)可以交替使用 當(dāng)數(shù)據(jù)從緩沖區(qū)復(fù)制到用戶進(jìn)
22、程空間時,輸入設(shè)備不必等待,可立即開始向另一個緩沖區(qū)輸入數(shù)據(jù),因此,增加了一個緩沖區(qū)以后,前述的平均工作時間近似為:max(t,c) 另外,若用戶進(jìn)程陣發(fā)性i/o的數(shù)據(jù)超過一個緩沖區(qū)而不滿兩個緩沖區(qū),雙緩沖使進(jìn)程不會再i/o數(shù)據(jù)期間被阻塞循環(huán)緩沖 當(dāng)用戶進(jìn)程處理數(shù)據(jù)的速度較快,外部設(shè)備處理數(shù)據(jù)的速度較慢,或者用戶進(jìn)程陣發(fā)性輸入/輸出的數(shù)據(jù)較多時,必須考慮增加緩沖區(qū)的數(shù)量以及改善系統(tǒng)性能,這就是多緩沖區(qū)方式 多個i/o緩沖區(qū)常常被組織成一個環(huán)形隊列,故稱為循環(huán)緩沖 實質(zhì)上,雙緩沖可以看作是循環(huán)緩沖的 一個特例緩沖池 上述三種緩沖區(qū)的組織形式僅適用于某種特定的i/o進(jìn)程和計算進(jìn)程,屬于專用緩沖 當(dāng)
23、系統(tǒng)中的設(shè)備很多時,將會有許多這樣的循環(huán)緩沖區(qū),消耗大量的內(nèi)存空間,而且其利用率也不高 為了提高緩沖區(qū)的利用率,采用采用公共緩沖池技術(shù),其實的緩沖區(qū)可為多個設(shè)備和進(jìn)程服務(wù) 兩種緩沖池:分別用于塊型設(shè)備和字符型設(shè)備 用于塊型設(shè)備的緩沖池:緩沖區(qū)較大,其長度通常與外部設(shè)備物理塊的長度相同 用于字符型設(shè)備的緩沖池:緩沖區(qū)較小,其長度通常為8個字節(jié),16個字節(jié)等 若單個緩沖區(qū)的容量太大會造成資源浪費,而太小的緩沖區(qū)則會增加系統(tǒng)管理開銷 緩沖池中的緩沖區(qū)通常組織成鏈表結(jié)構(gòu) 需要緩沖區(qū)時,從鏈表中申請一個或多個緩沖區(qū),使用完畢時,釋放的緩沖區(qū)將被鏈接到鏈表中 緩沖區(qū)和緩沖池都屬于操作系統(tǒng)空間,用戶進(jìn)程不能
24、直接對緩沖區(qū)的數(shù)據(jù)進(jìn)行操作 只能通過系統(tǒng)調(diào)用間接地使用 或讓操作系統(tǒng)將緩沖區(qū)中的數(shù)據(jù)復(fù)制到用戶進(jìn)程空間或者相反6.6 虛擬設(shè)備虛擬設(shè)備的引入 獨占型設(shè)備的速度一般比較慢,進(jìn)程需要長時間等待i/o傳輸完成,影響進(jìn)程的推進(jìn)速度 進(jìn)程中占用設(shè)備起家不一定一直使用此設(shè)備,而其他申請該設(shè)備的進(jìn)程只能阻塞等待,降低了設(shè)備的利用率,影響其他進(jìn)程的推進(jìn)速度 引入虛擬設(shè)備技術(shù),能解決獨占設(shè)備利用率不高的問題虛擬設(shè)備技術(shù)的實現(xiàn) 虛擬設(shè)備技術(shù)類似于緩沖區(qū)技術(shù),可以認(rèn)為是為設(shè)備提供了更多更大的,甚至在實際工作中是無限長度的緩沖區(qū),進(jìn)一步提高系統(tǒng)效率 虛擬設(shè)備技術(shù)的實現(xiàn):中獨占型設(shè)備與進(jìn)程之間加入一個共享型設(shè)備作為過渡
25、,如圖進(jìn)程內(nèi)存間斷傳輸連續(xù)傳輸某一區(qū)域共享性設(shè)備獨占型設(shè)備 共享型設(shè)備的某一區(qū)域是由若干設(shè)備塊構(gòu)成,對進(jìn)程而言相當(dāng)于真是的設(shè)備 由于共享型設(shè)備較獨占型的速度較快,所以進(jìn)程i/o所需的時間較短,提高了進(jìn)程的推進(jìn)速度 又由于共享型設(shè)備的存儲容量很大,可提供多個這樣的區(qū)域,因而虛擬設(shè)備的數(shù)量多,一段可為每個需要使用設(shè)備的進(jìn)程提供一個,這些進(jìn)程不用排隊等待,他們的推進(jìn)速度也就不受任何影響 這樣,多個進(jìn)程可以同時使用同一獨占型設(shè)備,而每個進(jìn)程對應(yīng)一個虛擬設(shè)備,提高了設(shè)備利用率輸入型虛擬設(shè)備的實現(xiàn) 對于輸入型虛擬設(shè)備,數(shù)據(jù)的流向: 假定用于輸入的獨占型設(shè)備時讀卡機,用于實現(xiàn)虛擬設(shè)備的共享型設(shè)備時磁盤,則對
26、于進(jìn)程所發(fā)出的資料申請命令,使用命令及釋放命令,操作系統(tǒng)需要完成的工作如下:輸入型虛擬設(shè)備的實現(xiàn)1. 申請 分配一臺虛擬設(shè)備(磁盤區(qū)域)分配一臺實設(shè)備(一臺讀卡機),對信息由實設(shè)備連續(xù)地傳輸?shù)教摂M設(shè)備(磁盤區(qū)域)釋放實設(shè)備(讀卡機)2. 使用 將數(shù)據(jù)從虛擬設(shè)備(磁盤區(qū)域)傳輸?shù)竭M(jìn)程空間3. 釋放 回收虛擬設(shè)備(磁盤區(qū)域)輸出型虛擬設(shè)備的實現(xiàn) 對于輸出型虛擬設(shè)備來說,數(shù)據(jù)的流向:內(nèi)存共享型設(shè)備獨占型設(shè)備 假定用于輸出的獨占型設(shè)備上打印機,用于實現(xiàn)虛擬設(shè)備的共享型設(shè)備上磁盤,則對于進(jìn)程所發(fā)出的資源申請命令,使用命令及釋放命令,操作系統(tǒng)需要完成的工作如下: 申請 分配一臺虛擬設(shè)備(磁盤)區(qū)域 使用
27、將數(shù)據(jù)由進(jìn)程空間傳送到虛擬設(shè)備(磁盤區(qū)域) 釋放 申請一臺實設(shè)備(打印機)將數(shù)據(jù)虛擬設(shè)備(磁盤區(qū)域)輸出到實設(shè)備(打印機),回收實設(shè)備(打印機)spooling 系統(tǒng) spooling:simultaneous periphered operation on-line,直譯是“聯(lián)機情況下同時進(jìn)行的外圍設(shè)備操作”。通常稱其為“假脫機操作” spooling系統(tǒng)是虛擬設(shè)備最典型的代表,包括假脫機輸入和輸出系統(tǒng) 核心思想:在快速輔助存儲設(shè)備中建立i/o緩沖區(qū),用于緩存從慢速輸入設(shè)備流入內(nèi)存的時間或緩存從內(nèi)存流向過慢輸出設(shè)備的時間6.7 磁盤設(shè)備的管理磁盤的性能和安全性 磁盤上計算機系統(tǒng)最重要的外部存
28、儲設(shè)備之一 影響磁盤性能和數(shù)據(jù)安全性的重要因素: 磁盤性能參數(shù):轉(zhuǎn)速,尋道時間,磁盤緩存 磁盤控制器:ide,scsi磁盤控制器 raid等磁盤容錯技術(shù) 磁盤管理算法:磁盤調(diào)度算法,磁盤高速緩存,高性能的文件系統(tǒng)磁盤設(shè)備的物理特性 磁盤由若干張圓形的盤片組成,每張盤片上都涂有磁層,用于記錄數(shù)據(jù) 各盤片的圓心固定在一個旋轉(zhuǎn)軸上, 該軸沿固定方向等速地轉(zhuǎn)動,并帶動磁盤組不停地旋轉(zhuǎn) 硬盤每張盤片分為上、下兩個盤面,每個盤面存在若干磁道,同一盤上的所有磁道是繞旋轉(zhuǎn)軸的一組同心圓,所存磁道由外向內(nèi)依次由0開始編號,成為磁道號 磁盤組中各盤面上序號相同的磁道構(gòu)成一個柱面,由外向內(nèi)一次編號,若磁盤組有1個柱
29、面,則編號為0,1,2,n-1,稱為柱面號 若磁盤組共有s個盤片,則共有2s個盤面,但通常最上面和最下面的兩個盤面作為伺服面,用以進(jìn)行控制磁頭定位等操作,并不存放數(shù)據(jù),因而實際可用盤面數(shù)為m=2(s-1),由下至上,編號依次為0,1,2,m-1,稱為盤面號 整個盤面被劃分為若干大小相同的扇面,它把一個磁道等分成若干個區(qū)域,一個區(qū)域稱為一個扇區(qū),數(shù)據(jù)保存在各個扇區(qū)中, 每個扇區(qū)內(nèi)保存的數(shù)據(jù)量相同,為2的冪次 扇區(qū)數(shù)磁盤進(jìn)行i/o 傳輸?shù)幕締挝唬彩谴疟P空間分配的基本單位,若扇區(qū)的數(shù)量為n,則每條磁道的扇區(qū)被一次編號:0,1,2,n-1,稱為扇區(qū)號 磁盤的基本存儲單元(扇區(qū))的尋址方式為三維地址
30、:柱面號,盤面號,扇區(qū)號 為了方便管理及屏蔽存儲設(shè)備的物理細(xì)節(jié),操作系統(tǒng)向上層軟件提供統(tǒng)一的接口,常使用一維地址,即只有邏輯磁盤塊號(邏輯扇區(qū)號),將磁盤組中的扇區(qū)從0開始編號 顯然,這里就存在著一維地址與三維地址相互轉(zhuǎn)換的問題 為了提高效率,對于移動磁頭式磁盤機來說,磁頭引臂的機械運動(尋道)速度過慢,其次才是盤片轉(zhuǎn)動的速度,因此,編排邏輯塊號時,扇區(qū)號先編號,其次是盤面號,最后才是柱面號磁盤的磁頭工作方式 磁盤:固定頭磁盤和移動頭磁盤 固定頭磁盤的每一條磁道上都有一個讀/寫磁頭,所有的磁頭都被安裝在一剛性磁臂中,通過磁頭訪問磁道,可以并行讀/寫。磁道的i/o速度很快 固定頭磁盤的優(yōu)點是訪問
31、速度快,其缺點是成本較高,容易受磁頭數(shù)量限制 移動頭磁盤為每一個盤面配置一個磁頭,所存盤面的磁頭被裝入磁臂中,磁盤i/o時,必須移動磁頭(尋道) 因此,移動頭磁盤只能進(jìn)行讀/寫,i/o速度相對較慢,但由于具有結(jié)構(gòu)簡單,成本較低,容量不變磁頭數(shù)量限制等優(yōu)點,因而被廣泛使用影響磁盤i/o性能的技術(shù) 從磁盤讀數(shù)據(jù)的過程:尋道時間(當(dāng)前位置指定位置)+旋轉(zhuǎn)延遲(定位扇區(qū))+數(shù)據(jù)傳輸時間=訪問時間尋道時間 把磁頭從當(dāng)前位置移動到指定磁道所需的時間,是影響磁盤數(shù)據(jù)傳輸率的重要參數(shù),與磁頭移動的磁道數(shù)量成正比 衡量磁盤的尋道性能時,通常使用平均尋道時間旋轉(zhuǎn)延遲 與磁道轉(zhuǎn)速直接相關(guān),是指旋轉(zhuǎn)磁盤,將指定扇區(qū)移
32、動到磁頭下面所需要的時間傳輸時間 與硬盤的轉(zhuǎn)速和所讀/寫的數(shù)據(jù)長度有關(guān),當(dāng)一次讀/寫的數(shù)據(jù)長度相當(dāng)于半條磁道上的字節(jié)數(shù)時,傳輸時間與平均旋轉(zhuǎn)延遲時間相同 綜上所述,傳統(tǒng)上影響磁道i/o性能的主要技術(shù)指標(biāo)是平均尋道時間和轉(zhuǎn)速,轉(zhuǎn)速則影響平均旋轉(zhuǎn)延遲和數(shù)據(jù)傳輸時間 對于實際的系統(tǒng)而言,較大緩存也對硬盤的i/o性能有較大的影響,但不是決定性的調(diào)整磁盤i/o性能 磁盤的尋道時間和轉(zhuǎn)速時固定不變的 為了提高磁盤的i/o性能,只能從磁盤調(diào)度的方式和訪問數(shù)據(jù)的組織形式上入手,即縮短尋道時間和旋轉(zhuǎn)延遲先來先服務(wù)算法fcfs 這是最公平最簡單的算法,但是效率非常低,只適合于負(fù)載很輕的系統(tǒng)最短尋道時間優(yōu)先算法ss
33、tf 優(yōu)先為距離磁頭當(dāng)前所在位置最近的磁道服務(wù)掃描算法scan 也成為電梯算法,類似電梯的工作原理 假定開始時磁頭處于最外磁道,并向內(nèi)磁道方向移動,在磁頭移動過程中,如果經(jīng)過的磁道有訪問請求,則為其服務(wù),然后,判斷當(dāng)前磁道以內(nèi)的磁道是否還有訪問請求,如果有,則磁頭繼續(xù)向內(nèi)磁帶方向移動,否則,判斷當(dāng)前磁道以外的磁道是否有訪問 這樣的算法比較公平,效率比較高,但是會出現(xiàn)磁臂粘著,磁盤被相應(yīng)的進(jìn)程壟斷,所有其他磁道上的請求將比較長 時間內(nèi)得不到服務(wù)n步掃描算法n-scan n步掃描算法將磁盤請求隊列分成若干個長度為n的子隊列,磁盤調(diào)度程序按照fcfs算法依次出來這些子隊列,而處理每一個子隊列時,按照scan算法 當(dāng)n值取很大時,n步掃描算法的性能與scan算法的性能相當(dāng);當(dāng)n取值為1時,n步掃描算法退化為fcfs算法 實際應(yīng)用中,n步掃描算法被簡化為:只為一次特定的掃描開始前已經(jīng)等待的服務(wù)請求服務(wù),以防止發(fā)生掃描算法中存在的不公平現(xiàn)象,盡管這種不公平的現(xiàn)象對磁頭有利 在一次掃描期間內(nèi)新到達(dá)的訪問請求將只能放在下一次
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TY/T 3802.1-2024健身瑜伽運動裝備使用要求和檢驗方法第1部分:瑜伽墊
- 安徽大學(xué)課題申報書
- 質(zhì)量管理qc課題申報書
- 廳級課題申報書范本
- 量感培養(yǎng)課題立項申報書
- 云教學(xué) 課題申報書
- 司法課題申報書
- 濟南課題申報書
- 辦學(xué)特色課題申報書
- 壓力管道維護(hù)維修合同范本
- 小升初生涯規(guī)劃
- 第二章陸地和海洋【真題訓(xùn)練】(人教版)(原卷版)
- 小吃街概念性規(guī)劃
- 創(chuàng)新小白實操手冊 第2版 課件全套 吳雋 模塊1-8 人人皆可創(chuàng)新-商業(yè)呈現(xiàn)與商業(yè)計劃
- 2024年世界職業(yè)院校技能大賽高職組“關(guān)務(wù)實務(wù)組”賽項參考試題庫(含答案)
- 電商提成合同模板
- 正念八周課件
- 服務(wù)響應(yīng)時間和服務(wù)保障方案
- 蟾蜍毒抗病毒作用機制
- 光伏發(fā)電監(jiān)理合同協(xié)議
- 新能源汽車概論課件 3.1認(rèn)知純電動汽車
評論
0/150
提交評論