第7章 - 輸入輸出管理_第1頁(yè)
第7章 - 輸入輸出管理_第2頁(yè)
第7章 - 輸入輸出管理_第3頁(yè)
第7章 - 輸入輸出管理_第4頁(yè)
第7章 - 輸入輸出管理_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第7章 輸入/輸出管理 本章內(nèi)容提要nI/O管理概述n設(shè)備分配nI/O軟件層次n磁盤(pán)調(diào)度和管理7.1 I/O管理概述 7.1.1 I/O設(shè)備分類(lèi)和標(biāo)識(shí)1設(shè)備分類(lèi) 可以從不同角度對(duì)外部設(shè)備進(jìn)行分類(lèi),按照工作特性可把它們分成存儲(chǔ)設(shè)備和輸入/輸出設(shè)備兩大類(lèi)。(1)存儲(chǔ)設(shè)備 它們是計(jì)算機(jī)用來(lái)存儲(chǔ)信息的主要設(shè)備。(2)輸入/輸出設(shè)備 輸入設(shè)備是計(jì)算機(jī)用來(lái)接收來(lái)自外部世界信息的設(shè)備 輸出設(shè)備是將計(jì)算機(jī)加工處理好的信息送向外部世界的設(shè)備 n還可以從其他角度對(duì)設(shè)備進(jìn)行分類(lèi)。例如:按傳輸速率的快慢n按設(shè)備的共享屬性分類(lèi),分為獨(dú)占設(shè)備、共享設(shè)備和虛擬設(shè)備 I/O設(shè)備分類(lèi)和標(biāo)識(shí)2設(shè)備標(biāo)識(shí)n系統(tǒng)按某種原則為每臺(tái)設(shè)備分

2、配惟一的號(hào)碼,用做硬件(設(shè)備控制器)區(qū)分和識(shí)別設(shè)備的代號(hào),稱(chēng)做設(shè)備絕對(duì)號(hào)(或絕對(duì)地址)。n操作系統(tǒng)為每類(lèi)設(shè)備規(guī)定了一個(gè)編號(hào),稱(chēng)做設(shè)備類(lèi)型號(hào)。如在UNIX系統(tǒng)中,設(shè)備類(lèi)型號(hào)稱(chēng)做主設(shè)備號(hào)。n設(shè)備相對(duì)號(hào),是用戶(hù)自己規(guī)定的所用同類(lèi)設(shè)備中的第幾臺(tái)。7.1.2 I/O系統(tǒng)結(jié)構(gòu)不同規(guī)模的計(jì)算機(jī)系統(tǒng),其I/O系統(tǒng)結(jié)構(gòu)存在差異。在大多數(shù)微型機(jī)和小型機(jī)中,都使用總線I/O系統(tǒng)結(jié)構(gòu)總線I/O系統(tǒng)結(jié)構(gòu)示意圖 7.1.3 設(shè)備控制器nI/O設(shè)備一般由機(jī)械和電子兩部分組成n電子部分稱(chēng)做設(shè)備控制器或適配器n操作系統(tǒng)總是通過(guò)設(shè)備控制器實(shí)施對(duì)設(shè)備的控制和操作n控制器是可編址的設(shè)備1控制器接口n設(shè)備控制器有兩個(gè)方向的接口: 與主

3、機(jī)之間的系統(tǒng)接口 與設(shè)備驅(qū)動(dòng)電路之間的低層次接口2控制器功能 實(shí)現(xiàn)主機(jī)和設(shè)備之間的通信控制,進(jìn)行端口地址譯碼。 把計(jì)算機(jī)的數(shù)字信號(hào)轉(zhuǎn)換成機(jī)械部分能夠識(shí)別的模擬信號(hào),或者反過(guò)來(lái)。 實(shí)現(xiàn)數(shù)據(jù)的緩沖。 接收主機(jī)發(fā)來(lái)的控制命令。 將設(shè)備和控制器當(dāng)前所處的狀態(tài)提供給主機(jī)。3存儲(chǔ)器映像I/On為了實(shí)現(xiàn)與CPU通信,每個(gè)控制器都有幾個(gè)寄存器: 控制寄存器 狀態(tài)寄存器 數(shù)據(jù)寄存器 除控制寄存器外,很多設(shè)備還有數(shù)據(jù)緩沖區(qū)。nCPU與控制寄存器和設(shè)備數(shù)據(jù)緩沖區(qū)的基本通信方式: 為每個(gè)控制寄存器分配一個(gè)I/O端口號(hào) 把所有控制寄存器映像到存儲(chǔ)器空間存儲(chǔ)器映像I/O(Memory-Mapped I/O)。內(nèi)存和I/O

4、地址空間的三種映像方式 7.1.4 I/O系統(tǒng)的控制方式1程序控制直接傳遞方式2程序查詢(xún)方式3中斷控制方式 其基本工作過(guò)程是: CPU發(fā)出啟動(dòng)I/O設(shè)備的指令 I/O控制器啟動(dòng)并控制I/O設(shè)備的工作 I/O控制器向CPU發(fā)送一個(gè)中斷信號(hào) CPU將控制傳送給中斷處理程序 中斷處理程序執(zhí)行相應(yīng)的處理工作 CPU恢復(fù)對(duì)被中斷任務(wù)的處理工作4直接存儲(chǔ)器訪問(wèn)方式(1)DMA控制方式的引入 為減少CPU被中斷的次數(shù),提高CPU的工作效率,增加數(shù)據(jù)傳輸安全(2)DMA的傳送操作DMA傳送操作過(guò)程 5獨(dú)立通道方式(1)通道的引入n為使CPU擺脫繁忙的I/O事務(wù),現(xiàn)代大、中型計(jì)算機(jī)都設(shè)置了專(zhuān)門(mén)處理I/O操作的機(jī)

5、構(gòu),這就是通道。n通道程序由通道執(zhí)行的指令組成。(2)通道類(lèi)型 字節(jié)多路通道 它以字節(jié)作為信息輸送單位,服務(wù)于多臺(tái)低速I(mǎi)/O設(shè)備。 選擇通道。 它在同一時(shí)間里只能為一臺(tái)設(shè)備服務(wù),主要用于連接高速外部設(shè)備。 成組多路通道 它結(jié)合字節(jié)多路通道分時(shí)操作和選擇通道高速傳送的優(yōu)點(diǎn),廣泛用于連接高速和中速設(shè)備。6I/O處理器方式7.1.5 I/O管理的功能1I/O軟件的主要目標(biāo)(1)與設(shè)備無(wú)關(guān) (也稱(chēng)設(shè)備獨(dú)立性)n用戶(hù)程序應(yīng)與實(shí)際使用的物理設(shè)備無(wú)關(guān),由操作系統(tǒng)考慮因?yàn)閷?shí)際設(shè)備不同而需要使用不同的設(shè)備驅(qū)動(dòng)程序等問(wèn)題。n用戶(hù)編寫(xiě)程序時(shí)一般不再使用物理設(shè)備,而使用虛擬設(shè)備,由操作系統(tǒng)實(shí)現(xiàn)虛實(shí)對(duì)應(yīng) 。n sort

6、 output(2)統(tǒng)一命名(3)層次結(jié)構(gòu)(4)效率高2I/O管理的主要功能 (1)監(jiān)視設(shè)備狀態(tài) (2)進(jìn)行設(shè)備分配 (3)完成I/O操作 (4)緩沖管理與地址轉(zhuǎn)換7.2 設(shè)備分配7.2.1 與設(shè)備分配相關(guān)的因素 (1)I/O設(shè)備的固有屬性 (2)系統(tǒng)所采用的分配算法 (3)設(shè)備分配應(yīng)防止死鎖發(fā)生 (4)用戶(hù)程序與實(shí)際使用的物理設(shè)備無(wú)關(guān)7.2.2 設(shè)備分配技術(shù)1按使用性質(zhì)對(duì)設(shè)備分類(lèi) (1)獨(dú)占設(shè)備n獨(dú)占設(shè)備是不能同時(shí)共用的設(shè)備,即在一段時(shí)間內(nèi),該設(shè)備只允許一個(gè)進(jìn)程獨(dú)占。 (2)共享設(shè)備n共享設(shè)備是可由若干進(jìn)程同時(shí)共用的設(shè)備。 (3)虛擬設(shè)備n虛擬設(shè)備是利用某種技術(shù)把獨(dú)占設(shè)備改造成可由多個(gè)進(jìn)程共

7、用的設(shè)備。2設(shè)備分配技術(shù) (1)獨(dú)占分配 把獨(dú)占設(shè)備固定地分配給一個(gè)進(jìn)程,直至該進(jìn)程完成I/O操作并且釋放它為止。 (2)共享分配 由若干進(jìn)程共用同一設(shè)備 (3)虛擬分配 利用共享設(shè)備去實(shí)現(xiàn)獨(dú)占設(shè)備的功能,從而使獨(dú)占設(shè)備“感覺(jué)上”成為可共享的、快速的I/O設(shè)備。7.2.3 設(shè)備分配算法 (1)先來(lái)先服務(wù) (2)優(yōu)先級(jí)高的優(yōu)先服務(wù)7.2.4 SPOOLing系統(tǒng)n早期設(shè)備分配的虛擬技術(shù)是脫機(jī)方式 利用外圍計(jì)算機(jī)專(zhuān)門(mén)負(fù)責(zé)I/O工作 n解決了慢速外設(shè)與快速主機(jī)的匹配問(wèn)題n存在如下缺點(diǎn): 需要人工干預(yù),產(chǎn)生人工錯(cuò)誤的機(jī)會(huì)多,且效率低; 周轉(zhuǎn)時(shí)間慢; 無(wú)法實(shí)現(xiàn)優(yōu)先級(jí)調(diào)度。 SPOOLing系統(tǒng)用常駐內(nèi)存

8、的進(jìn)程去模擬一臺(tái)外圍機(jī) SPOOLing系統(tǒng)一般分為4個(gè)部分 : 存輸入部分 取輸入部分 存輸出部分 取輸出部分SPOOLing系統(tǒng)工作原理示意圖 n上述4個(gè)部分的工作可由輸入進(jìn)程IN和輸出進(jìn)程O(píng)UT完成 IN進(jìn)程負(fù)責(zé)存輸入和取輸入工作 OUT進(jìn)程負(fù)責(zé)存輸出和取輸出工作nSPOOLing可使一個(gè)作業(yè)的輸入/輸出與其他作業(yè)的計(jì)算重疊起來(lái)進(jìn)行nSPOOLing提供了非常重要的數(shù)據(jù)結(jié)構(gòu) 作業(yè)池n付出不少代價(jià) 占用大量的內(nèi)存作為外設(shè)之間傳送信息用的緩沖區(qū),它所用的表格也占用不少內(nèi)存空間; 占用大量磁盤(pán)空間作為輸入井和輸出井; 增加了系統(tǒng)的復(fù)雜性。 SPOOLing系統(tǒng)7.3 I/O軟件層次I/O軟件系

9、統(tǒng)的層次7.3.1 中斷處理程序7.3.2 設(shè)備驅(qū)動(dòng)程序1設(shè)備驅(qū)動(dòng)程序的功能 接受來(lái)自上層、與設(shè)備無(wú)關(guān)軟件的抽象讀寫(xiě)請(qǐng)求,并且將該I/O請(qǐng)求排在請(qǐng)求隊(duì)列的隊(duì)尾,同時(shí)還要檢查I/O請(qǐng)求的合法性(如參數(shù)是否合法)。 取出請(qǐng)求隊(duì)列中隊(duì)首請(qǐng)求,且將相應(yīng)設(shè)備分配給它。 向該設(shè)備控制器發(fā)送命令,啟動(dòng)該設(shè)備工作,完成指定的I/O操作。 處理來(lái)自設(shè)備的中斷。2設(shè)備驅(qū)動(dòng)程序在系統(tǒng)中的位置通常,設(shè)備驅(qū)動(dòng)程序與設(shè)備類(lèi)型是一一對(duì)應(yīng)的。主設(shè)備號(hào)表示設(shè)備類(lèi)型,而次設(shè)備號(hào)表示該類(lèi)型的一個(gè)設(shè)備。設(shè)備驅(qū)動(dòng)程序?qū)拥哪康氖菍?duì)核心I/O子系統(tǒng)隱藏設(shè)備控制器的差別 設(shè)備驅(qū)動(dòng)程序在系統(tǒng)中的邏輯位置示意圖 3設(shè)備驅(qū)動(dòng)程序的特點(diǎn) 驅(qū)動(dòng)程序的

10、主要作用是實(shí)現(xiàn)請(qǐng)求I/O的進(jìn)程與設(shè)備控制器之間的通信 驅(qū)動(dòng)程序與設(shè)備特性密切相關(guān) 驅(qū)動(dòng)程序可以動(dòng)態(tài)安裝或加載 驅(qū)動(dòng)程序與I/O控制方式相關(guān) 驅(qū)動(dòng)程序與硬件密切相關(guān) 不允許驅(qū)動(dòng)程序使用系統(tǒng)調(diào)用4設(shè)備驅(qū)動(dòng)程序的框架 (1)設(shè)備驅(qū)動(dòng)程序與外界的接口 驅(qū)動(dòng)程序與操作系統(tǒng)內(nèi)核的接口 驅(qū)動(dòng)程序與系統(tǒng)引導(dǎo)的接口 驅(qū)動(dòng)程序與設(shè)備的接口(2)設(shè)備驅(qū)動(dòng)程序的組成 驅(qū)動(dòng)程序的注冊(cè)與注銷(xiāo) 設(shè)備的打開(kāi)與釋放 設(shè)備的讀/寫(xiě)操作 設(shè)備的控制操作 設(shè)備的中斷和輪詢(xún)處理7.3.3 與設(shè)備無(wú)關(guān)的操作系統(tǒng)I/O軟件與設(shè)備無(wú)關(guān)的操作系統(tǒng)I/O軟件的功能示意圖 1設(shè)備驅(qū)動(dòng)程序的統(tǒng)一接口 新的驅(qū)動(dòng)程序遵循驅(qū)動(dòng)程序接口的約定 I/O設(shè)備如

11、何命名 保護(hù)問(wèn)題2緩沖技術(shù) (1)緩沖技術(shù)的引入 緩沖的基本思想 主要目的是: 緩解CPU與I/O設(shè)備間速度不匹配的矛盾。 提高它們之間的并行性。 減少對(duì)CPU的中斷次數(shù),放寬CPU對(duì)中斷響應(yīng)時(shí)間的要求。 (2)緩沖區(qū)的設(shè)置 單緩沖。適宜數(shù)據(jù)到達(dá)率與離去率相差很大的情況 雙緩沖。適宜信息的輸入和輸出速率相同(或相差不大)的情況緩沖區(qū)的設(shè)置 雙緩沖工作示例 多緩沖為了解決陣發(fā)性I/O的速度不匹配問(wèn)題,可以設(shè)立多個(gè)緩沖區(qū)。3出錯(cuò)報(bào)告n根據(jù)錯(cuò)誤產(chǎn)生的原因,可把I/O錯(cuò)誤分為兩類(lèi): 程序設(shè)計(jì)錯(cuò)誤 實(shí)際I/O錯(cuò)誤。4分配和釋放獨(dú)占設(shè)備 處理請(qǐng)求的簡(jiǎn)單辦法是讓進(jìn)程直接打開(kāi)設(shè)備特別文件 另一種辦法是設(shè)立專(zhuān)門(mén)

12、機(jī)制,負(fù)責(zé)獨(dú)占設(shè)備的申請(qǐng)和釋放 5提供與設(shè)備無(wú)關(guān)的塊大小 不同磁盤(pán)的扇區(qū)大小可能不同。通過(guò)這部分軟件的作用,可隱藏這些差異,向高層提供統(tǒng)一的盤(pán)塊大小。7.3.4 用戶(hù)級(jí)I/O軟件n多數(shù)I/O軟件都在操作系統(tǒng)中,用戶(hù)空間中也有一小部分。通常,它們以庫(kù)函數(shù)形式出現(xiàn)。n用戶(hù)空間中另一個(gè)重要的I/O軟件是SPOOLing系統(tǒng)。7.4 磁盤(pán)調(diào)度和管理硬盤(pán)結(jié)構(gòu)示意圖磁盤(pán)的結(jié)構(gòu)7.4.1 磁盤(pán)調(diào)度1磁盤(pán)存取時(shí)間 尋道時(shí)間:是指系統(tǒng)把磁頭移到相應(yīng)的磁道或柱面上所用時(shí)間; 旋轉(zhuǎn)延遲時(shí)間:是指一旦磁頭到達(dá)指定磁道、必須等待所需要的扇區(qū)轉(zhuǎn)到讀/寫(xiě)頭下所用的延遲時(shí)間; 傳輸時(shí)間:是指信息實(shí)際在盤(pán)和內(nèi)存之間進(jìn)行傳送所花

13、費(fèi)的時(shí)間。 一次磁盤(pán)服務(wù)的總時(shí)間就是這三者之和 n減少平均尋道時(shí)間就可以顯著地改善系統(tǒng)性能。2磁盤(pán)調(diào)度算法(1)先來(lái)先服務(wù)法(First-Come, First-Served,F(xiàn)CFS)先來(lái)先服務(wù)調(diào)度算法示例設(shè)磁頭最初在53道上 總共移動(dòng)了640個(gè)磁道 有一個(gè)請(qǐng)求磁盤(pán)服務(wù)的隊(duì)列,要訪問(wèn)的磁道分別是 98,183,37,122,14,124,65,67最短尋道時(shí)間優(yōu)先調(diào)度算法示例(2)最短尋道時(shí)間優(yōu)先法(Shortest Seek Time First, SSTF)當(dāng)前磁頭在53道上 請(qǐng)求訪問(wèn)磁道序列:98,183,37,122,14,124,65,67磁頭共移動(dòng)了236個(gè)磁道 掃描調(diào)度算法示例

14、(3)掃描法(SCAN)請(qǐng)求訪問(wèn)磁道序列: 98,183,37,122,14,124,65,67磁頭最初在53道上。正向0道方向移動(dòng) (4)巡回掃描法(C-SCAN)巡回掃描調(diào)度算法示例請(qǐng)求訪問(wèn)磁道序列: 98,183,37,122,14,124,65,67磁頭最初在53道上,正向右方移動(dòng)(5)尋查法(LOOK)LOOK算法也稱(chēng)“電梯”算法請(qǐng)求訪問(wèn)磁道序列: 98,183,37,122,14,124,65,67磁頭最初在53道上,正向0道方向移動(dòng)電梯調(diào)度算法示例 3磁盤(pán)調(diào)度算法的選擇 選最佳方案與多種因素有關(guān): 任何調(diào)度算法的性能都依賴(lài)于I/O請(qǐng)求的數(shù)量和類(lèi)型 文件的物理存放方式對(duì)磁盤(pán)請(qǐng)求有很

15、大影響 目錄和索引塊的位置對(duì)I/O請(qǐng)求隊(duì)列有重要影響 旋轉(zhuǎn)延遲時(shí)間的影響7.4.2 磁盤(pán)管理1磁盤(pán)格式化n 低級(jí)格式化或物理格式化(1)格式化后扇區(qū)的格式n低級(jí)格式化按照規(guī)定的格式為每個(gè)扇區(qū)填充控制信息。n一般來(lái)說(shuō),扇區(qū)格式由三部分組成,即扇區(qū)頭、數(shù)據(jù)區(qū)(通常為512 B)和扇區(qū)尾(2)磁盤(pán)分區(qū)和邏輯格式化n第一步是分區(qū),即把磁盤(pán)分成一個(gè)或多個(gè)柱面組。n第二步工作是邏輯格式化,即建立文件系統(tǒng)。 MS-DOS的磁盤(pán)布局2引導(dǎo)塊結(jié)構(gòu)整個(gè)引導(dǎo)程序保存在稱(chēng)做引導(dǎo)塊的分區(qū)中,該分區(qū)在盤(pán)上的位置是固定的,通常在起始扇區(qū)。 3壞塊處理 (1)壞塊的產(chǎn)生n一類(lèi)是“天生”的,即廠家生產(chǎn)時(shí)該盤(pán)就存在瑕疵,如磁層有缺陷。n另一類(lèi)是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論