操作系統(tǒng)第5章 設(shè)備管理_第1頁(yè)
操作系統(tǒng)第5章 設(shè)備管理_第2頁(yè)
操作系統(tǒng)第5章 設(shè)備管理_第3頁(yè)
操作系統(tǒng)第5章 設(shè)備管理_第4頁(yè)
操作系統(tǒng)第5章 設(shè)備管理_第5頁(yè)
已閱讀5頁(yè),還剩117頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、操作系統(tǒng)原理操作系統(tǒng)原理 Operating System 本章主要內(nèi)本章主要內(nèi)容容計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 控制計(jì)算機(jī)所有輸入/輸出設(shè)備是操作系統(tǒng)的主要功能之一。在計(jì)算機(jī)系統(tǒng)中,除了CPU和內(nèi)存之外,其他的大部分硬件設(shè)備稱為外部設(shè)備。包括常用的輸入輸出設(shè)備、外存設(shè)備以及終端設(shè)備等。這些設(shè)備種類繁多、特性各異、操作時(shí)的區(qū)別也很大,從而使得操作系統(tǒng)的設(shè)備管理變得十分復(fù)雜,因此,設(shè)備管理是操作系統(tǒng)中最龐雜和瑣碎的部分。操作系統(tǒng)原理操作系統(tǒng)原理 Operating System 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating Syst

2、em 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.1.1 5.1.1 設(shè)備分類設(shè)備分類5.1.2 5.1.2 設(shè)備控制器設(shè)備控制器5.1.3 5.1.3 設(shè)備通道設(shè)備通道計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 設(shè)備的種類和數(shù)量越來越多,結(jié)構(gòu)也越來越復(fù)雜,為了管理上的方便,通常按不同的觀點(diǎn),從不同的角度對(duì)設(shè)備進(jìn)行分類。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2. 設(shè)備與控制器之間的接口設(shè)備與控制器之間的接口設(shè)備通常不直接與cpu

3、相連,而是與設(shè)備控制器相連,三種信號(hào)線。 設(shè)備與控制器間的接口 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.1.1 5.1.1 設(shè)備分類設(shè)備分類5.1.2 5.1.2 設(shè)備控制器設(shè)備控制器5.1.3 5.1.3 設(shè)備通道設(shè)備通道計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 一般而言,設(shè)備由兩大部分組成:物理設(shè)備和電子部件,為了達(dá)到設(shè)計(jì)的模塊性和通用性,一般將其分開。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating S

4、ystem 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2 2、設(shè)備控制器的功能、設(shè)備控制器的功能 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.1.1 5.1.1 設(shè)備分類設(shè)備分類5.1.2 5.1.2 設(shè)備控制器設(shè)備控制器5.1.3 5.1.3 設(shè)備通道設(shè)備通道計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 通道技術(shù)的引入:通道技術(shù)的引入: 引入通道技術(shù)后,輸入輸出操作過程:中央處理機(jī)在執(zhí)行主程序時(shí)遇到輸入輸出請(qǐng)求,則它啟動(dòng)指定通道上的

5、外圍設(shè)備,一旦啟動(dòng)成功,通道開始控制外圍設(shè)備進(jìn)行操作。這時(shí)CPU就可執(zhí)行其它任務(wù)并與通道并行工作,直到輸入輸出操作完成。當(dāng)主機(jī)委托的I/O任務(wù)完成后,通道發(fā)出中斷信號(hào),請(qǐng)求CPU處理,CPU停止當(dāng)前工作,轉(zhuǎn)向處理輸入輸出操作結(jié)束事件。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 按照信息交換方式和連接設(shè)備種類不同,通道按照信息交換方式和連接設(shè)備種類不同,通道可分為三種類型:可分為三種類型: 字節(jié)多路通道(字節(jié)多路通道(Byte Multiplexer Channel) 數(shù)組選擇通道(數(shù)組選擇通道(Blocked Selector Channel) 數(shù)

6、組多路通道(數(shù)組多路通道(Block Multiplexer Channel)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 具有通道裝置的計(jì)算機(jī),具有通道裝置的計(jì)算機(jī),主機(jī)主機(jī)、通道通道、控制器控制器和和設(shè)備設(shè)備之間采用四級(jí)連接,實(shí)施三級(jí)控制。之間采用四級(jí)連接,實(shí)施三級(jí)控制。計(jì)算機(jī)操作系統(tǒng)計(jì)

7、算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 總線型I/O系統(tǒng)結(jié)構(gòu) CPU存儲(chǔ)器磁盤控制器打印機(jī)控制器其它控制器磁盤驅(qū)動(dòng)器打印機(jī)系統(tǒng)總線計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 1. ISA和和EISA總線總線 1) ISA(Industry Standard Architecture)總線 這是為了1984年推出的80286型微機(jī)而設(shè)計(jì)的總線結(jié)構(gòu)。 其總線的帶寬為8位,最高傳輸速率為2 Mb/s。之后不久又推出了16位的(EISA

8、)總線,其最高傳輸速率為8 Mb/s,后又升至16 Mb/s, 能連接12臺(tái)設(shè)備。 2) EISA(Extended ISA)總線 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2. 局部總線局部總線(Local Bus) 1) VESA(Video Electronic Standard Association)總線 2) PCI(Peripheral Component Interface)總線 操作系統(tǒng)原理操作系統(tǒng)原理 Operating System 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 輸入

9、輸出控制在計(jì)算機(jī)處理中具有重要的地位,為了有效地實(shí)現(xiàn)物理I/O操作,必須通過軟、硬件技術(shù),對(duì)CPU和I/O設(shè)備的職能進(jìn)行合理分工,以調(diào)節(jié)系統(tǒng)性能和硬件成本之間的矛盾。隨著計(jì)算機(jī)技術(shù)的發(fā)展,I/O控制方式逐漸由簡(jiǎn)到繁,由低級(jí)到高級(jí),其主要的發(fā)展方向是CPU與外圍系統(tǒng)并行工作。 按照I/O控制器功能的強(qiáng)弱,以及和CPU之間聯(lián)系方式的不同,可把I/O設(shè)備控制方式分為四類,它們的主要差別在于CPU和外圍設(shè)備并行工作的方式、并行工作的程度不同。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.2 I/O5.2 I/O控制控制5.2.1 5.2.1 程序直接控制程

10、序直接控制I/OI/O方式方式5.2.2 5.2.2 中斷驅(qū)動(dòng)方式中斷驅(qū)動(dòng)方式5.2.3 DMA5.2.3 DMA方式方式5.2.4 5.2.4 通道方式通道方式計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 程序直接控制I/O方式(programmed I/O)又稱程序查詢方式,在尚無中斷的早期計(jì)算機(jī)系統(tǒng)中,輸入輸出完全由CPU控制。在這種方式下,輸入輸出指令或詢問指令測(cè)試一臺(tái)設(shè)備的“忙/閑”標(biāo)志位,決定主存儲(chǔ)器和外圍設(shè)備是否交換一個(gè)字節(jié)或一個(gè)字。每傳送一個(gè)字節(jié)或一個(gè)字,CPU都要循環(huán)地執(zhí)行狀態(tài)檢查。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating

11、 System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.2 I/O5.2 I/O控制控制5.2.1 5.2.1 程序直接控制程序直接控制I/OI/O方式方式5.2.2 5.2.2 中斷驅(qū)動(dòng)方式中斷驅(qū)動(dòng)方式5.2.3 DMA5.2.3 DMA方式方式5.2.4 5.2.4 通道方式通道方式計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 中斷技術(shù)的引入,是為了消除程序直接控制方式中設(shè)備驅(qū)動(dòng)程序不斷地輪詢控制器狀態(tài)寄存器的開銷,進(jìn)一步提高系統(tǒng)并行工作的程度。中斷技術(shù)結(jié)合在硬件中實(shí)現(xiàn)后

12、,外圍設(shè)備有了反映其狀態(tài)的能力,僅當(dāng)I/O操作正?;虍惓=Y(jié)束后,由設(shè)備控制器“自動(dòng)地”通知設(shè)備驅(qū)動(dòng)程序,這時(shí)才中斷CPU,實(shí)現(xiàn)了一定程度的并行操作,這就叫中斷驅(qū)動(dòng)方式(interrupt-driven I/O)。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.2 I/O5.2 I/O控制控制5.2.1 5.2.1 程序直接控制程序直接控制I/OI/O方式方式5.2.2 5.2.2 中斷驅(qū)動(dòng)方式中斷驅(qū)動(dòng)方式5.2.3 DMA5.2.3 DMA方式方式5.2.4 5

13、.2.4 通道方式通道方式計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 DMA DMA控制方式的引入控制方式的引入:雖然程序中斷方式消除了程序查詢方式的“忙式”測(cè)試,提高了CPU的利用率,但是CPU在響應(yīng)中斷請(qǐng)求后,必須停止現(xiàn)行程序轉(zhuǎn)入中斷處理程序并參與數(shù)據(jù)傳輸操作。例如,要從鍵盤輸入1KB的數(shù)據(jù),就需要中斷1024次CPU。如果I/O設(shè)備能直接與主存交換數(shù)據(jù)而不占用CPU,那么CPU的利用率還可提高,這就出現(xiàn)了直接存儲(chǔ)器存取(Direct Memory Access,DMA)方式。DMA方式適用于具有DMA控制器的計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操

14、作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系DMADMA控制器至少需要以下邏輯部件:控制器至少需要以下邏輯部件:計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 DMA DMA控制方式的工作原理控制方式的工作原理 地址計(jì)數(shù)控制CPU控制器磁盤控制器主存驅(qū)動(dòng)器緩沖區(qū)圖5-10 DMA 方式總線(1)CPU對(duì)DMA控制器進(jìn)行編程(2)DMA請(qǐng)求 傳送到內(nèi)存(3)數(shù)據(jù)傳送(4)應(yīng)答(5)完成后發(fā)中斷信號(hào)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系DMADMA方式的特點(diǎn):方式的特點(diǎn): 數(shù)據(jù)在內(nèi)存和

15、設(shè)備之間直接傳送,傳送過程中不需要CPU干預(yù)。 僅在一個(gè)數(shù)據(jù)塊傳送結(jié)束后,DMA控制器才向CPU發(fā)送中斷請(qǐng)求。 數(shù)據(jù)的傳送控制工作完全由DMA控制器完成,速度快,適用于高速設(shè)備的數(shù)據(jù)成組傳送。 在數(shù)據(jù)傳送過程中,CPU與外設(shè)并行工作,提高了系統(tǒng)效率。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.2 I/O5.2 I/O控制控制5.2.1 5.2.1 程序直接控制程序直接控制I/OI/O方式方式5.2.2 5.2.2 中斷驅(qū)動(dòng)方式中斷驅(qū)動(dòng)方式5.2.3 DMA5.

16、2.3 DMA方式方式5.2.4 5.2.4 通道方式通道方式計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 通道方式的引入通道方式的引入 通道方式是DMA方式的發(fā)展,它進(jìn)一步將CPU對(duì)I/O操作及有關(guān)管理和控制的干預(yù)減少到以多個(gè)數(shù)據(jù)塊為單位的干預(yù),通道的出現(xiàn)是現(xiàn)代計(jì)算機(jī)系統(tǒng)功能不斷完善、性能不斷提高的結(jié)果。例如,當(dāng)CPU要完成一組相關(guān)數(shù)據(jù)塊的讀(寫)操作時(shí),只需要向通道發(fā)出一條I/O指令,給出所要執(zhí)行的通道處理程序的地址和要訪問的I/O設(shè)備,通道接到該指令后,通過執(zhí)行通道處理程序便可完成CPU指定的I/O任務(wù)。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Oper

17、ating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2 2通道指令通道指令計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系操作 PR計(jì)數(shù)內(nèi)存地址WRITE 0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系3 3通道方式處理過程通道方式處理過程 當(dāng)進(jìn)程要求設(shè)備輸入數(shù)據(jù)時(shí),CPU發(fā)出啟動(dòng)指令,并指明要進(jìn)行的I/O操作、使用設(shè)備的設(shè)備號(hào)和對(duì)應(yīng)的通道。 通道接收到CPU發(fā)來的啟

18、動(dòng)指令后,把存放在內(nèi)存的通道處理程序取出,開始執(zhí)行通道指令。 執(zhí)行一條通道指令,設(shè)置對(duì)應(yīng)設(shè)備控制器中的控制狀態(tài)寄存器。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 設(shè)備根據(jù)通道指令的要求,把數(shù)據(jù)送往內(nèi)存指定區(qū)域,如果本指令不是通道處理程序的最后一條指令,取下一條通道指令,并轉(zhuǎn)繼續(xù)執(zhí)行;否則執(zhí)行。 通道處理程序執(zhí)行結(jié)束,通道向CPU發(fā)中斷信號(hào)請(qǐng)求CPU做中斷處理。 CPU接到中斷處理信號(hào)后進(jìn)行善后處理,然后返回被中斷進(jìn)程繼續(xù)執(zhí)行。操作系統(tǒng)原理操作系統(tǒng)原理 Operating System 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System

19、 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.3 I/O5.3 I/O軟件層次軟件層次5.3.1 I/O5.3.1 I/O軟件的目標(biāo)軟件的目標(biāo)5.3.2 I/O5.3.2 I/O中斷處理程序中斷處理程序5.3.3 I/O5.3.3 I/O設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序5.3.4 5.3.4 與設(shè)備無關(guān)的與設(shè)備無關(guān)的I/OI/O軟件軟件5.3.5 5.3.5 用戶空間的用戶空間的I/OI/O軟件軟件計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 I/O軟件的總體設(shè)計(jì)目標(biāo)是:高效率高效率和通用性通用性。 通常,I/O軟件設(shè)計(jì)時(shí)主要考慮以下問題:設(shè)備無關(guān)性 (Device Irr

20、espective)、統(tǒng)一命名(Uniform Naming)、出錯(cuò)處理(Error Handling)、同步(Synchronous)、緩沖(Buffering)、獨(dú)占型外圍設(shè)備和共享型外圍設(shè)備。 為了合理、高效地解決以上問題,操作系統(tǒng)通常把I/O軟件組織成以下四個(gè)層次:計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.3 I/O5.3 I/O軟件層次軟件層次5.3.1 I/O5.3.1 I/O軟件的目標(biāo)軟件的目標(biāo)5.3.2 I/O5.3.2 I/O中斷處理程序中斷處理程序5.3.3 I/O5.3.3 I/O設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序5.3.4 5.3

21、.4 與設(shè)備無關(guān)的與設(shè)備無關(guān)的I/OI/O軟件軟件5.3.5 5.3.5 用戶空間的用戶空間的I/OI/O軟件軟件計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 中斷處理程序是緊挨硬件的最內(nèi)層軟件,是與硬件設(shè)備密切相關(guān)的軟件。所以中斷是應(yīng)該盡量加以屏蔽的概念,放在操作系統(tǒng)的底層進(jìn)行處理,以便其余部分盡可能少地與之發(fā)生聯(lián)系。每個(gè)進(jìn)程在啟動(dòng)一個(gè)I/O操作后將阻塞,然后等待I/O操作的完成。當(dāng)I/O操作完成并產(chǎn)生一個(gè)中斷時(shí),由操作系統(tǒng)接管CPU后轉(zhuǎn)中斷處理程序執(zhí)行,中斷處理程序執(zhí)行相應(yīng)的處理,并解除相應(yīng)進(jìn)程的阻塞狀態(tài)。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Oper

22、ating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系中斷處理程序的處理過程中斷處理程序的處理過程: 1. 喚醒被阻塞的驅(qū)動(dòng)程序進(jìn)程 2. 保護(hù)被中斷的CPU環(huán)境 3. 轉(zhuǎn)入相應(yīng)的設(shè)備處理程序 4. 中斷處理5. 恢復(fù)中斷進(jìn)程的現(xiàn)場(chǎng)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系中斷現(xiàn)場(chǎng)保護(hù)示意圖 PSW程序狀態(tài)字PC(N1)程序計(jì)數(shù)器R0Rn寄存器開始返回用戶程序中斷服務(wù)子例程PSWPC(N1)中斷棧TTM線指針YNN1R0Rn計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系喚醒被阻塞的驅(qū)動(dòng)程序進(jìn)程對(duì)被中斷進(jìn)程的CP

23、U環(huán)境進(jìn)行保護(hù)分析中斷原因,轉(zhuǎn)入相應(yīng)的中斷處理程序終端中斷處理程序打印機(jī)中斷處理程序磁盤中斷處理程序恢復(fù)被中斷進(jìn)程的CPU現(xiàn)場(chǎng)返回被中斷的進(jìn)程,繼續(xù)執(zhí)行中斷請(qǐng)求信號(hào)中斷處理流程計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.3 I/O5.3 I/O軟件層次軟件層次5.3.1 I/O5.3.1 I/O軟件的目標(biāo)軟件的目標(biāo)5.3.2 I/O5.3.2 I/O中斷處理程序中斷處理程序5.3.3 I/O5.3.3 I/O設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序5.3.4 5.3.4 與設(shè)備無關(guān)的與設(shè)備無關(guān)的I/OI/O軟件軟件5.3.5 5.3.5 用戶空間的用戶空間的I/

24、OI/O軟件軟件計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 不同設(shè)備的控制器中寄存器的個(gè)數(shù)以及能夠識(shí)別的命令的性質(zhì)有著本質(zhì)的不同,所以每個(gè)連接到計(jì)算機(jī)上的I/O設(shè)備都需要某些特定的代碼來對(duì)其控制,這樣的代碼稱為設(shè)備驅(qū)動(dòng)程序(Device Driver),它一般由設(shè)備的制造商編寫并連同設(shè)備一起交付。因?yàn)槊恳粋€(gè)操作系統(tǒng)都需要自己的設(shè)備驅(qū)動(dòng)程序,所以設(shè)備制造商通常要為不同的操作系統(tǒng)提供驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序中包括了所有與設(shè)備相關(guān)的代碼,是直接與硬件打交道的模塊。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 設(shè)

25、備驅(qū)動(dòng)程序的功能設(shè)備驅(qū)動(dòng)程序的功能設(shè)備驅(qū)動(dòng)程序是控制設(shè)備動(dòng)作的核心模塊,用來控制設(shè)備上的數(shù)據(jù)傳輸。一般來說應(yīng)該有以下功能: 接收來自上層的與設(shè)備無關(guān)軟件中的抽象請(qǐng)求,并且監(jiān)督這些請(qǐng)求的執(zhí)行; 取出請(qǐng)求隊(duì)列中的隊(duì)首請(qǐng)求,將相應(yīng)設(shè)備分配給它; 向設(shè)備控制器發(fā)送命令,啟動(dòng)該設(shè)備工作,完成指定I/O操作; 處理來自設(shè)備的中斷。 對(duì)于設(shè)置有通道的計(jì)算機(jī)系統(tǒng),驅(qū)動(dòng)程序還應(yīng)該能夠根據(jù)用戶的I/O請(qǐng)求,自動(dòng)構(gòu)造通道程序。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 設(shè)備驅(qū)動(dòng)程序在系統(tǒng)中的邏輯定位設(shè)備驅(qū)動(dòng)程序在系統(tǒng)中的邏輯定位用戶程序核心I/O子系統(tǒng)打印機(jī)驅(qū)動(dòng)程序掃描

26、儀驅(qū)動(dòng)程序CD-ROM驅(qū)動(dòng)程序打印機(jī)控制器掃描儀控制器CD-ROM控制器用戶進(jìn)程設(shè)備驅(qū)動(dòng)程序接口 用戶空間內(nèi)核空間設(shè)備硬件操作系統(tǒng)內(nèi)核計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 設(shè)備驅(qū)動(dòng)程序的特點(diǎn)設(shè)備驅(qū)動(dòng)程序的特點(diǎn) 驅(qū)動(dòng)程序的主要作用是實(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)用 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 設(shè)備驅(qū)動(dòng)程序與外界的接口設(shè)備驅(qū)動(dòng)

27、程序與外界的接口 對(duì)設(shè)備驅(qū)動(dòng)程序與外界的接口需要進(jìn)行嚴(yán)格的對(duì)設(shè)備驅(qū)動(dòng)程序與外界的接口需要進(jìn)行嚴(yán)格的定義,主要體現(xiàn)在以下三個(gè)方面:定義,主要體現(xiàn)在以下三個(gè)方面:設(shè)備驅(qū)動(dòng)程序與操作系統(tǒng)內(nèi)核的接口;設(shè)備驅(qū)動(dòng)程序與系統(tǒng)引導(dǎo)的接口;設(shè)備驅(qū)動(dòng)程序與設(shè)備的接口。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 設(shè)備驅(qū)動(dòng)程序的組成 設(shè)備驅(qū)動(dòng)程序的注冊(cè)與注銷。 設(shè)備的打開與釋放。 設(shè)備的讀/寫操作 設(shè)備的控制操作。 設(shè)備的中斷或輪詢處理。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系(3)設(shè)備驅(qū)動(dòng)程序的處理過程設(shè)備驅(qū)動(dòng)程序的處理過

28、程 1. 將抽象要求轉(zhuǎn)換為具體要求將抽象要求轉(zhuǎn)換為具體要求 2. 檢查檢查I/O請(qǐng)求的合法性請(qǐng)求的合法性 3. 讀出和檢查設(shè)備的狀態(tài)讀出和檢查設(shè)備的狀態(tài) 4. 傳送必要的參數(shù)傳送必要的參數(shù) 5. 工作方式的設(shè)置工作方式的設(shè)置 6. 啟動(dòng)啟動(dòng)I/O設(shè)備設(shè)備 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.3 I/O5.3 I/O軟件層次軟件層次5.3.1 I/O5.3.1 I/O軟件的目標(biāo)軟件的目標(biāo)5.3.2 I/O5.3.2 I/O中斷處理程序中斷處理程序5.3.3 I/O5.3.3 I/O設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序5.3.4 5.3.4 與設(shè)備無關(guān)的

29、與設(shè)備無關(guān)的I/OI/O軟件軟件5.3.5 5.3.5 用戶空間的用戶空間的I/OI/O軟件軟件計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 1. 設(shè)備獨(dú)立性設(shè)備獨(dú)立性(Device Independence)的概念的概念 為了提高OS的可適應(yīng)性和可擴(kuò)展性,在現(xiàn)代OS中都毫無例外地實(shí)現(xiàn)了設(shè)備獨(dú)立性,也稱為設(shè)備無關(guān)性。 其基本含義是: 應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。為了實(shí)現(xiàn)設(shè)備獨(dú)立性而引入了邏輯設(shè)備和物理設(shè)備這兩個(gè)概念。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 在實(shí)現(xiàn)了設(shè)備獨(dú)立性的功能后, 可帶來以下

30、兩方面的好處。 1) 設(shè)備分配時(shí)的靈活性 2) 易于實(shí)現(xiàn)I/O重定向 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2. 設(shè)備獨(dú)立性軟件設(shè)備獨(dú)立性軟件 1) 執(zhí)行所有設(shè)備的公有操作 對(duì)獨(dú)立設(shè)備的分配與回收; 將邏輯設(shè)備名映射為物理設(shè)備名; 對(duì)設(shè)備進(jìn)行保護(hù); 緩沖管理; 差錯(cuò)控制。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2) 向用戶層向用戶層(或文件層或文件層)軟件提供統(tǒng)一接口軟件提供統(tǒng)一接口 無論何種設(shè)備, 它們向用戶所提供的接口應(yīng)該是相同的。 例如, 對(duì)各種設(shè)備的讀操作,在應(yīng)用程序中都使用read; 而

31、對(duì)各種設(shè)備的寫操作,也都使用write。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系3. 邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn) 1) 邏輯設(shè)備表(三項(xiàng))2) LUT的設(shè)置問題(兩種)系統(tǒng)中只有一張LUT每個(gè)用戶有一張LUT邏輯設(shè)備表 邏輯設(shè)備名物理設(shè)備名驅(qū)動(dòng)程序入口地址/dev/tty/dev/printer3510242046邏輯設(shè)備名/dev/tty/dev/printer系統(tǒng)設(shè)備表指針35(a)(b)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.3 I/O5.3 I/O

32、軟件層次軟件層次5.3.1 I/O5.3.1 I/O軟件的目標(biāo)軟件的目標(biāo)5.3.2 I/O5.3.2 I/O中斷處理程序中斷處理程序5.3.3 I/O5.3.3 I/O設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序5.3.4 5.3.4 與設(shè)備無關(guān)的與設(shè)備無關(guān)的I/OI/O軟件軟件5.3.5 5.3.5 用戶空間的用戶空間的I/OI/O軟件軟件計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 盡管大部分I/O軟件在操作系統(tǒng)中,但用戶空間也有一小部分,通常它們以庫(kù)函數(shù)的形式出現(xiàn),甚至是在核心外運(yùn)行的完整程序。例如用戶編寫的C程序中可以使用標(biāo)準(zhǔn)I/O 庫(kù)函數(shù),經(jīng)編譯以后,用戶程序

33、就和相應(yīng)的庫(kù)函數(shù)鏈接在一起了,然后裝入內(nèi)存運(yùn)行。而庫(kù)函數(shù)代碼中要使用系統(tǒng)調(diào)用(其中包括I/O系統(tǒng)調(diào)用),經(jīng)過系統(tǒng)調(diào)用進(jìn)入操作系統(tǒng),為用戶提供相應(yīng)的服務(wù)。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 1. SPOOLing 為了緩和CPU的高速性與I/O設(shè)備低速性間的矛盾而引入了脫機(jī)輸入、 脫機(jī)輸出技術(shù)。 該技術(shù)是利用專門的外圍控制機(jī), 將低速I/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤上;或者相反。事實(shí)上, 當(dāng)系統(tǒng)中引入了多道程序技術(shù)后,完全可以利用其中的一道程序,來模擬脫機(jī)輸入時(shí)的外圍控制機(jī)功能,把低速I/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤上;再用另一道程序來模擬

34、脫機(jī)輸出時(shí)外圍控制機(jī)的功能,把數(shù)據(jù)從磁盤傳送到低速輸出設(shè)備上。這樣,便可在主機(jī)的直接控制下,實(shí)現(xiàn)脫機(jī)輸入、 輸出功能。 此時(shí)的外圍操作與CPU對(duì)數(shù)據(jù)的處理同時(shí)進(jìn)行, 我們把這種在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作稱為SPOOLing(Simultaneaus Periphernal Operating On-Line),或稱為假脫機(jī)操作。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2. SPOOLing系統(tǒng)的組成系統(tǒng)的組成 SPOOLing系統(tǒng)的組成 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系3. 共享打印機(jī)

35、共享打印機(jī) 共享打印機(jī)技術(shù)已被廣泛地用于多用戶系統(tǒng)和局域網(wǎng)絡(luò)中。 當(dāng)用戶進(jìn)程請(qǐng)求打印輸出時(shí), SPOOLing系統(tǒng)同意為它打印輸出, 但并不真正立即把打印機(jī)分配給該用戶進(jìn)程, 而只為它做兩件事: 由輸出進(jìn)程在輸出井中為之申請(qǐng)一個(gè)空閑磁盤塊區(qū), 并將要打印的數(shù)據(jù)送入其中; 輸出進(jìn)程再為用戶進(jìn)程申請(qǐng)一張空白的用戶請(qǐng)求打印表,并將用戶的打印要求填入其中, 再將該表掛到請(qǐng)求打印隊(duì)列上。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系4. SPOOLing系統(tǒng)的特點(diǎn)系統(tǒng)的特點(diǎn) (1) 提高了I/O的速度。 (2) 將獨(dú)占設(shè)備改造為共享設(shè)備。 (3) 實(shí)現(xiàn)了虛擬設(shè)

36、備功能。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系應(yīng)用進(jìn)程應(yīng)用進(jìn)程設(shè)備無關(guān)設(shè)備無關(guān)中斷處理程序中斷處理程序設(shè)備控制器設(shè)備控制器命令命令狀態(tài)狀態(tài)數(shù)據(jù)數(shù)據(jù)系統(tǒng)接口系統(tǒng)接口硬件接口硬件接口設(shè)備管理的層次結(jié)構(gòu)設(shè)備管理的層次結(jié)構(gòu)文件文件管理器管理器設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序I/O 請(qǐng)求請(qǐng)求I/O 應(yīng)答應(yīng)答進(jìn)行進(jìn)行I I / / O O 調(diào)用調(diào)用格式化格式化I I / / O OSPOOLINGSPOOLING命名命名保護(hù)保護(hù)阻塞阻塞緩沖緩沖分配分配建立設(shè)備寄存器建立設(shè)備寄存器檢查狀態(tài)檢查狀態(tài)控制設(shè)備控制設(shè)備執(zhí)行執(zhí)行I/O 操作操作當(dāng)當(dāng) I/ O結(jié)束時(shí)結(jié)束時(shí),

37、 喚醒驅(qū)動(dòng)程序喚醒驅(qū)動(dòng)程序操作系統(tǒng)原理操作系統(tǒng)原理 Operating System 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.4 5.4 緩沖管理緩沖管理5.4.1 5.4.1 緩沖的引入緩沖的引入5.4.2 5.4.2 單緩沖單緩沖5.4.3 5.4.3 雙緩沖雙緩沖5.4.4 5.4.4 循環(huán)緩沖循環(huán)緩沖5.3.5 5.3.5 緩沖池緩沖池計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 在設(shè)備管理中,引入緩沖區(qū)的主要原因主要原因: 緩沖有硬緩沖硬緩沖和軟緩沖軟緩沖之分計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng)

38、Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.4 5.4 緩沖管理緩沖管理5.4.1 5.4.1 緩沖的引入緩沖的引入5.4.2 5.4.2 單緩沖單緩沖5.4.3 5.4.3 雙緩沖雙緩沖5.4.4 5.4.4 循環(huán)緩沖循環(huán)緩沖5.3.5 5.3.5 緩沖池緩沖池計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.4 5.4 緩沖管理緩沖管理5.4.1 5.4.1 緩沖的引入緩沖的引入5.4.2 5.4.2 單緩沖單緩沖5.4.3 5.4.3 雙緩沖

39、雙緩沖5.4.4 5.4.4 循環(huán)緩沖循環(huán)緩沖5.3.5 5.3.5 緩沖池緩沖池計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.4 5.4 緩沖管理緩沖管理5.4.1 5.4.1 緩沖的引入緩沖的引入5.4.2 5.4.2 單緩沖單緩沖5.4.3 5.4.3 雙緩沖雙緩沖5.4.4 5.4.4 循環(huán)緩沖循環(huán)緩沖5.3.5 5.3.5 緩沖池緩沖池計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 循環(huán)緩沖的組成循環(huán)緩沖的組成

40、包含多個(gè)緩沖區(qū)和多個(gè)指針(Nextg、Nexti、Current)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 循環(huán)緩沖的使用循環(huán)緩沖的使用 當(dāng)計(jì)算進(jìn)程要使用緩沖區(qū)中的數(shù)據(jù)時(shí),調(diào)用當(dāng)計(jì)算進(jìn)程要使用緩沖區(qū)中的數(shù)據(jù)時(shí),調(diào)用Getbuf過程過程;當(dāng)輸入進(jìn)程要使用空緩沖區(qū)時(shí),調(diào)用當(dāng)輸入進(jìn)程要使用空緩沖區(qū)時(shí),調(diào)用Getbuf過程。過程。當(dāng)計(jì)算進(jìn)程把當(dāng)計(jì)算進(jìn)程把C緩沖區(qū)的數(shù)據(jù)提取完畢時(shí),便調(diào)緩沖區(qū)的數(shù)據(jù)提取完畢時(shí),便調(diào)用用Releasebuf過程釋放過程釋放C緩沖區(qū)緩沖區(qū);當(dāng)輸入進(jìn)程把緩沖區(qū)裝滿時(shí),也調(diào)用當(dāng)輸入進(jìn)程把緩沖區(qū)裝滿時(shí),也調(diào)用Releasebuf過程釋

41、放過程釋放R緩沖區(qū)緩沖區(qū)。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 進(jìn)程同步進(jìn)程同步計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.4 5.4 緩沖管理緩沖管理5.4.1 5.4.1 緩沖的引入緩沖的引入5.4.2 5.4.2 單緩沖單緩沖5.4.3 5.4.3 雙緩沖雙緩沖5.4.4 5.4.4 循環(huán)緩沖循環(huán)緩沖5.3.5 5.3.5 緩沖池緩沖池計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 緩沖池的組成緩沖池的組成計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operat

42、ing System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 Getbuf過程和過程和Putbuf過程過程 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系Procedure Putbuf(type, number)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 緩沖區(qū)的工作方式緩沖區(qū)的工作方式操作系統(tǒng)原理操作系統(tǒng)原理 Operating System 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 在計(jì)算機(jī)系統(tǒng)中,設(shè)備、控制器和通道等資源是有限的,并不是每個(gè)進(jìn)程隨時(shí)都可以得到這些資源

43、。在多道程序環(huán)境下,系統(tǒng)中的設(shè)備供所有進(jìn)程使用,為防止諸進(jìn)程對(duì)系統(tǒng)資源的無序使用,系統(tǒng)規(guī)定設(shè)備由系統(tǒng)統(tǒng)一分配,以提高設(shè)備利用率并避免死鎖。每當(dāng)進(jìn)程向系統(tǒng)提出I/O請(qǐng)求時(shí),只要是可能的和安全的,設(shè)備分配程序便把設(shè)備分配給它,必要時(shí)還可能要分配控制器和通道,分配的順序是:分配設(shè)備、分配控制器、分配通道。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.5 5.5 設(shè)備分配設(shè)備分配5.5.1 5.5.1 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.5.2 5.5.2 設(shè)備獨(dú)立性設(shè)備獨(dú)立性5.5.3 5.5.3 設(shè)備分配技術(shù)設(shè)備分配技術(shù)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操

44、作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系1. 設(shè)備控制表設(shè)備控制表DCT 設(shè)備控制表 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2. 控制器控制表、控制器控制表、 通道控制表和系統(tǒng)設(shè)備表通道控制表和系統(tǒng)設(shè)備表 COCT、 CHCT和SDT表 (c) 系統(tǒng) 設(shè) 備 表 SDT控制器標(biāo)識(shí)符:controllerid控制器狀態(tài):忙/閑與控制器連接的通道表指針控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)尾指針通道標(biāo)識(shí)符:channelid通道狀態(tài):忙/閑與通道連接的控制器表首址通道隊(duì)列的隊(duì)首指針通道隊(duì)列的隊(duì)尾指針(a) 控制器表 COCT(

45、b) 通道表 CHCT表目 1表目 i設(shè)備類設(shè)備標(biāo)識(shí)符DCT驅(qū)動(dòng)程序入口計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.5 5.5 設(shè)備分配設(shè)備分配5.5.1 5.5.1 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.5.2 5.5.2 設(shè)備分配考慮的因素設(shè)備分配考慮的因素5.5.3 5.5.3 設(shè)備分配技術(shù)設(shè)備分配技術(shù)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系1. 設(shè)備的固有屬性設(shè)備的固有屬性 (1) 獨(dú)享設(shè)備。(獨(dú)占設(shè)備,設(shè)備不能充分利用) (2) 共享設(shè)備。(考慮先后次序) (3) 虛擬設(shè)備。 (考慮

46、先后次序)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2. 設(shè)備分配算法設(shè)備分配算法 (1)先來先服務(wù)。 (2) 優(yōu)先級(jí)高者優(yōu)先。 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系3. 設(shè)備分配中的安全性設(shè)備分配中的安全性 1) 安全分配方式 2) 不安全分配方式 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.5 5.5 設(shè)備分配設(shè)備分配5.5.1 5.5.1 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)5.5.2 5.5.2 設(shè)備獨(dú)立性設(shè)備獨(dú)立性5.5.3 5.5.3

47、 設(shè)備分配技術(shù)設(shè)備分配技術(shù)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 設(shè)備分配方式設(shè)備分配方式 獨(dú)占方式 可以采用靜態(tài)分配和動(dòng)態(tài)分配兩種方式。 共享方式 虛擬方式 實(shí)現(xiàn)虛擬分配的技術(shù)是SPOOLing技術(shù)。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2 2設(shè)備分配算法設(shè)備分配算法設(shè)備分配算法就是按照某種原則把設(shè)備分配給進(jìn)程。 先請(qǐng)求先服務(wù) 優(yōu)先級(jí)高者優(yōu)先服務(wù)3 3設(shè)備分配中的安全性設(shè)備分配中的安全性 從進(jìn)程運(yùn)行的安全性上考慮,設(shè)備分配有以下兩種方式: 安全分配方式 不安全分配方式計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系

48、統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系4.4.設(shè)備分配程序設(shè)備分配程序 分配設(shè)備:查找邏輯設(shè)備表LUTSDTDCT 分配控制器:DCTCOCT 分配通道:COCTCHCT,逐次查找CHCT中的標(biāo)記,若找到一個(gè)空閑通道則將該通道分配給請(qǐng)求進(jìn)程。否則將請(qǐng)求I/O 的進(jìn)程阻塞在等待該通道的等待隊(duì)列上。 只有在設(shè)備、控制器和通道三者都分配成功時(shí),本只有在設(shè)備、控制器和通道三者都分配成功時(shí),本次分配才算成功。然后就可以啟動(dòng)設(shè)備進(jìn)行數(shù)據(jù)傳送。次分配才算成功。然后就可以啟動(dòng)設(shè)備進(jìn)行數(shù)據(jù)傳送。 操作系統(tǒng)原理操作系統(tǒng)原理 Operating System 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) O

49、perating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系5.6 5.6 磁盤調(diào)度和管理磁盤調(diào)度和管理5.6.1 5.6.1 磁盤的物理性能磁盤的物理性能5.6.2 5.6.2 磁盤調(diào)度算法磁盤調(diào)度算法5.6.3 5.6.3 磁盤調(diào)度算法的比較磁盤調(diào)度算法的比較5.6.4 5.6.4 磁盤的錯(cuò)誤處理磁盤的錯(cuò)誤處理5.6.5 5.6.5 獨(dú)立磁盤冗余陣列獨(dú)立磁盤冗余陣列 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系磁盤磁盤 磁盤是一種直接存取存儲(chǔ)設(shè)備,又叫隨機(jī)存取存儲(chǔ)設(shè)備。從不同的角度進(jìn)行分類,可將磁盤分成硬盤和軟盤;單片盤和多片盤;固定磁頭和活動(dòng)磁頭等

50、。磁盤讀與寫的速度相同,為了提高可靠性,可將若干磁盤組成陣列。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系磁盤的物理結(jié)構(gòu)磁盤的物理結(jié)構(gòu)計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系1. 數(shù)據(jù)的組織和格式數(shù)據(jù)的組織和格式 Gap102031292293Field GapField GapGap FieldGap FieldGap17741515201774151520IDDataIDDataGap1292293Field GapField1774151520IDDataSectorPhysical Sector

51、 0Physical Sector 1Physical Sector 29BytesSynchByteTrack#Head#Sector#Bytes 1211CRC3SynchByteDataCRC15122600 Bytes/SectorGap磁盤的格式化 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系2. 2. 磁盤的類型磁盤的類型 1) 固定頭磁盤 2) 移動(dòng)頭磁盤 計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系3. 3. 磁盤訪問時(shí)間磁盤訪問時(shí)間T Ta asnmTsrNbTtrNbrTTTTTstsa

52、21R為磁盤的轉(zhuǎn)速,N為一條磁道上的字節(jié)數(shù),b是每次讀寫的字節(jié)數(shù)。計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系4.4.影響存取訪問速度的幾個(gè)因素影響存取訪問速度的幾個(gè)因素 循環(huán)排序循環(huán)排序例:考慮磁道保存4個(gè)記錄的旋轉(zhuǎn)型設(shè)備,假定收到四個(gè)I/O請(qǐng)求。 請(qǐng)求次序 記錄號(hào) (1) 讀記錄4 (2) 讀記錄3 (3) 讀記錄2 (4) 讀記錄1計(jì)算機(jī)操作系統(tǒng)計(jì)算機(jī)操作系統(tǒng) Operating System 計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 優(yōu)化分布優(yōu)化分布 例:信息在存儲(chǔ)空間的排列方式會(huì)影響存取等待時(shí)間。考慮10個(gè)邏輯記錄A,B,J被存于旋轉(zhuǎn)型設(shè)備上,每道存放10個(gè)記錄,安排如下: 物理塊 邏輯紀(jì)錄 1-10 A-J 處理10個(gè)記錄的總時(shí)間(旋轉(zhuǎn)速度20ms): 214毫秒 計(jì)算機(jī)操作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論