計(jì)算機(jī)操作系統(tǒng)第9章 設(shè)備管理1_第1頁
計(jì)算機(jī)操作系統(tǒng)第9章 設(shè)備管理1_第2頁
計(jì)算機(jī)操作系統(tǒng)第9章 設(shè)備管理1_第3頁
計(jì)算機(jī)操作系統(tǒng)第9章 設(shè)備管理1_第4頁
計(jì)算機(jī)操作系統(tǒng)第9章 設(shè)備管理1_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第9章設(shè)備管理在計(jì)算機(jī)系統(tǒng)中,除了CPU和內(nèi)存之外,其他的大部分硬件設(shè)備稱為外部設(shè)備;外部設(shè)備包括常用的輸入輸出設(shè)備、外存設(shè)備以及終端設(shè)備等;外部設(shè)備種類繁多,特性各異,操作方式的差別也很大,從而使得操作系統(tǒng)的設(shè)備管理變得十分復(fù)雜;9.1設(shè)備管理概述

9。1。1設(shè)備分類

計(jì)算機(jī)設(shè)備種類繁多,從不同的角度出發(fā),設(shè)備可分成不同的類型。下面列舉幾種常見的分類方法。按設(shè)備從屬關(guān)系:系統(tǒng)設(shè)備和用戶設(shè)備;按設(shè)備使用特性:存儲(chǔ)設(shè)備和I/O設(shè)備;按設(shè)備共享屬性:獨(dú)占設(shè)備,共享設(shè)備,虛擬設(shè)備:。

按信息交換單位:字符設(shè)備,塊設(shè)備;9。1。2設(shè)備管理的任務(wù)和功能

設(shè)備管理的兩項(xiàng)主要任務(wù)是分配設(shè)備和實(shí)現(xiàn)用戶提出的I/O請(qǐng)求,在完成這兩項(xiàng)任務(wù)時(shí)既要兼顧方便用戶使用又要提高I/O設(shè)備的利用率;為了完成上述任務(wù),設(shè)備管理應(yīng)具備以下功能:

1,設(shè)備分配:根據(jù)用戶的請(qǐng)求,為之分配設(shè)備,包括控制器和通道;

2,設(shè)備處理:實(shí)現(xiàn)具體的I/O操作;

3,緩沖管理:緩沖管理負(fù)責(zé)I/O緩沖區(qū)的分配和釋放及有關(guān)管理工作;

4,設(shè)備獨(dú)立性:又稱設(shè)備無關(guān)性,是指實(shí)現(xiàn)用戶編制程序時(shí)所使用的邏輯設(shè)備與物理設(shè)備的無關(guān)性。9。1。3設(shè)備控制器和I/O通道設(shè)備一般由機(jī)械和電子兩部分組成,電子部分通常稱為設(shè)備控制器。在微機(jī)中,又稱為適配器、接口板或設(shè)備卡;控制器處于CPU與I/O設(shè)備之間,它接收從CPU發(fā)來的命令,并控制I/O設(shè)備的工作;控制器是一個(gè)可編址設(shè)備,當(dāng)它控制一個(gè)設(shè)備時(shí)有一個(gè)設(shè)備地址,當(dāng)它控制多個(gè)設(shè)備則應(yīng)有多個(gè)設(shè)備地址;具體地講,設(shè)備控制器有以下功能:

1,接收和識(shí)別來自CPU的命令;

2,實(shí)現(xiàn)CPU與設(shè)備之間的數(shù)據(jù)交換;

3,記錄設(shè)備的狀態(tài)以供CPU查詢;

4,識(shí)別控制的每個(gè)設(shè)備地址,以選擇設(shè)備;設(shè)備控制器的組成設(shè)備控制器由三部分組成:設(shè)備控制器與處理機(jī)的接口:實(shí)現(xiàn)CPU與設(shè)備控制器之間的通信;設(shè)備控制器與設(shè)備的接口:實(shí)現(xiàn)設(shè)備與設(shè)備控制器之間的通信;I/O邏輯:實(shí)現(xiàn)對(duì)設(shè)備的控制,它負(fù)責(zé)接收命令、對(duì)命令進(jìn)行譯碼、再根據(jù)譯出的命令控制設(shè)備。設(shè)備控制器組成圖CPU與控制器的接口控制器與設(shè)備的接口數(shù)據(jù)寄存器控制/狀態(tài)寄存器I/O邏輯控制器與設(shè)備的接口控制器與設(shè)備的接口┆數(shù)據(jù)狀態(tài)控制數(shù)據(jù)狀態(tài)控制數(shù)據(jù)線地址線控制線┆I/O通道I/O通道(Channel)是大型機(jī)或巨型機(jī)上專門負(fù)責(zé)輸入/輸出工作的處理機(jī)。它具有執(zhí)行通道指令(在IBM上叫通道命令字CCW)的能力,并通過執(zhí)行通道程序來控制I/O操作的實(shí)現(xiàn),通道程序是通道指令的序列;根據(jù)信息交換方式的不同,可將通道分成以下幾種類型:字節(jié)多路通道:它通常含有若干個(gè)非分配型子通道,每個(gè)子通道連接一臺(tái)低速字符設(shè)備,這些子通道按時(shí)間片輪轉(zhuǎn)方式共享主通道,每次交換一個(gè)字節(jié);數(shù)據(jù)選擇通道:又稱數(shù)組選擇通道,該通道含有一個(gè)分配型子通道,子通道連接高速塊設(shè)備。在一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,控制一臺(tái)設(shè)備傳送一批數(shù)據(jù),當(dāng)一道程序執(zhí)行完后,再選擇與通道相連的另一臺(tái)設(shè)備;數(shù)據(jù)多路通道:又稱數(shù)組多路通道,該通道是前兩種通道的結(jié)合,它以分時(shí)方式執(zhí)行幾個(gè)通道程序,執(zhí)行某個(gè)通道程序,為某臺(tái)設(shè)備傳送一組數(shù)據(jù)后,就轉(zhuǎn)向另一個(gè)通道程序?yàn)榱硪慌_(tái)設(shè)備服務(wù);9。1。4I/O系統(tǒng)結(jié)構(gòu)I/O系統(tǒng)結(jié)構(gòu)不盡相同,大致分成兩類:無通道的I/O系統(tǒng)結(jié)構(gòu);有通道的I/O系統(tǒng)結(jié)構(gòu);無通道的I/O系統(tǒng)結(jié)構(gòu)微型機(jī)I/O系統(tǒng)是無通道的,多采用總線I/O系統(tǒng)結(jié)構(gòu),CPU和內(nèi)存直接連接到總線上,I/O設(shè)備通過設(shè)備控制器連接到總線上。磁盤驅(qū)動(dòng)器CPU存儲(chǔ)器磁盤控制器打印機(jī)控制器其他控制器…打印機(jī)有通道的I/O系統(tǒng)結(jié)構(gòu)當(dāng)系統(tǒng)的設(shè)備較多,若所有設(shè)備都通過總線與CPU通信則總線的負(fù)擔(dān)過重。為此在I/O系統(tǒng)結(jié)構(gòu)中增加了一級(jí)I/O通道。

存儲(chǔ)器通道1通道2控制器2控制器3控制器1控制器4設(shè)備1設(shè)備2設(shè)備3設(shè)備4設(shè)備5設(shè)備6設(shè)備7設(shè)備8多通路I/O系統(tǒng)示意圖多通路系統(tǒng)使得設(shè)備之間可以與控制器和通道交叉連接,這樣每臺(tái)設(shè)備就有多條與主機(jī)交換信息的通路,從而減少了通道和控制器的數(shù)量和提高了它們的利用率。存儲(chǔ)器通道1通道2控制器2控制器1設(shè)備1設(shè)備3設(shè)備5設(shè)備79.2I/O控制方式在《計(jì)算機(jī)組成原理》里已經(jīng)講過,常用的I/O控制方式有以下幾種:程序直接控制方式;中斷控制方式;直接存儲(chǔ)器存?。―MA)控制方式;通道控制方式;外圍處理機(jī)方式;程序直接控制方式流程工作方式簡單,但占用了很多CPU機(jī)時(shí);向I/O控制器發(fā)出讀命令讀I/O控制器的狀態(tài)傳送完成?檢查狀態(tài)?從I/O控制器中讀入數(shù)據(jù)就緒向存儲(chǔ)器中寫入數(shù)據(jù)繼續(xù)往下未就緒YN出錯(cuò)中斷控制方式流程這種方式主要用于字符設(shè)備;數(shù)據(jù)是在中斷處理時(shí)傳送的;CPU可與設(shè)備并行工作;向I/O控制器發(fā)出讀命令讀I/O控制器的狀態(tài)傳送完成?檢查狀態(tài)?出錯(cuò)從I/O控制器中讀入數(shù)據(jù)就緒向存儲(chǔ)器中寫入數(shù)據(jù)NY執(zhí)行下條指令CPU做其他事情中斷DMA控制方式

DMA控制方式的思想是在設(shè)備與內(nèi)存之間設(shè)置一個(gè)DMA控制器,在控制器的控制下,設(shè)備和內(nèi)存之間可以成批地進(jìn)行數(shù)據(jù)交換,每交換一塊中斷一次CPU;在一塊數(shù)據(jù)傳送期間,CPU并行工作;這種方式主要用于塊設(shè)備;為實(shí)現(xiàn)內(nèi)存與設(shè)備之間成塊數(shù)據(jù)的直接交換,必須在DMA控制器中設(shè)置如下寄存器:命令/狀態(tài)寄存器CR:存放命令及狀態(tài);內(nèi)存地址寄存器MAR:存放內(nèi)存起始地址;數(shù)據(jù)寄存器DR:中轉(zhuǎn)傳送的數(shù)據(jù);數(shù)據(jù)計(jì)數(shù)器DC:計(jì)數(shù)傳送的字(節(jié))數(shù);DMA控制器的組成控制器與塊設(shè)備的接口主機(jī)-控制器接口DRI/O控制邏輯系統(tǒng)總線命令CPU內(nèi)存countMARDCCRDMA控制器DMA工作過程設(shè)置MAR和DC初值請(qǐng)求中斷啟動(dòng)DMA傳送命令挪用存儲(chǔ)器周期傳送數(shù)據(jù)字存儲(chǔ)器地址加1;字計(jì)數(shù)寄存器減1NYDC=0?準(zhǔn)備又一次傳送通道控制方式

通道控制方式是DMA控制方式的發(fā)展,它所需的CPU干預(yù)更少;通道控制方式與DMA方式類似,也是一種以內(nèi)存為中心,實(shí)現(xiàn)設(shè)備與內(nèi)存直接交換數(shù)據(jù)的控制方式;在通道控制方式中,CPU只需發(fā)出啟動(dòng)指令,指出要求通道執(zhí)行的操作和使用的I/O設(shè)備,該指令就可以啟動(dòng)通道并使該通道從內(nèi)存中調(diào)出相應(yīng)的通道程序執(zhí)行。以輸入為例,其過程為:通道工作過程CPU做其他事情中斷向通道發(fā)讀命令并指明使用的設(shè)備進(jìn)行中斷處理讀出通道程序并設(shè)置控制器中的狀態(tài)寄存器執(zhí)行通道程序控制設(shè)備輸入數(shù)據(jù)傳輸結(jié)束發(fā)中斷9.3緩沖技術(shù)在現(xiàn)代計(jì)算機(jī)系統(tǒng),外部設(shè)備與主機(jī)的信息交換都是要經(jīng)過緩沖存儲(chǔ)器的,因此,緩存管理也是設(shè)備管理的重要組成部分。9。3。1緩沖的引入引入緩沖的主要原因有:緩和CPU及各種設(shè)備之間速度不匹配的矛盾;提高CPU與I/O設(shè)備并行工作的程度;減少設(shè)備對(duì)CPU的中斷頻率,放寬CPU對(duì)中斷響應(yīng)時(shí)間的限制;實(shí)現(xiàn)一次I/O信息的重復(fù)使用;緩存使用的說明

緩存使用的說明:左,緩沖設(shè)備之間速度不匹配的矛盾;右,一次I/O信息多次使用;內(nèi)存緩存緩存內(nèi)存卡片機(jī)打印機(jī)磁盤進(jìn)程A進(jìn)程B緩沖實(shí)現(xiàn)技術(shù)緩沖的實(shí)現(xiàn)技術(shù)分為:單緩沖;雙緩沖;循環(huán)緩沖;緩沖池;1.單緩沖單緩沖是在設(shè)備和處理機(jī)(或設(shè)備)之間設(shè)置一個(gè)緩沖區(qū);以塊設(shè)備I/O為例,輸入時(shí),先把一塊數(shù)據(jù)輸入至緩沖區(qū),然后OS將緩沖區(qū)中的數(shù)據(jù)送到用戶區(qū);在塊設(shè)備輸出時(shí),先將要輸出的數(shù)據(jù)從用戶區(qū)復(fù)制到緩沖區(qū),然后再將緩沖區(qū)中的數(shù)據(jù)寫到設(shè)備上;設(shè)從設(shè)備輸一塊信息到緩存的時(shí)間為t,OS將緩存的信息傳送到用戶區(qū)的時(shí)間為m,CPU計(jì)算的時(shí)間為c,則系統(tǒng)處理一塊信息的時(shí)間為max(c,t)+m;磁鼓緩存進(jìn)程用戶區(qū)tm進(jìn)程計(jì)算c2.雙緩沖引入雙緩沖,可以進(jìn)一步提高處理機(jī)與設(shè)備的并行操作度;在塊設(shè)備輸入時(shí),可先將第一個(gè)緩沖區(qū)裝滿,之后便裝填第二個(gè)緩沖區(qū),與此同時(shí)OS可將第一個(gè)緩沖區(qū)中的數(shù)據(jù)傳到用戶區(qū);當(dāng)?shù)谝粋€(gè)緩沖區(qū)中的數(shù)據(jù)處理完后,若第二個(gè)緩沖區(qū)已裝滿,則處理機(jī)又可處理第二個(gè)緩沖區(qū)中的數(shù)據(jù),而設(shè)備又可裝填第一個(gè)緩沖區(qū)。如此循環(huán);在與前面的假設(shè)相同的情況下,此時(shí)處理一塊信息的時(shí)間為:max(t,c);操作系統(tǒng)I/O設(shè)備輸入用戶進(jìn)程傳送3.循環(huán)緩沖循環(huán)緩沖中包含多個(gè)大小相等的緩沖區(qū),每個(gè)緩沖區(qū)中有一個(gè)指針指向下一個(gè)緩沖區(qū),最后一個(gè)緩沖區(qū)的指針指向第一個(gè)緩沖區(qū),由此構(gòu)成一個(gè)環(huán)形;循環(huán)緩沖用于輸入/輸出時(shí),還需要兩個(gè)指針in和out;對(duì)于輸入而言,in指向下一個(gè)可用的空緩沖區(qū),out指向下一個(gè)可以提取數(shù)據(jù)的滿緩沖區(qū)。對(duì)輸出而言正好相反;由于循環(huán)緩沖由多個(gè)緩沖區(qū)組成,使得用戶進(jìn)程有足夠的緩沖區(qū)使用,從而提高了運(yùn)行速度;操作系統(tǒng)I/O設(shè)備輸入用戶進(jìn)程傳送inout4.緩沖池前面三種緩沖技術(shù)都是將一個(gè)或多個(gè)緩存分給一個(gè)進(jìn)程固定使用,當(dāng)進(jìn)程較多時(shí),緩存的空間開銷很大。緩沖池由多個(gè)緩沖區(qū)組成,使用的是動(dòng)態(tài)分配策略,即這些緩沖區(qū)是所有進(jìn)程共用的,是動(dòng)態(tài)地分配和回收的。這樣就可以有限數(shù)量的緩存滿足多個(gè)進(jìn)程的需要;緩沖池中有三種類型的緩沖區(qū)隊(duì)列:空緩沖隊(duì)列:由空閑緩沖區(qū)構(gòu)成的隊(duì)列;輸入隊(duì)列:裝滿輸入數(shù)據(jù)的緩沖區(qū)隊(duì)列;輸出隊(duì)列:裝滿輸出數(shù)據(jù)的緩沖區(qū)隊(duì)列;除上述三個(gè)隊(duì)列之外,還有四種工作緩沖區(qū):用于收容輸入數(shù)據(jù)的工作緩沖區(qū);用于提取輸入數(shù)據(jù)的工作緩沖區(qū);用于收容輸出數(shù)據(jù)的工作緩沖區(qū);用于提取輸出數(shù)據(jù)的工作緩沖區(qū);9.4設(shè)備分配在實(shí)際系統(tǒng)中,設(shè)備分配有多種方式,如人工分配,以作業(yè)為單位的靜態(tài)分配等。這里所說的分配,指的是以進(jìn)程為單位的動(dòng)態(tài)分配;當(dāng)進(jìn)程提出設(shè)備請(qǐng)求時(shí),設(shè)備分配程序便按照一定的策略為其分配設(shè)備,必要時(shí)還應(yīng)分配相應(yīng)的控制器和通道,以保證信息交換通路的暢通;9。4。1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)

設(shè)備分配依據(jù)的主要數(shù)據(jù)結(jié)構(gòu)有:設(shè)備控制表;控制器控制表;通道控制表;系統(tǒng)設(shè)備表;設(shè)備控制表(DCT)系統(tǒng)為每個(gè)設(shè)備配置一張?jiān)O(shè)備控制表,用于記錄設(shè)備的特性及與I/O控制器連接的情況。設(shè)備控制表設(shè)備類型設(shè)備標(biāo)識(shí)符設(shè)備狀態(tài):忙/閑指向控制器表的指針設(shè)備等待隊(duì)列指針…控制器控制表(COCT)控制器控制表也是每個(gè)控制器一張,它反映I/O控制器的使用狀態(tài)以及和通道的連接情況。控制器控制表控制器標(biāo)識(shí)符控制器狀態(tài):忙/閑指向通道表的指針控制器等待隊(duì)列指針…通道控制表(CHCT)每個(gè)通道都配有一張通道控制表,它反映通道的使用狀態(tài)。通道控制表通道標(biāo)識(shí)符通道狀態(tài):忙/閑通道等待隊(duì)列指針…系統(tǒng)設(shè)備表(SDT)系統(tǒng)設(shè)備表整個(gè)系統(tǒng)一張,它記錄了系統(tǒng)中所有物理設(shè)備的情況,每個(gè)物理設(shè)備占一個(gè)表目。系統(tǒng)設(shè)備表SDT表目1表目2┆表目n設(shè)備類型設(shè)備標(biāo)識(shí)符指向設(shè)備控制表的指針驅(qū)動(dòng)程序入口9。4。2設(shè)備分配策略

系統(tǒng)在進(jìn)行設(shè)備分配時(shí),應(yīng)考慮以下因素:設(shè)備的使用性質(zhì);設(shè)備分配算法;設(shè)備分配的安全性;設(shè)備獨(dú)立性;設(shè)備的使用性質(zhì)設(shè)備使用時(shí)有三種類型:獨(dú)占:這種設(shè)備在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程使用;共享:這種設(shè)備允許多個(gè)進(jìn)程“同時(shí)”使用;虛擬:設(shè)備本身雖是獨(dú)占設(shè)備,但經(jīng)過某種技術(shù)處理后可改造成“同時(shí)”使用設(shè)備。

針對(duì)上述三種設(shè)備可采用三種不同的分配方式。不同的分配方式獨(dú)占式分配:在將一個(gè)設(shè)備分配給某進(jìn)程后便一直由它獨(dú)占,直至該進(jìn)程完成或釋放該設(shè)備后,系統(tǒng)才能再將該設(shè)備分配給其他進(jìn)程使用;共享式分配:將設(shè)備分配給多個(gè)進(jìn)程“同時(shí)”使用。但這些進(jìn)程對(duì)設(shè)備的使用需要合理調(diào)度;虛擬式分配:當(dāng)進(jìn)程申請(qǐng)獨(dú)占設(shè)備時(shí),系統(tǒng)給它分配共享設(shè)備上的一部分存儲(chǔ)空間;當(dāng)進(jìn)程要與獨(dú)占設(shè)備交換信息時(shí),系統(tǒng)把要交換的信息存放在這部分存儲(chǔ)空間中;在適當(dāng)?shù)臅r(shí)候,將設(shè)備上的信息傳輸?shù)酱鎯?chǔ)空間中或?qū)⒋鎯?chǔ)空間中的信息傳送到設(shè)備。設(shè)備分配算法設(shè)備分配通常只采用以下兩種算法:先來先服務(wù):根據(jù)進(jìn)程對(duì)某設(shè)備發(fā)出請(qǐng)求的先后次序,將它們排成一個(gè)設(shè)備請(qǐng)求隊(duì)列,設(shè)備分配程序總是把設(shè)備首先分配給隊(duì)首進(jìn)程;優(yōu)先級(jí)高者優(yōu)先:按對(duì)某設(shè)備提出I/O請(qǐng)求的進(jìn)程優(yōu)先級(jí)由高到低排隊(duì),對(duì)優(yōu)先級(jí)相同的I/O請(qǐng)求,按先來先服務(wù)的算法排隊(duì),設(shè)備分配程序總是把設(shè)備首先分配給隊(duì)首進(jìn)程;設(shè)備分配的安全性設(shè)備分配的安全性是指在設(shè)備分配中應(yīng)保證不發(fā)生進(jìn)程死鎖;顯然,設(shè)備的靜態(tài)分配方式是不會(huì)產(chǎn)生死鎖的;設(shè)備的動(dòng)態(tài)分配是在系統(tǒng)的運(yùn)行過程中,在進(jìn)程

溫馨提示

  • 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)論