計算機(jī)設(shè)備管理相關(guān)資料_第1頁
計算機(jī)設(shè)備管理相關(guān)資料_第2頁
計算機(jī)設(shè)備管理相關(guān)資料_第3頁
計算機(jī)設(shè)備管理相關(guān)資料_第4頁
計算機(jī)設(shè)備管理相關(guān)資料_第5頁
已閱讀5頁,還剩76頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計算機(jī)設(shè)備管理相關(guān)資料6.1 系統(tǒng)總線6.1.1 總線基本概念和分類1.沒有總線的計算機(jī)系統(tǒng)兩兩部件獨(dú)立相連,相互通信時雙方必須停止其他工作,降低了部件的工作效率;隨著計算機(jī)部件的增多,內(nèi)部連線非常復(fù)雜,不利于系統(tǒng)設(shè)備的擴(kuò)展。2.總線概念總線是計算機(jī)中各個通信模塊共享的,用來在這些部件之間傳送信息的一組導(dǎo)線和相關(guān)的控制和接口部件。6.1.2 總線分類vCPU內(nèi)部總線:寄存器之間,寄存器與ALU之間。v系統(tǒng)總線:CPU與主存或I/O設(shè)備之間的信息傳送線,又稱為外總線。v通信總線:計算機(jī)系統(tǒng)之間或計算機(jī)系統(tǒng)與外部設(shè)備之間的信息傳送線。6.1.3 系統(tǒng)總線的組成1.地址總線傳送主存單元地址或者I/O

2、設(shè)備的端口地址。2.數(shù)據(jù)總線完成總線上各功能部件之間的數(shù)據(jù)傳送。3.控制總線傳送定時信號和命令信息,以實(shí)現(xiàn)對設(shè)備的控制和監(jiān)視。4.系統(tǒng)總線由多個部件或設(shè)備共享,但任何時刻都只能由一個設(shè)備向總線發(fā)送信息,所以對總線的使用需要協(xié)調(diào)。6.1.4 系統(tǒng)總線的結(jié)構(gòu)1.單總線結(jié)構(gòu) 任何兩個部件之間可以直接進(jìn)行信息交流,提高了計算機(jī)的靈活性和工作效率,但由于總線是臨界資源,單總線會增加總線負(fù)載,影響操作速度。CPU主存主存I/O接口接口I/O接口接口外設(shè)外設(shè)1外設(shè)外設(shè)n系統(tǒng)總線2.雙總線結(jié)構(gòu) CPU和主存之間的數(shù)據(jù)交換通過專用總線進(jìn)行,減輕了系統(tǒng)總線的負(fù)擔(dān)。CPU主存主存I/O接口接口 I/O接口接口外設(shè)外

3、設(shè)1外設(shè)外設(shè)n系統(tǒng)總線存儲總線3.三總線結(jié)構(gòu)CPU主存主存I/O接口接口I/O接口接口外設(shè)外設(shè)1外設(shè)外設(shè)n通道通道系統(tǒng)總線存儲總線I/O總線 通道又稱為I/O處理機(jī),統(tǒng)一管理外部設(shè)備,實(shí)現(xiàn)主存與外設(shè)之間的數(shù)據(jù)傳輸,分擔(dān)了CPU的部分功能。6.1.5 總線的數(shù)據(jù)傳輸方式v串行傳輸:每次傳送一位,只需一根數(shù)據(jù)線。適用于慢速設(shè)備,如鍵盤、鼠標(biāo)等。v并行傳輸:每位數(shù)據(jù)需要一根數(shù)據(jù)線,多位數(shù)據(jù)一起傳輸。v注意:總線和設(shè)備接口之間總是以并行方式傳送數(shù)據(jù),但設(shè)備和接口之間可能以并行方式,也可能以串行方式。6.2 I/O接口1.I/O接口 計算機(jī)與I/O設(shè)備或其他系統(tǒng)之間的邏輯控制部件。接接口口控控制制器器I

4、/O標(biāo)標(biāo)準(zhǔn)準(zhǔn)接接口口設(shè)設(shè)備備控控制制器器I/O設(shè)設(shè)備備外圍設(shè)備與主機(jī)的連接外圍設(shè)備與主機(jī)的連接設(shè)備地址線設(shè)備地址線控制、狀態(tài)線控制、狀態(tài)線數(shù)據(jù)線數(shù)據(jù)線CPU2.I/O接口的基本功能v實(shí)現(xiàn)主機(jī)與外圍設(shè)備間的通信和控制;設(shè)備的選擇,操作時序的協(xié)調(diào),中斷請求與批準(zhǔn)v實(shí)現(xiàn)數(shù)據(jù)緩沖,使主機(jī)與外設(shè)的工作速度匹配;在設(shè)備控制器中設(shè)置一個或多個數(shù)據(jù)緩沖寄存器v接收主機(jī)的命令,提供設(shè)備和接口的狀態(tài)。在設(shè)備控制器中設(shè)置控制/狀態(tài)寄存器6.3 I/O 設(shè)備管理概述 I/O管理的功能管理的功能l監(jiān)視設(shè)備的狀態(tài)監(jiān)視設(shè)備的狀態(tài)l進(jìn)行設(shè)備分配進(jìn)行設(shè)備分配l完成完成I/O操作操作l緩沖管理緩沖管理總線型I/O系統(tǒng)結(jié)構(gòu)圖形控制

5、器橋/內(nèi)存控制器SCSI磁盤控制器擴(kuò)展總線接口 其它 控制器打印機(jī)磁盤PCI總線監(jiān)視器處理器高速緩存內(nèi)存磁盤IDE磁盤控制器磁盤磁盤擴(kuò)展總線并行端口串行端口鍵盤6.3.1 I/O設(shè)備類型塊設(shè)備:磁盤、磁帶,塊大小512B32KB,通常為512B。塊設(shè)備的特點(diǎn)是速度快、可隨機(jī)訪問。字符設(shè)備:鍵盤、行式打印機(jī)。特點(diǎn)是速度低、不可尋址、I/O采用中斷驅(qū)動。設(shè)備間的差異v數(shù)據(jù)率v管理程序v控制的復(fù)雜度v數(shù)據(jù)的傳送單位v數(shù)據(jù)編碼v出錯條件6.3.2 設(shè)備控制器設(shè)備控制器或適配器設(shè)備控制器或適配器是I/O設(shè)備的電子部分,它是CPU與I/O設(shè)備之間的接口,它接收從CPU發(fā)來的命令,并控制I/O設(shè)備工作。通常

6、一臺控制器可控制多臺同一類型的設(shè)備。設(shè)備控制器的組成數(shù)據(jù)寄存器控制/狀態(tài)寄存器I/O邏輯控制器與設(shè)備接口1控制器與設(shè)備接口2數(shù)據(jù)線地址線控制線CPU與控制器接口數(shù)據(jù)狀態(tài)控制數(shù)據(jù)狀態(tài)控制控制器與設(shè)備接口v設(shè)備控制器的主要任務(wù)1)接收和識別命令2)數(shù)據(jù)交換3)了解設(shè)備的狀態(tài)4)地址識別6.3.3 設(shè)備通道l雖然設(shè)備控制器可以對設(shè)備進(jìn)行控制,但當(dāng)外設(shè)很多時,CPU負(fù)擔(dān)過重,為此在CPU與控制器之間增加設(shè)備通道,設(shè)備通道,實(shí)現(xiàn)對所有外設(shè)的統(tǒng)一管理。l設(shè)備通道是特殊的處理機(jī)設(shè)備通道是特殊的處理機(jī)l指令單一l沒有內(nèi)存通道的連接方式計算機(jī)I/O通道1I/O通道2控制器控制器控制器控制器設(shè)備計算機(jī)I/O通道1

7、I/O通道2設(shè)備設(shè)備設(shè)備設(shè)備控制器1控制器2l單通路單通路l多通路多通路設(shè)備與計算機(jī)之間有多條通道,增加靈活性。增強(qiáng)可靠性。某通道、控制器壞,也不會影響數(shù)據(jù)交換。6.4 I/O控制方式 發(fā)展經(jīng)歷了四個階段l程序直接控制方式程序直接控制方式l中斷驅(qū)動方式中斷驅(qū)動方式lDMADMA控制方式控制方式l通道方式通道方式宗旨:盡量減少主機(jī)對I/O控制的干預(yù)。衡量數(shù)據(jù)傳送控制方式原則v數(shù)據(jù)傳送速度高v系統(tǒng)開銷小v充分發(fā)揮硬件資源的能力,I/O設(shè)備忙,CPU等待時間少6.4.1 程序直接控制方式 由用戶由用戶進(jìn)程直接進(jìn)程直接控制控制CPUCPU與與外設(shè)之間外設(shè)之間的信息傳的信息傳送。送。發(fā)指令啟動外設(shè)設(shè)備的

8、標(biāo)志位=0等待進(jìn)行數(shù)據(jù)傳送CPU是否接到啟動命令準(zhǔn)備完畢標(biāo)志位置0等待CPU的下條指令外設(shè)是否做數(shù)據(jù)傳送準(zhǔn)備(a)(b)程序直接控制方式的缺點(diǎn):lCPU與外設(shè)只能串行工作。lCPU在一段時間內(nèi)只能與一臺外設(shè)交換數(shù)據(jù)信息。l無法發(fā)現(xiàn)和處理由于設(shè)備和其它硬件所產(chǎn)生的錯誤。6.4.2 中斷驅(qū)動方式 為了減少程為了減少程序直接控制方序直接控制方式中式中CPUCPU的等的等待時間,提高待時間,提高系統(tǒng)并行工作系統(tǒng)并行工作的程度。要求的程度。要求CPUCPU與設(shè)備控與設(shè)備控制器間有相應(yīng)制器間有相應(yīng)的中斷請求線。的中斷請求線。發(fā)指令啟動外設(shè)將中斷位置1收到中斷信號嗎?中斷處理被中斷進(jìn)程繼續(xù)執(zhí)行CPU是否接到

9、啟動命令數(shù)據(jù)寄存器滿嗎?控制器發(fā)中斷信號外設(shè)是否將數(shù)據(jù)送到數(shù)據(jù)寄存器(a)(b)進(jìn)程調(diào)度程序調(diào)度其它進(jìn)程其它進(jìn)程執(zhí)行中斷驅(qū)動方式的缺點(diǎn):l由于數(shù)據(jù)寄存器只能存放一個字節(jié),造成中斷次數(shù)過多。l 中斷次數(shù)的急劇增加會造成CPU無法及時響應(yīng)中斷,出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。6.4.3 DMA控制方式 中斷方式比程序I/O方式有效,但它是以字節(jié)為單位進(jìn)行的,且CPU對I/O的干預(yù)頻繁。1.DMA方式的特點(diǎn)u數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊;u所傳送的數(shù)據(jù)是直接在設(shè)備和內(nèi)存之間進(jìn)行;u僅在傳送一個或多個數(shù)據(jù)塊的開始或結(jié)束時,才需CPU干預(yù)。DMA控制器的組成增加兩類寄存器:l內(nèi)存地址寄存器MARl數(shù)據(jù)計數(shù)器DCPU控制

10、器控制/狀態(tài)寄存器內(nèi)存地址寄存器忙/閑位中斷位開始中斷數(shù)據(jù)線信號線數(shù)據(jù)寄存器數(shù)據(jù)計數(shù)器內(nèi)存CountDMA工作過程存儲器地址增1數(shù)據(jù)計數(shù)器減1挪用存儲器周期傳送數(shù)據(jù)字開始設(shè)置MAR和DC的初值啟動DMA傳送命令DC=0?是在繼續(xù)執(zhí)行用戶程序的同時,準(zhǔn)備又一次傳送請求中斷否當(dāng)CPU需要從磁盤讀數(shù)據(jù)時,便向磁盤控制器DMA發(fā)命令該命令送命令寄存器CR將內(nèi)存地址送內(nèi)存地址寄存器MAR本次要讀的字節(jié)數(shù)送數(shù)據(jù)寄存器DC啟動DMA后,CPU干其他的事情,數(shù)據(jù)傳送在DMA的控制下完成。6.4.4 通道方式 DMA方式中cpu以數(shù)據(jù)塊為單位干預(yù)I/O操作,但進(jìn)程需要連續(xù)操作幾個不連續(xù)的數(shù)據(jù)塊時,CPU仍需多次

11、干預(yù)。 1.通道方式特點(diǎn)l每條CPU發(fā)出的I/O指令可以實(shí)現(xiàn)對一組數(shù)據(jù)塊的干預(yù);l實(shí)現(xiàn)CPU、通道和設(shè)備的并行工作,提高資源利用率。 2.通道方式處理過程v通道方式通過通道處理程序,與設(shè)備控制器共同實(shí)現(xiàn)對I/O設(shè)備的控制。其步驟如下: 1)CPU發(fā)出指令; 2)通道取出內(nèi)存中的通道處理程序執(zhí)行; 3)設(shè)備根據(jù)通道指令的要求,執(zhí)行相應(yīng)操作; 4)通道程序執(zhí)行結(jié)束,向CPU發(fā)出中斷請求; 5)CPU進(jìn)行中斷處理。6.5 I/O系統(tǒng)v用戶進(jìn)程進(jìn)行I/O操作的步驟用戶進(jìn)程調(diào)用操作系統(tǒng)提供的系統(tǒng)調(diào)用命令;操作系統(tǒng)負(fù)責(zé)給用戶進(jìn)程分配設(shè)備、啟動相關(guān)設(shè)備進(jìn)行I/O操作;在I/O操作完成時,用戶進(jìn)程產(chǎn)生中斷;系

12、統(tǒng)響應(yīng)中斷,并進(jìn)行相應(yīng)的中斷處理。6.5.1 I/O層次結(jié)構(gòu)6.5.1 I/O層次結(jié)構(gòu)vI/O接口:系統(tǒng)調(diào)用,例如C語言中的庫函數(shù)printf,scanf; vI/O管理軟件:實(shí)現(xiàn)所有設(shè)備共享的I/O功能,為用戶提供統(tǒng)一接口;v設(shè)備驅(qū)動程序:接收I/O管理軟件的抽象請求,進(jìn)行與設(shè)備相關(guān)的具體設(shè)備操作,控制設(shè)備的打開,關(guān)閉,讀,寫等操作,控制數(shù)據(jù)在設(shè)備上的傳輸;v中斷處理程序:當(dāng)輸入就緒、輸出完成或設(shè)備出錯時,設(shè)備控制器向CPU發(fā)中斷信號,CPU進(jìn)行相應(yīng)中斷處理6.5.2 6.5.2 設(shè)備分配設(shè)備分配 v由于外設(shè)資源的有限,需解決進(jìn)程間的外設(shè)共享問題,以提高外設(shè)資源的利用率。設(shè)備分配是對進(jìn)程使用

13、外設(shè)過程的管理。這里有兩種作法:1)在進(jìn)程間切換使用外設(shè),如鍵盤和鼠標(biāo);2)通過一個虛擬設(shè)備把外設(shè)與應(yīng)用進(jìn)程隔開,只由虛擬設(shè)備來使用設(shè)備。 一、設(shè)備分配時應(yīng)考慮的問題 設(shè)備分配的綜合原則是合理使用外設(shè)(公平和避免死鎖),提高設(shè)備使用率。 1.設(shè)備的固有屬性獨(dú)享設(shè)備:打印機(jī)等。進(jìn)程使用完自己釋放,一般不能剝奪;共享設(shè)備:磁盤、網(wǎng)卡等。多個進(jìn)程并發(fā)使用,需合理調(diào)度;虛擬設(shè)備:虛擬打印機(jī)等。可有多個進(jìn)程使用,但FCFS。2.設(shè)備分配算法靜態(tài)分配:在進(jìn)程創(chuàng)建時分配,在進(jìn)程退出時釋放;v不會出現(xiàn)死鎖;v設(shè)備利用率不高;動態(tài)分配:在進(jìn)程執(zhí)行過程中根據(jù)需要分配,使用結(jié)束后釋放,算法與進(jìn)程調(diào)度類似,有FCFS

14、 和基于優(yōu)先級;v需要考慮死鎖問題v有利于提高設(shè)備利用率3.設(shè)備分配中的安全性(避免死鎖)v安全分配方式 進(jìn)程發(fā)出I/O請求后阻塞,完成后喚醒,即進(jìn)程在I/O時不能在申請其他設(shè)備資源,擯棄了“請求保持”條件。優(yōu)點(diǎn):不會出現(xiàn)死鎖;缺點(diǎn):進(jìn)程進(jìn)展慢。v不安全分配方式 進(jìn)程發(fā)出I/O請求后仍繼續(xù)運(yùn)行,又可發(fā)出I/O請求,僅當(dāng)進(jìn)程所請求的設(shè)備已被另一進(jìn)程占用時,進(jìn)程才進(jìn)入阻塞狀態(tài)。優(yōu)點(diǎn):多個設(shè)備并行操作;缺點(diǎn):可能造成死鎖。4.設(shè)備獨(dú)立性(設(shè)備無關(guān)性)v設(shè)備獨(dú)立性是指用戶程序獨(dú)立于具體使用的物理設(shè)備,可以提高操作系統(tǒng)的可適應(yīng)性和可擴(kuò)展性。v用戶程序使用邏輯設(shè)備名請求使用某類設(shè)備。v操作系統(tǒng)在分配設(shè)備時

15、使用的是物理設(shè)備名。v操作系統(tǒng)可以將邏輯設(shè)備名轉(zhuǎn)換成物理設(shè)備名。v設(shè)備獨(dú)立性增強(qiáng)了設(shè)備分配的靈活性,易于實(shí)現(xiàn)I/O重定向。設(shè)備獨(dú)立性的實(shí)現(xiàn)邏輯設(shè)備表(Logical Unit Table,LUT) 邏輯設(shè)備名 物理設(shè)備名 驅(qū)動程序入口地址/dev/print 3 2056/dev/tty 5 1034 當(dāng)進(jìn)程使用邏輯設(shè)備名請求I/O設(shè)備時,系統(tǒng)為他分配相應(yīng)的物理設(shè)備,并在LUT中建立對相應(yīng)表項,以便以后使用。LUT的設(shè)置:l整個系統(tǒng)一張(單用戶系統(tǒng))l一個用戶一張(多用戶系統(tǒng))二、設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)二、設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu) 1.系統(tǒng)設(shè)備表(SDT, System Device Table)v

16、整個系統(tǒng)內(nèi)只有一張,反映系統(tǒng)中設(shè)備資源的狀態(tài),記錄所有設(shè)備的狀態(tài)及其設(shè)備控制表的入口。SDT表項的主要組成:DCT指針:指向相應(yīng)設(shè)備的DCT;設(shè)備標(biāo)識;設(shè)備類型:塊設(shè)備,字符設(shè)備或終端設(shè)備;正在使用該設(shè)備的進(jìn)程號。2.設(shè)備控制表(DCT, Device Control Table)v每個設(shè)備一張,描述設(shè)備特性和狀態(tài)。反映設(shè)備的特性、設(shè)備和控制器的連接情況。DCT的內(nèi)容主要包括:設(shè)備標(biāo)識:用來區(qū)別不同的設(shè)備;設(shè)備類型COCT指針:指向與該設(shè)備相連的控制器控制表;設(shè)備狀態(tài):工作或空閑狀態(tài);設(shè)備等待隊列首指針和尾指針; 3 3. .控制器控制表(COCT, COntroller Control Ta

17、ble)v每個設(shè)備控制器一張,描述I/O控制器的配置和狀態(tài)。表項組成:控制器標(biāo)識符控制器忙/閑狀態(tài)與控制器連接的通道表指針(CHCT指針)控制器隊列的隊首指針控制器隊列的隊尾指針4.4.通通道控制表(CHCT, CHannel Control Table)v每個通道一張,描述通道工作狀態(tài)。通道標(biāo)識符通道忙/閑狀態(tài)通道隊列的隊首指針通道隊列的隊尾指針三、設(shè)備分配步驟三、設(shè)備分配步驟 在進(jìn)程有I/O請求時,系統(tǒng)根據(jù)具體的設(shè)備分配算法,按以下步驟分配設(shè)備: 1)分配設(shè)備 邏輯設(shè)備名查找LUT,確定物理設(shè)備名查找SDT,找到該設(shè)備的設(shè)備控制表(DCT)根據(jù)DCT中的忙/閑標(biāo)志位判斷設(shè)備是否忙忙,則進(jìn)入

18、阻塞隊列;否則,計算分配安全性,安全則分配。 2)分配控制器 根據(jù)DCT中的控制器控制表(COCT)指針找到與該設(shè)備相連的COCT,并判斷其忙閑狀態(tài),忙則進(jìn)入阻塞隊列,否則分配控制器。3)分配通道根據(jù)COCT中的CHCT(通道控制表)指針找到CHCT,并判斷其忙閑狀態(tài),忙則進(jìn)入阻塞隊列,否則分配通道。設(shè)備分配中應(yīng)注意的問題:1)邏輯設(shè)備名可能有多個物理設(shè)備名與之相對應(yīng),在分配設(shè)備時需要掃描LUT和SDT,直到遇到第一個空閑的可分配設(shè)備為止;只有當(dāng)所有設(shè)備都忙時才阻塞進(jìn)程;2)對于通道、控制器和設(shè)備的多通路連接情況,再分配控制器和通道時也需要多次檢測COCT和CHCT6.5.4 SPOOLing

19、技術(shù) vSPOOLing(Simultaneous Peripheral Operation On Line)技術(shù),又稱為假脫機(jī)技術(shù)或虛擬設(shè)備技術(shù),它可以把獨(dú)享設(shè)備轉(zhuǎn)變成具有共享特征的虛擬設(shè)備,從而提高設(shè)備利用率。vSPOOLing技術(shù)的引入為緩解CPU和I/O設(shè)備速度不匹配問題,用專門的應(yīng)用程序模仿外圍計算機(jī)在設(shè)備和磁盤間或CPU與磁盤間進(jìn)行輸入和輸出操作,從而使得I/O設(shè)備可以和CPU并行運(yùn)行,提高部件的利用率。輸入緩沖區(qū)輸出緩沖區(qū)輸入進(jìn)程SPi輸出進(jìn)程SPo輸入井輸出井磁盤內(nèi)存輸入設(shè)備輸出設(shè)備1.SPOOLing1.SPOOLing的系統(tǒng)組成:的系統(tǒng)組成:輸入井和輸出井輸入緩沖區(qū)和輸出緩

20、沖區(qū)輸入進(jìn)程SPi和輸出進(jìn)程SPo2.SPOOLing系統(tǒng)的特點(diǎn)v優(yōu)點(diǎn):提高了I/O速度:將原先對低速I/O設(shè)備的直接操作轉(zhuǎn)換成對高速磁盤的I/O操作,使得程序的虛擬I/O操作時間和實(shí)際I/O操作時間分離開來,從而緩解了CPU和I/O設(shè)備的速度不匹配問題。實(shí)現(xiàn)對獨(dú)享設(shè)備的共享:由SPOOLing程序提供虛擬設(shè)備,可以對獨(dú)享設(shè)備依次共享使用。3.共享打印機(jī)打印機(jī)是一個獨(dú)享設(shè)備,但它可以通過SPOOLing技術(shù)虛擬成共享設(shè)備。當(dāng)用戶提出打印請求時,SPOOLing系統(tǒng)為之做兩件事: 1)在輸出井中申請一空閑盤快區(qū),并將要打印的數(shù)據(jù)輸入其中; 2)申請一張空白的用戶請求打印表,將打印內(nèi)容輸入其中,再

21、將該表投入請求打印隊列,排隊等待打印機(jī);SPOOLing系統(tǒng)可以讓多個用戶同時感覺打印機(jī)在為他服務(wù),從而將一個物理設(shè)備虛擬成多個邏輯設(shè)備,實(shí)現(xiàn)設(shè)備的共享 6.5.5 設(shè)備驅(qū)動程序 v設(shè)備處理程序又稱為設(shè)備驅(qū)動程序,它是I/O進(jìn)程與設(shè)備控制器之間的通信程序。v主要功能接受來自上層軟件的抽象I/O請求,并檢查請求的合法性;向有關(guān)I/O設(shè)備發(fā)出控制命令,并啟動運(yùn)行對等待I/O的進(jìn)程進(jìn)行排隊;及時響應(yīng)中斷請求v設(shè)備驅(qū)動程序的設(shè)置方式為每類設(shè)備設(shè)置一個進(jìn)程,專門用于執(zhí)行該類設(shè)備的I/O操作。為整個系統(tǒng)設(shè)置一個I/O進(jìn)程,負(fù)責(zé)執(zhí)行系統(tǒng)中各類設(shè)備的I/O操作;也可設(shè)置一個輸入進(jìn)程和一個輸出進(jìn)程;不設(shè)處理進(jìn)程

22、,為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序,供用戶或系統(tǒng)進(jìn)程調(diào)用。v設(shè)備驅(qū)動程序的特點(diǎn)對I/O管理軟件屏蔽I/O設(shè)備細(xì)節(jié),實(shí)現(xiàn)I/O管理軟件的設(shè)備無關(guān)性;設(shè)備驅(qū)動程序與硬件緊密相關(guān),是OS底層中和I/O設(shè)備相關(guān)的一部分;驅(qū)動程序的大部分一般用匯編語言書寫;設(shè)備驅(qū)動程序與I/O控制方式相關(guān);設(shè)備驅(qū)動程序可以動態(tài)加載。v設(shè)備驅(qū)動程序的處理過程 設(shè)備處理程序的主要任務(wù)是啟動指定設(shè)備,其處理過程如下:將抽象要求轉(zhuǎn)化為具體要求。檢查I/O請求的合法性讀出和檢查設(shè)備的狀態(tài)傳送參數(shù)設(shè)置工作方式啟動I/O設(shè)備6.5.6 中斷1.中斷概念v中斷是指在計算機(jī)運(yùn)行期間,CPU暫停當(dāng)前進(jìn)程而轉(zhuǎn)去處理其他應(yīng)用程序的過程。2.禁

23、止中斷禁止中斷v當(dāng)CPU中PSW的中斷允許位被清除時,CPU不能響應(yīng)中斷請求,稱為禁止中斷或關(guān)中斷。3.中斷屏蔽中斷屏蔽v在中斷請求產(chǎn)生以后,系統(tǒng)用軟件的方式有選擇的封鎖在中斷請求產(chǎn)生以后,系統(tǒng)用軟件的方式有選擇的封鎖部分中斷,稱為中斷屏蔽。有些最高優(yōu)先級中斷不能屏部分中斷,稱為中斷屏蔽。有些最高優(yōu)先級中斷不能屏蔽,如掉電中斷。蔽,如掉電中斷。4.中斷分類1)硬中斷:通過硬件產(chǎn)生中斷請求v內(nèi)中斷處理機(jī)和內(nèi)存內(nèi)部產(chǎn)生的中斷。如;地址非法,除數(shù)為零,非法指令等。 v外中斷 來自處理機(jī)和內(nèi)存外部的中斷。如:I/O中斷,外部信號中斷(鍵盤輸入Esc),各種定時器中斷等。2)軟中斷:通信進(jìn)程之間用來模擬

24、硬中斷的一種信號通信方式。中斷處理程序不一定立刻執(zhí)行。5.中斷優(yōu)先級低優(yōu)先級高優(yōu)先級電源故障時鐘中斷配置文件處理機(jī)內(nèi)部中斷設(shè)備 n設(shè)備 1DPC/dispatchAPC3130272632線程優(yōu)先級0至31102928硬件中斷軟件中斷按中斷源的輕重緩急賦予了不同的優(yōu)先級。所有線程都運(yùn)行在中斷優(yōu)先級0/1上硬件中斷的優(yōu)先級大于軟件中斷Windows的中斷優(yōu)先級的中斷優(yōu)先級6.中斷處理過程v內(nèi)中斷v檢查CPU響應(yīng)中斷的條件是否滿足(優(yōu)先級,中斷允許位)。v如果CPU響應(yīng)中斷,則必須關(guān)中斷,使CPU進(jìn)入不可再次響應(yīng)中斷的狀態(tài)。v保存被中斷進(jìn)程的現(xiàn)場(PSW,PC,寄存器內(nèi)容)。v分析中斷原因,調(diào)用中

25、斷處理子程序。v執(zhí)行中斷處理子程序。v退出中斷,恢復(fù)被中斷進(jìn)程的現(xiàn)場v開中斷。NN+1用戶程序中斷服務(wù)子程序處理機(jī)狀態(tài)字 PSW程序計數(shù)器 PC寄存器 1寄存器 n中斷堆棧中斷現(xiàn)場保護(hù)示意圖 6.6 磁盤管理l磁盤I/O速度是影響文件系統(tǒng)性能的主要因素,因此,提高磁盤的I/O速度是磁盤管理的主要功能。l影響磁盤性能的因素:數(shù)據(jù)的結(jié)構(gòu)、磁盤的類型、磁盤訪問時間。l提高磁盤I/O速度的主要途徑有: 1)選擇介質(zhì)好的磁盤 2)采用好的磁盤調(diào)度算法 3)設(shè)置磁盤高速緩沖區(qū)1.磁盤結(jié)構(gòu)0道n道扇區(qū)主軸記錄面小車磁頭0nl一個磁盤含多個盤片。l每個盤片含兩面,每面上都有一個讀寫磁頭。l每面含若干個磁道。l

26、每條磁道上存儲相同數(shù)目的二進(jìn)制位。l每條磁道又分成若干個扇區(qū),一個扇區(qū)相當(dāng)于一個盤塊。l每個盤面同一位置的磁道形成一個柱面。l通過柱面號、磁頭號和扇區(qū)號可以定位數(shù)據(jù)。l磁頭不動,盤面旋轉(zhuǎn)。2.磁盤的格式化(低級格式化)l低格是指廠商在出廠之前對磁盤進(jìn)行扇區(qū)劃分,為每個扇區(qū)寫入格式控制信息。l高級格式化是指在磁盤上建立文件系統(tǒng),由操作系統(tǒng)提供的工具實(shí)現(xiàn)。3.磁盤的類型 從不同的角度分類,磁盤可分為:硬盤和軟盤,單片盤和多片盤、固定頭磁盤和移動頭磁盤。l固定頭磁盤每條磁道上都有一個讀/寫磁頭,適用于大容量磁盤。l移動頭磁盤每個盤面僅配一個讀/寫磁頭,磁頭在各磁道間移動尋道。任何時刻所有磁頭位于離中

27、心距離相同的磁道上形成柱面。例如微機(jī)上用的硬盤(也叫溫切斯特硬盤)、軟盤。 磁盤的I/O訪問通常要經(jīng)歷:等待設(shè)備、等到通道、尋道、旋轉(zhuǎn)延遲和數(shù)據(jù)傳送5個階段。一般磁盤訪問時間分為三部分:l尋道時間Ts:磁頭從當(dāng)前位置移動到指定磁道上所經(jīng)歷的時間。 s:啟動磁盤時間(磁盤驅(qū)動器啟動),m:常數(shù)=0.3, n:磁道數(shù), Ts:隨尋道距離的增大而增大,約5-10msl旋轉(zhuǎn)延遲時間Tr:磁頭找到指定的扇區(qū)所經(jīng)歷的時間。硬盤平均旋轉(zhuǎn)時間一般為3ms,軟盤一般為100-200ms4.磁盤的訪問snmTsrTr21v傳輸時間Tt:數(shù)據(jù)從磁盤讀出,或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時間。 r:磁盤旋轉(zhuǎn)速度 N:一條磁道

28、上的字節(jié)數(shù) b:每次讀寫的字節(jié)數(shù)v磁盤訪問時間: 磁盤訪問時間和每次讀取數(shù)據(jù)的多少有關(guān)系,當(dāng)存取數(shù)據(jù)相同時,訪問時間和數(shù)據(jù)的組織有一定關(guān)系trsaTTTTrNbTt5.磁盤調(diào)度算法 磁盤訪問主要的性能差異在于尋道時間,對于多個要求訪問磁盤的I/O請求,應(yīng)有適當(dāng)?shù)恼{(diào)度算法,使得各進(jìn)程對磁盤的平均訪問時間最小。1)先來先服務(wù)(FCFS) 優(yōu)點(diǎn):公平、簡單。缺點(diǎn):未對尋道時間進(jìn)行優(yōu)化,平均尋道時間較長。5545583391918219072160701501038112184146被訪問的下 移動距離一個磁道號 (磁道數(shù))平均尋道長度:553FCFS調(diào)度算法從100#磁道開始2)最短尋道時間優(yōu)先(S

29、STF) 先滿足尋道時間短的進(jìn)程。v優(yōu)點(diǎn):對尋道時間優(yōu)化v缺點(diǎn):“饑餓”現(xiàn)象發(fā)生90105832553391638118201501321601018424被訪問的下 移動距離一個磁道號 (磁道數(shù))平均尋道長度:275從100#磁道開始SSTF調(diào)度算法 對SSTF算法進(jìn)行改造,不僅考慮要訪問的磁道與當(dāng)前磁盤的距離,更優(yōu)先考慮磁頭的當(dāng)前移動方向,避免了“饑餓”現(xiàn)象,因該算法中磁頭的移動規(guī)律頗似電梯的運(yùn)行,故又稱“電梯調(diào)度算法”。4)循環(huán)掃描(CSCAN) 對SCAN進(jìn)行改造,固定磁頭只能單向移動,解決進(jìn)程嚴(yán)重延遲現(xiàn)象。內(nèi)外內(nèi)外3)掃描算法(SCAN)SCAN和CSCANSCAN調(diào)度算法15050

30、16010184249094583255339163811820被訪問的下 移動距離一個磁道號 (磁道數(shù))平均尋道長度:278從100#磁道開始,向磁道號增加的方向15050160101842418166382039155165839032被訪問的下 移動距離一個磁道號 (磁道數(shù))平均尋道長度:357CSCAN調(diào)度算法從100#磁道開始,向磁道號增加的方向 對于對于SSTF、SCAN、CSCAN均有可能出現(xiàn)磁頭在某處停留不均有可能出現(xiàn)磁頭在某處停留不動的情況(如進(jìn)程對某道的訪問頻率高)動的情況(如進(jìn)程對某道的訪問頻率高)稱為稱為“磁臂粘著磁臂粘著”現(xiàn)現(xiàn)象。象。 N-step-SCAN算法將磁盤

31、請求隊列分成若干個長度為算法將磁盤請求隊列分成若干個長度為N的的子隊列,用子隊列,用FCFS依此處理這些子隊列。在每個隊列中用依此處理這些子隊列。在每個隊列中用SCAN。N越大(一個進(jìn)程一隊)越大(一個進(jìn)程一隊)SCAN N越小(越小(N=1)FCFS5)N-step-SCAN掃描算法 將將 N-step-SCAN算法簡單化為二個隊列:算法簡單化為二個隊列:一個隊列為:當(dāng)前已存在的請求磁盤一個隊列為:當(dāng)前已存在的請求磁盤I/O的進(jìn)程形成的隊列。的進(jìn)程形成的隊列。按按SCAN算法處理。算法處理。另一個隊列為:在磁盤掃描期間,新出現(xiàn)的請求磁盤另一個隊列為:在磁盤掃描期間,新出現(xiàn)的請求磁盤I/O的進(jìn)

32、程形成的隊列,新的請求下次掃描時再處理。的進(jìn)程形成的隊列,新的請求下次掃描時再處理。 6)FSCAN掃描算法6.7 緩沖管理1.緩沖的引入l緩解CPU與I/O設(shè)備間速度不匹配的矛盾l減少對CPU的中斷頻率l提高CPU和I/O設(shè)備之間的并行性l協(xié)調(diào)傳輸數(shù)據(jù)大小不一致的設(shè)備2.緩沖的設(shè)置 緩沖是在通信過程中,為了緩解通信雙方的速度匹配而引入的一個中間層次,其速度與較快的一方接近。按其設(shè)置可以分為以下幾種: Cache:一種加速內(nèi)存或磁盤存取的裝置,可將慢速磁盤上的數(shù)據(jù)拷貝至快速的內(nèi)存進(jìn)行讀寫動作, 以提升系統(tǒng)響應(yīng)的速度。(硬件緩沖) I/O設(shè)備或控制器內(nèi)部的純硬件緩沖區(qū)內(nèi)存開辟的緩沖區(qū):I/O設(shè)備緩沖區(qū),文件緩沖區(qū)脫機(jī)I/O技術(shù)和SPOOLing技術(shù)1)單緩沖:內(nèi)存中的一塊區(qū)域用戶進(jìn)程輸出設(shè)備緩沖區(qū)操作系統(tǒng)(a)單緩沖設(shè): T:一塊數(shù)據(jù)從磁盤到內(nèi)存緩沖區(qū)所需的時間; M:操作系統(tǒng)將緩沖區(qū)數(shù)據(jù)送入用戶區(qū)所需時間; C:CPU對數(shù)據(jù)處理所需時間;則,系統(tǒng)對整個數(shù)據(jù)的處理時間為: max(C,T)+M(T+C)(CPU和I/O設(shè)備并行工作,通常M遠(yuǎn)小于T或C)2)雙緩沖用戶進(jìn)程輸出設(shè)備緩沖區(qū)1操作

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論