計(jì)算機(jī)外部設(shè)備管理_第1頁(yè)
計(jì)算機(jī)外部設(shè)備管理_第2頁(yè)
計(jì)算機(jī)外部設(shè)備管理_第3頁(yè)
計(jì)算機(jī)外部設(shè)備管理_第4頁(yè)
計(jì)算機(jī)外部設(shè)備管理_第5頁(yè)
已閱讀5頁(yè),還剩100頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章設(shè)備管理在此,“設(shè)備〞泛指計(jì)算機(jī)系統(tǒng)中的外部設(shè)備,即除主機(jī)以外的其他所有設(shè)備。4.1概述

4.1.1計(jì)算機(jī)設(shè)備的分類(lèi)

可以從不同的角度對(duì)外部設(shè)備進(jìn)行分類(lèi)?!?〕基于設(shè)備的附屬關(guān)系,可以把系統(tǒng)中的設(shè)備分為系統(tǒng)設(shè)備與用戶設(shè)備兩類(lèi)。系統(tǒng)設(shè)備用戶設(shè)備〔2〕基于設(shè)備的分配特性,可以把系統(tǒng)中的設(shè)備分為獨(dú)享設(shè)備、共享設(shè)備和虛擬設(shè)備三類(lèi)。獨(dú)享設(shè)備共享設(shè)備虛擬設(shè)備〔3〕基于設(shè)備的工作特性,可以把系統(tǒng)中的設(shè)備分為輸入/輸出設(shè)備和存儲(chǔ)設(shè)備兩類(lèi)。輸入/輸出設(shè)備存儲(chǔ)設(shè)備磁帶是一種嚴(yán)格按照信息存放物理順序進(jìn)行定位與存取的存儲(chǔ)設(shè)備。磁帶機(jī)的啟停必須要考慮到物理上慣性的作用,當(dāng)啟動(dòng)讀磁帶上的下一個(gè)記錄時(shí),必須經(jīng)過(guò)一段時(shí)間,才能使磁帶從靜止加速到額定速度;從讀完一個(gè)記錄后,到真正停下來(lái),又要滑過(guò)一小段距離。因此,磁帶上每個(gè)記錄之間要安排有所謂的“記錄間隙〔IRG〕〞存在。圖4-1記錄與記錄間隙〔IRG〕磁帶寫(xiě)時(shí),是在緩沖區(qū)中把假設(shè)干個(gè)記錄拼裝成一塊,然后寫(xiě)出,這個(gè)過(guò)程被稱(chēng)為“記錄的成組〞;磁帶讀時(shí),是先把一塊讀到內(nèi)存緩沖區(qū),然后從中挑選出所需要的記錄,這個(gè)過(guò)程被稱(chēng)為“記錄的分解〞。因此,它越來(lái)越成為現(xiàn)代計(jì)算機(jī)系統(tǒng)中一個(gè)不可缺少的重要組成局部。圖4-2磁盤(pán)結(jié)構(gòu)示意圖4.1.2設(shè)備管理的目標(biāo)與功能1.設(shè)備管理的目標(biāo)操作系統(tǒng)設(shè)備管理的目標(biāo)之一是提高外部設(shè)備的利用率。

操作系統(tǒng)設(shè)備管理的目標(biāo)之二是為用戶提供便利、統(tǒng)一的使用界面。2.設(shè)備管理的功能設(shè)備管理必須具有如下功能:〔1〕提供一組I/O命令,以便用戶進(jìn)程能夠在程序一級(jí)發(fā)出所需要的I/O請(qǐng)求,這就是用戶使用外部設(shè)備的“界面〞?!?〕進(jìn)行設(shè)備的分配與回收?!?〕對(duì)緩沖區(qū)管理?!?〕實(shí)現(xiàn)真正的I/O操作。4.2輸入/輸出的處理步驟

4.2.1I/O請(qǐng)求的提出

輸入/輸出請(qǐng)求來(lái)自用戶作業(yè)進(jìn)程。圖4-3I/O請(qǐng)求的處理步驟4.2.2對(duì)I/O請(qǐng)求的管理

設(shè)備的輸入/輸出管理程序由三塊內(nèi)容組成:接受用戶的I/O請(qǐng)求,組織管理輸入/輸出的進(jìn)行,以及輸入/輸出完成后的善后處理。4.2.3I/O請(qǐng)求的具體實(shí)現(xiàn)

在操作系統(tǒng)的設(shè)備管理中,是由設(shè)備驅(qū)動(dòng)程序來(lái)具體實(shí)現(xiàn)I/O請(qǐng)求的。設(shè)備驅(qū)動(dòng)程序有時(shí)也稱(chēng)為輸入輸出處理程序,它必須使用有關(guān)輸入/輸出的特權(quán)指令來(lái)與設(shè)備硬件進(jìn)行交往,以便真正實(shí)現(xiàn)用戶的輸入/輸出操作要求。4.3設(shè)備的分配與調(diào)度算法

4.3.1管理設(shè)備時(shí)的數(shù)據(jù)結(jié)構(gòu)為了管理系統(tǒng)中的外部設(shè)備,操作系統(tǒng)為每一臺(tái)設(shè)備開(kāi)辟一個(gè)存儲(chǔ)區(qū),隨時(shí)記錄系統(tǒng)中每一臺(tái)設(shè)備的根本信息,這個(gè)存儲(chǔ)區(qū)被稱(chēng)為“設(shè)備控制塊DCB〔DeviceControlBlock〕〞。圖4-4設(shè)備控制塊DCB及設(shè)備請(qǐng)求隊(duì)列因?yàn)樵O(shè)備控制塊DCB中存放的是一臺(tái)具體設(shè)備的有關(guān)信息,找到一個(gè)設(shè)備的DCB,就得到了該設(shè)備的特性、各種參數(shù)、使用情況等,所以DCB是設(shè)備管理中最重要的一種數(shù)據(jù)結(jié)構(gòu)。圖4-5系統(tǒng)設(shè)備表SDT為了管理設(shè)備,系統(tǒng)除了為每個(gè)設(shè)備設(shè)置DCB外,整個(gè)系統(tǒng)還要有一張所謂的“系統(tǒng)設(shè)備表〔SDT—SystemDeviceTable〕〞。圖4-5系統(tǒng)設(shè)備表SDT4.3.2獨(dú)享設(shè)備的分配“獨(dú)享設(shè)備〞即是在使用上具有排它性的設(shè)備。

獨(dú)享設(shè)備的使用具有排它性,因此對(duì)這類(lèi)設(shè)備只能采取“靜態(tài)分配〞的策略。為了管理起見(jiàn),系統(tǒng)在內(nèi)部對(duì)每一臺(tái)設(shè)備進(jìn)行編號(hào),以便相互識(shí)別。設(shè)備的這種內(nèi)部編號(hào)稱(chēng)為設(shè)備的“絕對(duì)號(hào)〞。為了便于區(qū)分,防止混亂,允許用戶對(duì)自己要求使用的幾臺(tái)相同類(lèi)型的設(shè)備進(jìn)行編號(hào)。這種編號(hào)出自于用戶,因此稱(chēng)為設(shè)備的“相對(duì)號(hào)〞。用戶是通過(guò)“設(shè)備類(lèi),相對(duì)號(hào)〞來(lái)提出使用設(shè)備的請(qǐng)求的。操作系統(tǒng)設(shè)置兩種表,一是“設(shè)備類(lèi)表〞,整個(gè)系統(tǒng)就只有一張?jiān)O(shè)備類(lèi)表;一是“設(shè)備表〞,每一類(lèi)設(shè)備有一張。圖4-7設(shè)備類(lèi)表和設(shè)備表對(duì)于獨(dú)享設(shè)備,常采用的分配算法有如下兩種:〔1〕先來(lái)先效勞〔2〕優(yōu)先級(jí)高者先效勞4.3.3共享磁盤(pán)的調(diào)度

當(dāng)有很多進(jìn)程向磁盤(pán)提出I/O請(qǐng)求時(shí),對(duì)它們就有一個(gè)調(diào)度安排問(wèn)題:讓誰(shuí)先用,讓誰(shuí)后用。執(zhí)行一次磁盤(pán)的輸入/輸出需要花費(fèi)的時(shí)間有如下幾種。〔1〕查找時(shí)間:在移動(dòng)臂的帶動(dòng)下,把磁頭移動(dòng)到指定柱面所需要的時(shí)間?!?〕等待時(shí)間:將指定的扇區(qū)旋轉(zhuǎn)到磁頭下所需要的時(shí)間?!?〕傳輸時(shí)間:由磁頭進(jìn)行讀/寫(xiě),完成信息傳送所需要的時(shí)間。圖4-8磁盤(pán)的訪問(wèn)過(guò)程1.“先來(lái)先效勞〞調(diào)度算法以I/O請(qǐng)求到達(dá)的先后次序作為磁盤(pán)調(diào)度的順序,這就是先來(lái)先效勞調(diào)度算法。圖4-9先來(lái)先效勞磁盤(pán)調(diào)度算法2.“最短查找時(shí)間優(yōu)先〞調(diào)度算法把距離磁頭當(dāng)前位置最近的I/O請(qǐng)求作為下一次調(diào)度的對(duì)象,這就是最短查找時(shí)間優(yōu)先調(diào)度算法。圖4-10最短查找時(shí)間優(yōu)先磁盤(pán)調(diào)度算法3.“電梯〞調(diào)度算法總是沿著移動(dòng)臂的移動(dòng)方向選擇距離磁頭當(dāng)前位置最近的I/O請(qǐng)求作為下一次調(diào)度的對(duì)象。如果該方向上已無(wú)I/O請(qǐng)求,那么改變方向再做選擇。圖4-11電梯調(diào)度算法〔1〕圖4-12電梯調(diào)度算法〔2〕4.“單向掃描〞調(diào)度算法單向掃描調(diào)度算法總是從0號(hào)柱面開(kāi)始往里移動(dòng)移動(dòng)臂,遇到有I/O請(qǐng)求就進(jìn)行處理,直到到達(dá)最后一個(gè)請(qǐng)求柱面。然后移動(dòng)臂立即帶動(dòng)磁頭不做任何效勞地快速返回到0號(hào)柱面,開(kāi)始下一次掃描。圖4-13單向掃描調(diào)度算法例4-1一個(gè)具有40個(gè)柱面的磁盤(pán),現(xiàn)在正在處理柱面11上的I/O請(qǐng)求。這時(shí)又順序到達(dá)新的請(qǐng)求,涉及的磁道是1、36、16、34、9和12。分別采用先來(lái)先效勞、最短查找時(shí)間優(yōu)先以及電梯調(diào)度算法,試問(wèn)它們各需要滑過(guò)多少柱面?為了減少移動(dòng)臂移動(dòng)時(shí)花費(fèi)的時(shí)間,通常信息〔也就是文件〕不是按照盤(pán)面上的磁道順序存放。磁盤(pán)上磁盤(pán)塊〔即扇區(qū)〕的編號(hào)按照柱面的順序進(jìn)行〔從0開(kāi)始〕,每個(gè)柱面按照柱面上的磁道順序〔也就是按照磁頭順序〕進(jìn)行〔從0開(kāi)始〕,每個(gè)磁道按照扇區(qū)順序進(jìn)行〔從0開(kāi)始〕。假定用c表示每個(gè)柱面上的磁道數(shù),用s表示每個(gè)盤(pán)面上的扇區(qū)數(shù),那么第i個(gè)柱面、j磁頭、k扇區(qū)所對(duì)應(yīng)的磁盤(pán)塊號(hào)b可以用如下的公式計(jì)算: b

=

k

+

s

×

(j

+

i

×

c) 〔1〕同樣地,根據(jù)給出的磁盤(pán)塊號(hào),也可以計(jì)算出它在磁盤(pán)上的位置〔即它位于的柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)〕。仍以上面的假定為前提,現(xiàn)在要求第p個(gè)磁盤(pán)塊在磁盤(pán)上的位置。令D=s*c〔每個(gè)柱面上擁有的磁盤(pán)塊數(shù)〕,設(shè)M

=

p/D,N

=

p%D〔注意,這里的“/〞和“%〞分別表示整除和求余〕。于是,求第p塊在磁盤(pán)上位置的公式為柱面號(hào)

=

M;磁頭號(hào)

=

N

/s;扇區(qū)號(hào)

=

N

%s〔2〕例4-2假定一個(gè)磁盤(pán)組共有100個(gè)柱面,每個(gè)柱面上有8個(gè)磁道,每個(gè)盤(pán)面被劃分成8個(gè)扇區(qū)?,F(xiàn)在有一個(gè)含6400個(gè)記錄的文件,記錄大小與扇區(qū)尺寸相同,編號(hào)從0開(kāi)始。該文件從0柱面、0磁道、0扇區(qū)順序存放。試問(wèn):a.該文件的第3680個(gè)記錄應(yīng)該存放在磁盤(pán)的哪個(gè)位置?b.第78柱面的第6磁道的第6扇區(qū)中應(yīng)該存放該文件的第幾個(gè)記錄?4.4數(shù)據(jù)傳輸?shù)姆绞?/p>

數(shù)據(jù)傳輸,或發(fā)生在I/O設(shè)備與內(nèi)存之間,或發(fā)生在I/O設(shè)備與CPU之間。所謂“數(shù)據(jù)傳輸?shù)姆绞建?,就是討論在進(jìn)行輸入/輸出時(shí),I/O設(shè)備與CPU誰(shuí)做什么的問(wèn)題。4.4.1設(shè)備控制器為了使設(shè)計(jì)模塊化、具有通用性,也為了降低設(shè)備本錢(qián),通??偸前堰@兩局部分開(kāi):機(jī)械局部稱(chēng)為設(shè)備本身,電子局部稱(chēng)為“設(shè)備控制器〔或適配器〕〞。設(shè)備掛接在控制器上,因此要讓設(shè)備做輸入/輸出操作,操作系統(tǒng)總是與控制器交往,而不是與設(shè)備交往。圖4-15CPU與控制器之間的單總線模型4.4.2程序循環(huán)測(cè)試方式在早期的計(jì)算機(jī)系統(tǒng)中,都是采用程序循環(huán)測(cè)試的方式來(lái)控制數(shù)據(jù)傳輸?shù)摹?.4.3中斷方式所謂“中斷〞,是一種使CPU暫時(shí)中止正在執(zhí)行的程序而轉(zhuǎn)去處理特殊事件的操作。能夠引起中斷的事件稱(chēng)為“中斷源〞,它們可能是計(jì)算機(jī)的一些異常事故或其他內(nèi)部原因〔比方缺頁(yè)〕,更多的是來(lái)自外部設(shè)備的輸入輸出請(qǐng)求。程序中產(chǎn)生的中斷,由CPU的某些錯(cuò)誤結(jié)果〔如計(jì)算溢出〕產(chǎn)生的中斷稱(chēng)為“內(nèi)中斷〞;由外部設(shè)備控制器引起的中斷成為“外中斷〞。圖4-16中斷方式的數(shù)據(jù)傳輸4.4.4直接存儲(chǔ)器存取〔DMA〕方式直接存儲(chǔ)器存取方式即是通常所說(shuō)的DMA〔DirectMemoryAccess〕方式,主要適用于一些高速的I/O設(shè)備,如磁帶、磁盤(pán)等。圖4-17DMA控制方式DMA控制器中包含有四個(gè)存放器:數(shù)據(jù)存放器,狀態(tài)存放器,地址存放器和字節(jié)計(jì)數(shù)器。在數(shù)據(jù)傳輸之前,將根據(jù)I/O命令參數(shù)對(duì)這些存放器進(jìn)行初始化。每個(gè)字節(jié)傳輸后,地址存放器內(nèi)容自動(dòng)增1,字節(jié)計(jì)數(shù)器自動(dòng)減1。使用DMA方式進(jìn)行數(shù)據(jù)傳輸具有如下特點(diǎn):〔1〕DMA控制器是在獲得總線控制權(quán)的情況下直接與內(nèi)存儲(chǔ)器進(jìn)行數(shù)據(jù)交換,CPU不介入數(shù)據(jù)傳輸?shù)娜魏问乱??!?〕在DMA方式下,設(shè)備與內(nèi)存儲(chǔ)器之間進(jìn)行的是成批數(shù)據(jù)傳輸,比方一塊?!?〕用DMA方式傳輸數(shù)據(jù)時(shí),CPU不得使用總線,因此用DMA方式傳輸數(shù)據(jù),不存在設(shè)備與CPU并行工作的問(wèn)題?!?〕在DMA方式下,CPU只做啟動(dòng)和藹后處理工作,數(shù)據(jù)傳輸以及I/O管理等事宜均由DMA負(fù)責(zé)實(shí)行。4.4.5通道方式通道是一個(gè)獨(dú)立于CPU的、專(zhuān)門(mén)用來(lái)管理輸入/輸出操作的處理機(jī),它控制設(shè)備與內(nèi)存儲(chǔ)器直接進(jìn)行數(shù)據(jù)交換。通道有自己的指令系統(tǒng),稱(chēng)為“通道命令字〞。圖4-18IBM的通道命令字格式假設(shè)干通道命令字構(gòu)成一個(gè)“通道程序〞,它規(guī)定了設(shè)備應(yīng)該執(zhí)行的各種操作和順序。必須把存放通道程序的內(nèi)存起始地址告訴通道。存放這個(gè)起始地址的內(nèi)存固定單元,被稱(chēng)為“通道地址字〞。當(dāng)采用通道來(lái)進(jìn)行數(shù)據(jù)傳輸時(shí),計(jì)算機(jī)系統(tǒng)的I/O結(jié)構(gòu)應(yīng)該是通道與主機(jī)相連,設(shè)備控制器與通道相連,設(shè)備與設(shè)備控制器相連。圖4-19帶有通道的I/O結(jié)構(gòu)使用通道方式進(jìn)行數(shù)據(jù)傳輸?shù)牟襟E如下:〔1〕當(dāng)進(jìn)程提出I/O請(qǐng)求后,CPU發(fā)出start命令,指明I/O操作、設(shè)備號(hào)和對(duì)應(yīng)的通道。把數(shù)據(jù)傳輸?shù)娜蝿?wù)交給通道?!?〕發(fā)出I/O請(qǐng)求的進(jìn)程被阻塞,進(jìn)程調(diào)度程序把CPU分配給另一個(gè)進(jìn)程使用。〔3〕通道接收CPU發(fā)來(lái)的啟動(dòng)命令,調(diào)出通道程序執(zhí)行,設(shè)備與CPU并行工作?!?〕通道逐條執(zhí)行通道程序中的通道命令字,指示設(shè)備完成規(guī)定的操作,與內(nèi)存儲(chǔ)器進(jìn)行數(shù)據(jù)交換?!?〕數(shù)據(jù)傳輸完畢,通道向CPU發(fā)出中斷請(qǐng)求?!?〕CPU響應(yīng)通道提出的中斷請(qǐng)求,對(duì)這次I/O進(jìn)行善后處理,把阻塞進(jìn)程的狀態(tài)變?yōu)榫途w,重新參與對(duì)CPU的競(jìng)爭(zhēng)。緩沖的實(shí)現(xiàn)有兩種方法:一種是采用專(zhuān)門(mén)的硬件存放器,這是“硬件緩沖〞;另一種是在內(nèi)存儲(chǔ)器中開(kāi)辟出n個(gè)單元,作為專(zhuān)用的I/O緩沖區(qū),這種內(nèi)存緩沖區(qū)就是“軟件緩沖〞。在I/O管理中,主要采用的是軟件緩沖。根據(jù)系統(tǒng)設(shè)置緩沖區(qū)的個(gè)數(shù),可以分為單緩沖、雙緩沖、多緩沖以及緩沖池等四種?!?〕單緩沖〔2〕雙緩沖〔3〕多緩沖〔4〕緩沖池圖4-20單緩沖與雙緩沖的工作示意圖圖4-21多緩沖的兩個(gè)隊(duì)列但這僅僅是一種“幻覺(jué)〞,系統(tǒng)中并不存在多個(gè)獨(dú)享設(shè)備。這種用一類(lèi)物理設(shè)備模擬出的另一類(lèi)物理設(shè)備,被稱(chēng)為“虛擬設(shè)備〞

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論