版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、MIS系統(tǒng)軟件本章講解內(nèi)容1本章講解內(nèi)容2第五章設(shè)備管理5.1 5.1 概概 述述5.2 I/O5.2 I/O軟件的組成軟件的組成5.3 I/O5.3 I/O硬件特點(diǎn)硬件特點(diǎn)5.4 I/O5.4 I/O控制技術(shù)控制技術(shù)5.5 5.5 設(shè)備有關(guān)技術(shù)設(shè)備有關(guān)技術(shù)5.6 5.6 設(shè)備分配與設(shè)備處理設(shè)備分配與設(shè)備處理5.7 5.7 磁盤存儲(chǔ)器管理磁盤存儲(chǔ)器管理 5.8 5.8 典型外部設(shè)備典型外部設(shè)備 第五章第五章設(shè)備管理設(shè)備管理5.1 概 述I/O端口I/O端口外存儲(chǔ)器接口控制器運(yùn)算器存儲(chǔ)器1.I/O性能經(jīng)常成為系統(tǒng)性能的瓶頸(1)CPU性能不等于系統(tǒng)性能 響應(yīng)時(shí)間也是一個(gè)重要因素(2)CPU性能越
2、高,與I/O差距越大 彌補(bǔ):更多的進(jìn)程(3)進(jìn)程切換多,系統(tǒng)開銷大 5.1.1 I/O的特點(diǎn)2.操作系統(tǒng)龐大復(fù)雜的原因之一是:資源多、雜、并發(fā),均來自I/O 外設(shè)種類繁多,結(jié)構(gòu)各異 輸入輸出數(shù)據(jù)信號(hào)類型不同 速度差異很大3.理解I/O的工作過程與結(jié)構(gòu)是理解操作系統(tǒng)的工作過程與結(jié)構(gòu)的關(guān)鍵4.與其他功能聯(lián)系密切,特別是文件系統(tǒng)1.按使用特性分 存儲(chǔ)型設(shè)備 輸入型設(shè)備(外設(shè)主機(jī)) 輸出型設(shè)備(主機(jī)外設(shè)) 輸入輸出型設(shè)備(交互型設(shè)備)2.按數(shù)據(jù)組織分 塊設(shè)備:以數(shù)據(jù)塊為單位存儲(chǔ)、傳輸信息 字符設(shè)備:以字符為單位存儲(chǔ)、傳輸信息5.1.2 設(shè)備的分類 系統(tǒng)設(shè)備 指操作系統(tǒng)生成時(shí),登記在系統(tǒng)中的標(biāo)準(zhǔn)設(shè)備(如
3、終端、打印機(jī)、磁盤機(jī)等) 用戶設(shè)備 指在系統(tǒng)生成時(shí),未登記在系統(tǒng)中的非標(biāo)準(zhǔn)設(shè)備。對(duì)于這類設(shè)備的處理程序由用戶提供,并將其納入系統(tǒng),由系統(tǒng)代替用戶實(shí)施管理。(如A/D,D/A轉(zhuǎn)換器,CAD所用專用設(shè)備) 3.按外部設(shè)備的從屬關(guān)系分1) 1) 獨(dú)占設(shè)備獨(dú)占設(shè)備 在一段時(shí)間內(nèi)只能有一個(gè)進(jìn)程使用的設(shè)備,一般為低速I/O設(shè)備。(如打印機(jī),磁帶等)臨界資源,互斥訪問,可引起死鎖臨界資源,互斥訪問,可引起死鎖2) 2) 共享設(shè)備共享設(shè)備 在一段時(shí)間內(nèi)可有多個(gè)進(jìn)程共同使用的設(shè)備,多個(gè)進(jìn)程以交叉的方式交叉的方式來使用設(shè)備,其資源利用率高。(如硬盤)宏觀上多個(gè)進(jìn)程同時(shí)訪問,可尋址可隨機(jī)訪問宏觀上多個(gè)進(jìn)程同時(shí)訪問,
4、可尋址可隨機(jī)訪問 3) 3) 虛擬設(shè)備虛擬設(shè)備 4.按設(shè)備的共享屬性分 在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛設(shè)備。 目的:將慢速的獨(dú)占設(shè)備改造成多個(gè)用戶可共享的設(shè)備,提高設(shè)備的利用率。 實(shí)例:Spooling技術(shù),利用虛設(shè)備技術(shù) 用硬盤模擬輸入輸出設(shè)備3)虛設(shè)備 為解決獨(dú)立設(shè)備數(shù)量少,速度慢,不能滿足眾多進(jìn)程的要求,而且在進(jìn)程獨(dú)占設(shè)備期間,設(shè)備利用率比較低而提出的一種設(shè)備管理技術(shù); spooling(simultaneous peripheral Operations on-line)外部設(shè)備聯(lián)機(jī)并行操作(假脫機(jī)技術(shù))。Spoolin
5、g技術(shù)傳輸速率在數(shù)百千個(gè)字節(jié)數(shù)至數(shù)兆字節(jié)數(shù)(磁盤機(jī),光盤機(jī))傳輸速率在數(shù)千個(gè)字節(jié)數(shù)至數(shù)萬個(gè)字節(jié)數(shù)(行式打印機(jī),激光打印機(jī))傳輸速率在幾個(gè)字節(jié)至數(shù)百個(gè)字節(jié)數(shù)(鍵盤、鼠標(biāo)、語音輸入輸出)5.按數(shù)據(jù)傳輸率分5.1.3 設(shè)計(jì)目標(biāo)與任務(wù) 提高方便性 實(shí)現(xiàn)并行性 均衡性 設(shè)備獨(dú)立性 1.設(shè)計(jì)目標(biāo)(1)設(shè)備分配與回收 記錄設(shè)備的狀態(tài) 根據(jù)用戶的請(qǐng)求和設(shè)備的類型,采用一定的分配算法,選擇一條數(shù)據(jù)通路 (2)建立統(tǒng)一的獨(dú)立于設(shè)備的接口(3)完成設(shè)備驅(qū)動(dòng)程序,實(shí)現(xiàn)真正的I/O操作(4)處理外部設(shè)備的中斷處理(5)管理I/O緩沖區(qū)2. 設(shè)備管理的功能 1)按照用戶的請(qǐng)求,控制設(shè)備的各種操作,完成I/O設(shè)備與內(nèi)存之間
6、的數(shù)據(jù)交換,最終完成用戶的I/O請(qǐng)求設(shè)備分配與回收;設(shè)備驅(qū)動(dòng)程序;設(shè)備中斷處理;緩沖區(qū)管理。3.設(shè)備管理的目標(biāo)和任務(wù)2)向用戶提供使用外部設(shè)備的方便接口,使用戶擺脫繁瑣的編程負(fù)擔(dān) 方便性 友好界面 透明性 邏輯設(shè)備與物理設(shè)備、屏蔽硬件細(xì)節(jié)(設(shè)備的物理細(xì)節(jié),錯(cuò)誤處理,不同I/O的差異性)3)充分利用各種技術(shù)(通道,中斷,緩沖等)提高CPU與設(shè)備、設(shè)備與設(shè)備之間的并行工作能力,充分利用資源,提高資源利用率( 并行性、 均衡性) 設(shè)備管理的目標(biāo)和任務(wù)(續(xù))4)保證在多道程序環(huán)境下,當(dāng)多個(gè)進(jìn)程競爭使用設(shè)備時(shí),按一定策略分配和管理各種設(shè)備,使系統(tǒng)能有條不紊的工作。5)保護(hù)設(shè)備傳送或管理的數(shù)據(jù)應(yīng)該是安全的
7、、不被破壞的、保密的。 設(shè)備管理的目標(biāo)和任務(wù)(續(xù))第五章第五章設(shè)備管理設(shè)備管理5.2 I/O硬件特點(diǎn)設(shè)備組成 IO設(shè)備一般由機(jī)械和電子兩部分組成, 這兩部分分開處理,以提供更加模塊化,更加通用的設(shè)計(jì)。物理設(shè)備 機(jī)械部分是設(shè)備本身(物理裝置)。設(shè)備控制器 電子部分叫做設(shè)備控制器或適配器。在小型和微型機(jī)中,它常采用印刷電路卡插入計(jì)算機(jī)中(接口)。 完成設(shè)備與主機(jī)間的連接和通訊。1. I/O硬件特點(diǎn) 控制器卡上有一個(gè)插座,通過電纜與設(shè)備相連。 控制器和設(shè)備之間的接口是一個(gè)標(biāo)準(zhǔn)接口,它符合ANSI、IEEE或ISO這樣的國際標(biāo)準(zhǔn)。CPU外部設(shè)備控控制制邏邏輯輯電電路路控制寄存器控制寄存器狀態(tài)寄存器狀態(tài)
8、寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器(1)操作異步性(2)設(shè)備自治性(3)接口通用性 關(guān)注點(diǎn):對(duì)該硬件如何進(jìn)行程序設(shè)計(jì),不考慮設(shè)備內(nèi)部如何工作 程序員:軟件接口 即硬件所接受的命令,它所完成的功能,報(bào)回的錯(cuò)誤 1.I/O設(shè)備特點(diǎn)(續(xù)) 一個(gè)I/O過程由四步組成: 準(zhǔn)備 啟動(dòng) 測(cè)試和等待 結(jié)果檢查和錯(cuò)誤處理 通過對(duì)設(shè)備接口寄存器組的讀寫完成 設(shè)備接口復(fù)雜繁瑣 2. 設(shè)備接口 操作系統(tǒng)將命令寫入控制器寄存器中,以實(shí)現(xiàn)輸入輸出 當(dāng)控制器接受一條命令后,可獨(dú)立于CPU完成指定操作,CPU可以轉(zhuǎn)去執(zhí)行其它運(yùn)算。命令完成時(shí),控制器產(chǎn)生一個(gè)中斷,CPU響應(yīng)中斷,控制轉(zhuǎn)給操作系統(tǒng)。CPU通過讀控制器寄存器中的信息,獲得
9、操作結(jié)果和設(shè)備狀態(tài)。 控制器與設(shè)備之間的接口常常是一個(gè)低級(jí)接口。例如磁盤,可以按每個(gè)磁道8扇區(qū),每個(gè)扇區(qū)512個(gè)字節(jié)進(jìn)行格式化。然而,實(shí)際從驅(qū)動(dòng)器出來的卻是一連串的位流,以一個(gè)頭標(biāo)(preamble)開始,然后是一個(gè)扇區(qū)的4096位(5128),最后是檢查和或錯(cuò)誤校驗(yàn)碼(ErrorC一C:ECC)。頭標(biāo)是在對(duì)磁盤格式化時(shí)寫上的,它包括柱面和扇區(qū)數(shù),扇區(qū)的大小和類似的一些數(shù)據(jù)。 控制器的任務(wù)是把串行的位流轉(zhuǎn)換為字節(jié)塊,并進(jìn)行必要的錯(cuò)誤修正。首先,控制器按位進(jìn)行組裝,然后存入控制器內(nèi)部的緩沖區(qū)中形成以字節(jié)為單位的塊。在對(duì)塊驗(yàn)證檢查和并證明無錯(cuò)誤時(shí),再將它復(fù)制到主存中。 指I/O設(shè)備與CPU之間的連
10、接方式,亦即將設(shè)備連接到一個(gè)計(jì)算機(jī)系統(tǒng)上的方式。 在一個(gè)確定的連接模式下,從I/O設(shè)備到CPU間的所有連接成分構(gòu)成了一條I/O路徑(I/O鏈)。3. 設(shè)備連接模式四個(gè)要素: 設(shè)備接口形式 I/O指令形式 I/O地址空間分配及譯碼 連線問題4.設(shè)備與主機(jī)間最基本的連接方式 端口地址譯碼 按照主機(jī)與設(shè)備的約定格式和過程接受或發(fā)送數(shù)據(jù)和信號(hào) 計(jì)算機(jī) 設(shè)備 設(shè)備 計(jì)算機(jī) 將計(jì)算機(jī)的數(shù)字信號(hào)轉(zhuǎn)換為機(jī)械部分能識(shí)別的模擬信號(hào),或反過來 實(shí)現(xiàn)一些諸如設(shè)備內(nèi)部硬件緩沖存儲(chǔ)、數(shù)據(jù)加工的提高性能或增強(qiáng)功能的任務(wù)1) 設(shè)備接口形式 接口電路中:多個(gè)寄存器 一個(gè)寄存器有唯一的一個(gè)地址,每個(gè)地址為I/O端口,該地址稱為I
11、/O端口地址。 I/O指令形式與I/O地址是相互關(guān)聯(lián)的,主要有兩種形式: 內(nèi)存映像編址(內(nèi)存映像I/O模式) I/O獨(dú)立編址(I/O專用指令)2) 端口編址方法3) I/O獨(dú)立編址 分配給系統(tǒng)中所有端口的地址空間是完全獨(dú)立的,與內(nèi)存的地址空間沒有關(guān)系 主機(jī)使用專門的I/O指令對(duì)端口進(jìn)行操作 優(yōu)點(diǎn)外部設(shè)備不占用內(nèi)存的地址空間程序設(shè)計(jì)時(shí),易于區(qū)分是對(duì)內(nèi)存操作還是對(duì)I/O端口操作 缺點(diǎn):對(duì)I/O端口操作的指令類型少,操作不靈活 例子:8086/8088,分配給I/O端口的地址空間64K,0000H0FFFFH,只能用IN和OUT指令對(duì)其進(jìn)行讀寫操作4) 存儲(chǔ)映像編址 分配給系統(tǒng)中所有端口的地址空間與
12、內(nèi)存的地址空間統(tǒng)一編址 主機(jī)把I/O端口看作一個(gè)存儲(chǔ)單元,對(duì)I/O的讀寫操作等同于對(duì)存儲(chǔ)器的操作 優(yōu)點(diǎn)凡是可對(duì)存儲(chǔ)器操作的指令都可對(duì)I/O端口操作不需要專門的I/O指令I(lǐng)/O端口可占有較大的地址空間 缺點(diǎn):占用內(nèi)存空間第五章第五章設(shè)備管理設(shè)備管理5.4 I/O控制技術(shù)I/O控制的四種技術(shù) 程序控制 中斷驅(qū)動(dòng) 直接存儲(chǔ)器存?。―MA) 通道1.程序控制I/O技術(shù)或稱程序直接控制方式、循環(huán)循環(huán)I/OI/O測(cè)試方測(cè)試方式(輪詢)式(輪詢)它是一種由用戶程序直接控制的輸入輸出方式。輸入時(shí):進(jìn)程通過CPU發(fā)START命令啟動(dòng)外設(shè);進(jìn)行狀態(tài)測(cè)試;準(zhǔn)備好,CPU讀取接口中數(shù)據(jù),否則繼續(xù)測(cè)試。輸出時(shí):進(jìn)程通過
13、CPU發(fā)START命令啟動(dòng)外設(shè);進(jìn)行狀態(tài)測(cè)試;準(zhǔn)備好,CPU向接口中輸出數(shù)據(jù),否則繼續(xù)測(cè)試。2.中斷驅(qū)動(dòng)I/O技術(shù)為了解決程序控制I/O方法的主要問題 應(yīng)該讓處理器從輪詢?nèi)蝿?wù)中解放出來 使I/O操作和指令執(zhí)行并行起來。具體作法: 當(dāng)I/O處理單元準(zhǔn)備好與設(shè)備交互的時(shí)候 通過物理信號(hào)通知處理器,即中斷處理器3. DMA技術(shù)中斷的引入大大地提高了處理器處理I/O的效率當(dāng)處理器和I/O間傳送數(shù)據(jù)時(shí),效率仍舊不高解決方法:直接存儲(chǔ)器訪問(DMA:Direct Memory Access) 通過系統(tǒng)總線中一獨(dú)立控制單元DMA控制器 自動(dòng)控制成塊數(shù)據(jù)在內(nèi)存和I/O單元間的傳送 大大提高處理I/O的效能DM
14、A技術(shù)(續(xù)1)當(dāng)處理器需要讀寫一整塊數(shù)據(jù)時(shí)給DMA控制單元發(fā)送一條命令包含:是否請(qǐng)求一次讀或?qū)懀琁/O設(shè)備的編址,開始讀或?qū)懙闹鞔婢幹?,需要傳送的?shù)據(jù)長度等信息處理器發(fā)送完命令后就可處理其它事情 DMA控制器將自動(dòng)管理數(shù)據(jù)的傳送 當(dāng)這個(gè)過程完成后,它會(huì)給處理器發(fā)一個(gè)中斷處理器只在開始傳送和傳送結(jié)束時(shí)關(guān)注一下就可 處理器和DMA傳送不完全并行 有時(shí)會(huì)有總線競爭的情況發(fā)生 處理器用總線時(shí)可能稍作等待 不會(huì)引起中斷 不引起程序上下文的保存 通常過程只有一個(gè)總線周期 在DMA傳送時(shí),處理器訪問總線速度會(huì)變慢 對(duì)于大量數(shù)據(jù)I/O傳送,DMA技術(shù)是很有價(jià)值DMA技術(shù)(續(xù)2)程序程序I/O中斷中斷I/O D
15、MA4.通道獨(dú)立于中央處理器,專門負(fù)責(zé)數(shù)據(jù)I/O傳輸?shù)奶幚頇C(jī)它對(duì)外設(shè)實(shí)現(xiàn)統(tǒng)一管理代替CPU對(duì)I/O操作進(jìn)行控制使CPU和外設(shè)可以并行工作通道又稱為I/O處理機(jī)引入通道的目的:為了使CPU從I/O事務(wù)中解脫出來同時(shí)為了提高CPU與設(shè)備、設(shè)備與設(shè)備之間的并行度第五章第五章設(shè)備管理設(shè)備管理5.5 設(shè)備有關(guān)技術(shù) 為解決獨(dú)立設(shè)備數(shù)量少,速度慢,不能滿足眾多進(jìn)程的要求,而且在進(jìn)程獨(dú)占設(shè)備期間,設(shè)備利用率比較低而提出的一種設(shè)備管理技術(shù)。 spooling(simultaneous peripheralOperations on-line)外部設(shè)備聯(lián)機(jī)并行操作(假脫機(jī)技術(shù)) 5.5.1 spooling技術(shù)1
16、、帶有、帶有SPOOLing的系統(tǒng)示意圖的系統(tǒng)示意圖 2、SPOOLing的工作原理的工作原理 操作系統(tǒng)初啟后激活SPOOLing輸入程序使它處于捕獲輸入請(qǐng)求 的狀態(tài),一旦有輸入請(qǐng)求消息,SPOOLing輸入程序立即得到執(zhí)行,把裝在輸入設(shè)備上的作業(yè)輸入到硬盤的輸入井中。輸入井是一組硬盤扇區(qū)。 SPOOLing輸出把硬盤上輸出井的數(shù)據(jù)送到慢速的輸出設(shè)備上。輸出井的數(shù)據(jù)來自作業(yè)運(yùn)行過程中的輸出。 3、SPOOLing的實(shí)質(zhì)的實(shí)質(zhì) 作業(yè)調(diào)度程序不是從輸入設(shè)備上裝入作業(yè),而是直接從輸入井中把選中的作業(yè)裝入主存,使主機(jī)等待作業(yè)輸入的時(shí)間大為縮短。 同樣對(duì)作業(yè)的輸出而言,寫到輸出井要比寫到輸出設(shè)備快得多
17、。 SPOOLing技術(shù)必須建立在多道程序功能的操作系統(tǒng)上,而且要有高速隨機(jī)外存的支持。通常采用磁盤存儲(chǔ)技術(shù)。4、SPOOLing系統(tǒng)的組成系統(tǒng)的組成 1、輸入井與輸出井輸入井與輸出井:磁盤區(qū)域;輸入井模擬脫機(jī)輸入的設(shè)備,暫存I/O設(shè)備輸入的數(shù)據(jù);輸出井模擬脫機(jī)輸出時(shí)的磁盤,暫存用戶程序的輸出數(shù)據(jù)。 2、輸入緩沖區(qū)和輸出緩沖區(qū)輸入緩沖區(qū)和輸出緩沖區(qū):解決CPU與磁盤速度不匹配;內(nèi)存中的區(qū)域;輸入緩沖區(qū)暫存輸入設(shè)備送來的數(shù)據(jù),以后送入輸入井;輸出緩沖區(qū)用于存放從輸出井送來數(shù)據(jù)。 3、輸入進(jìn)程和輸出進(jìn)程:輸入進(jìn)程和輸出進(jìn)程:模擬輸入和輸出時(shí)的外圍控制機(jī)5、SPOOLing系統(tǒng)的特點(diǎn)系統(tǒng)的特點(diǎn) 1、
18、提高提高I/O的速度:的速度:對(duì)輸入輸出井的數(shù)據(jù)進(jìn)行操作。 2、將獨(dú)占設(shè)備改造為共享設(shè)備將獨(dú)占設(shè)備改造為共享設(shè)備:不直接分配設(shè)備,而是根據(jù)需要在輸入井或輸出井中為其分配存儲(chǔ)區(qū)和建立I/O請(qǐng)求表。 3、實(shí)現(xiàn)虛擬設(shè)備功能:實(shí)現(xiàn)虛擬設(shè)備功能:實(shí)現(xiàn)將獨(dú)占設(shè)備改造為若干臺(tái)對(duì)應(yīng)的邏輯設(shè)備。討論與練習(xí)5.5.2.中斷技術(shù)1. 1. 中斷的概念:中斷的概念: CPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件作出的一種反應(yīng) CPU暫停正在執(zhí)行的程序,保留現(xiàn)場后自動(dòng)轉(zhuǎn)去執(zhí)行相應(yīng)事件的處理程序,處理完成后返回?cái)帱c(diǎn),繼續(xù)執(zhí)行被打斷的程序特點(diǎn):特點(diǎn): 1) 中斷隨機(jī)的 2) 中斷是可恢復(fù)的 3) 中斷是自動(dòng)處理的從用戶角度看中斷從用戶角度看
19、中斷 解決主機(jī)與外設(shè)的并行工作問題 提高可靠性 實(shí)現(xiàn)多機(jī)聯(lián)系 實(shí)現(xiàn)實(shí)時(shí)控制 2. 引入中斷的目的3.中斷類型強(qiáng)迫性中斷 正在運(yùn)行的程序所不期望的,由于某種硬件故障或外部請(qǐng)求引起的自愿性中斷 用戶在程序中有意識(shí)安排的中斷,是由于用戶在編制程序時(shí)因?yàn)橐蟛僮飨到y(tǒng)提供服務(wù),有意使用“訪管”指令或系統(tǒng)調(diào)用,使中斷發(fā)生1)強(qiáng)迫性中斷 輸入/輸出(I/O)中斷:主要來自外部設(shè)備通道 程序性中斷:運(yùn)行程序中本身的中斷(如溢出,缺頁中斷,缺段中斷,地址越界) ) 時(shí)鐘中斷 控制臺(tái)中斷 硬件故障2)自愿性中斷 執(zhí)行I/O 創(chuàng)建進(jìn)程 分配內(nèi)存 信號(hào)量操作 發(fā)送/接收消息4. 微機(jī)中的中斷1.可屏蔽中斷(I/O中斷
20、)2.不可屏蔽中斷(機(jī)器內(nèi)部故障、掉電中斷)3.程序錯(cuò)誤中斷(溢出、除法錯(cuò)等中斷)4.軟件中斷(Trap指令或中斷指令I(lǐng)NT) 有的計(jì)算機(jī)中,為了區(qū)分和不丟失中斷信號(hào),對(duì)應(yīng)每個(gè)中斷源分別用一固定觸發(fā)器寄存中斷信號(hào)規(guī)定值為1時(shí),表示有中斷信號(hào),為0時(shí)表示無 這些觸發(fā)器的全體稱為中斷寄存器 每個(gè)觸發(fā)器稱為一個(gè)中斷位 所以中斷寄存器是由若干個(gè)中斷位組成5. 中斷寄存器6. 中斷響應(yīng)CPU如何響應(yīng)中斷, 兩個(gè)問題: CPU何時(shí)響應(yīng)中斷? 通常在CPU執(zhí)行了一條指令以后,更確切地,在指令周期最后時(shí)刻接受中斷請(qǐng)求,或此時(shí)掃描中斷寄存器 如何知道提出中斷請(qǐng)求的設(shè)備或中斷源? 因?yàn)橹挥兄乐袛嘣椿蛑袛嘣O(shè)備,才
21、能調(diào)用相應(yīng)的中斷處理程序開始開始取下一條指令取下一條指令執(zhí)行指令執(zhí)行指令檢查指令檢查指令處理中斷處理中斷停止停止取周期取周期執(zhí)行周期執(zhí)行周期中斷周期中斷周期不允許中斷不允許中斷允許允許中斷中斷兩種解決方法: 用軟件指令去查詢各設(shè)備接口 這種方法比較費(fèi)時(shí) 多數(shù)微型機(jī)對(duì)此問題的解決方法: 使用一種“向量中斷”的硬件設(shè)施“向量中斷”: 當(dāng)CPU接受某中斷請(qǐng)求時(shí),該設(shè)備接口給處理器發(fā)送具有唯一性的“中斷向量”,以標(biāo)識(shí)該設(shè)備 “中斷向量”在各計(jì)算機(jī)上實(shí)現(xiàn)方法差別比較大7. 中斷向量表 在有的機(jī)器中: 將主存最低位128個(gè)字保留作為中斷向量表,每個(gè)中斷向量占兩個(gè)字 中斷請(qǐng)求的設(shè)備接口為了標(biāo)識(shí)自己,向處理器
22、發(fā)送一個(gè)該設(shè)備在中斷向量表中表目的地址指針8. 中斷優(yōu)先級(jí) 在一些機(jī)器中,中斷優(yōu)先級(jí)按中斷類型劃分: 以機(jī)器故障中斷的優(yōu)先級(jí)最高 程序中斷和訪問管理程序中斷次之 外部中斷更次之 輸入輸出的優(yōu)先級(jí)最低9. 中斷屏蔽 在CPU上運(yùn)行的程序,有時(shí)由于種種原因,不希望其在執(zhí)行過程中被別的事件所中斷,稱為中斷屏蔽。 在PSW中設(shè)置中斷屏蔽碼以屏蔽某些指定的中斷類型 如果其PSW的中斷禁止位建立后,則屏蔽中斷 (不包括不可屏蔽的那些中斷) 如果PSW中的中斷禁止位未建立 則可以接受其中斷優(yōu)先級(jí)高于運(yùn)行程序中斷優(yōu)先級(jí)的那些中斷 各設(shè)備接口中也有中斷禁止位,以禁止該設(shè)備的中斷10. 實(shí)時(shí)處理的中斷 對(duì)于以實(shí)時(shí)
23、處理為主要任務(wù)的機(jī)器,顯然,必須把具有重要意義傳感器發(fā)出的中斷作為高優(yōu)先級(jí),這樣才能有較好的響應(yīng) 現(xiàn)代實(shí)時(shí)系統(tǒng)中,中斷優(yōu)先級(jí)的設(shè)計(jì)是靈活可變的,允許用戶根據(jù)應(yīng)用需要,選擇不同中斷優(yōu)先策略11. 中斷處理簡單的中斷處理 - 典型的處理過程:(1)設(shè)備給處理器發(fā)一個(gè)中斷信號(hào)(2)處理器處理完當(dāng)前指令后響應(yīng)中斷,延遲非常短(要求處理器沒有關(guān)閉中斷)(3)處理器處理完當(dāng)前指令后檢測(cè)到中斷,判斷出中斷來源并向發(fā)送中斷的設(shè)備發(fā)送了確認(rèn)中斷信號(hào),確認(rèn)信號(hào)使得該設(shè)備將中斷信號(hào)恢復(fù)到一般狀態(tài)(4)處理器開始為軟件處理中斷做準(zhǔn)備: 保存中斷點(diǎn)的程序執(zhí)行上下文環(huán)境,這通常包括程 序狀態(tài)字PSW,程序計(jì)數(shù)器PC中的下
24、一條指令位置,一些寄存器的值,它們通常保存在系統(tǒng)控制棧中, 處理器狀態(tài)被切換到管態(tài)(5)處理器根據(jù)中斷源查詢中斷向量表,獲得與該中斷相聯(lián)系的處理程序入口地址,并將PC置成該地址,處理器開始一個(gè)新的指令周期,控制轉(zhuǎn)移到中斷處理程序(6)中斷處理程序開始工作,包括檢查I/O相關(guān)的狀態(tài)信息,操縱I/O設(shè)備或者在設(shè)備和主存之間傳送數(shù)據(jù)等等(7)中斷處理結(jié)束時(shí),處理器檢測(cè)到中斷返回指令,被中斷程序的上下文環(huán)境從系統(tǒng)堆棧中被恢復(fù) 處理器狀態(tài)恢復(fù)成原來的狀態(tài)。(8)PSW和PC被恢復(fù)成中斷前的值,處理器開始一個(gè)新的指令周期,中斷處理結(jié)束簡單的中斷處理過程簡單的中斷處理過程12. 多個(gè)中斷的處理 若中斷處理過
25、程中又發(fā)生中斷,引起多中斷處理問題兩種策略方法: 第一種:第一種: 處理一個(gè)中斷時(shí)禁止中斷,對(duì)任何新中斷置之不理,在這期間發(fā)生的中斷將保持掛起狀態(tài) 當(dāng)再次允許中斷時(shí),新中斷信號(hào)被處理器檢測(cè)到 軟件實(shí)現(xiàn)方法: 在任何中斷處理前使用禁止中斷指令 在處理結(jié)束后開放中斷指令 所有中斷嚴(yán)格按照發(fā)生順序處理 不考慮中斷緊急程度,無法達(dá)到較嚴(yán)格時(shí)間要求多中斷處理第一種策略方法多中斷處理第一種策略方法 第二種: 中斷按照優(yōu)先度分級(jí) 允許優(yōu)先級(jí)高中斷打斷優(yōu)先級(jí)低的中斷處理過程 這樣中斷優(yōu)先級(jí)技術(shù)將引起中斷處理的嵌套 只要合適地定義中斷的優(yōu)先級(jí)別 方法一的弊端大都可以克服用 戶 程 序低 級(jí) 中 斷高 級(jí) 中 斷
26、多中斷處理第二種策略方法多中斷處理第二種策略方法13.典型的中斷處理1)I/O中斷由I/O設(shè)備的控制器或者通道發(fā)出兩類I/O中斷: I/O操作正常結(jié)束如果要繼續(xù)I/O操作,需要在準(zhǔn)備好以后重新啟動(dòng)I/O,若請(qǐng)求I/O程序正處于等待I/O狀態(tài),則應(yīng)將其喚醒 I/O異常需要重新執(zhí)行失敗的I/O操作重試次數(shù)有上限,次數(shù)過大,系統(tǒng)將判定硬件故障 系統(tǒng)多道能力的重要推動(dòng)力量,時(shí)鐘中斷處理程序通常做與系統(tǒng)運(yùn)轉(zhuǎn)、管理和維護(hù)相關(guān)的工作,包括: 維護(hù)軟件時(shí)鐘:系統(tǒng)有若干個(gè)軟件時(shí)鐘,控制定時(shí)任務(wù)以及進(jìn)程的處理器時(shí)間配額,時(shí)鐘中斷需要維護(hù)、定時(shí)更新這些軟件時(shí)鐘 處理器時(shí)間調(diào)度:維護(hù)當(dāng)前進(jìn)程時(shí)間片軟件時(shí)鐘,并在當(dāng)前進(jìn)
27、程時(shí)間片到時(shí)以后運(yùn)行調(diào)度程序選擇下一個(gè)被調(diào)度的進(jìn)程 控制系統(tǒng)定時(shí)任務(wù):通過軟件時(shí)鐘和調(diào)度程序定時(shí)激活一些系統(tǒng)任務(wù),如監(jiān)測(cè)死鎖、系統(tǒng)記帳、系統(tǒng)審計(jì)等 實(shí)時(shí)處理2) 時(shí)鐘中斷3) 硬件故障中斷 硬件故障中斷處理程序一般需要做的工作: 保存現(xiàn)場,使用一定警告手段,提供些輔助診斷信息 在高可靠系統(tǒng)中,中斷處理程序還要評(píng)估系統(tǒng)可用性,盡可能恢復(fù)系統(tǒng) 如Windows 2000/XP,關(guān)鍵硬件發(fā)生故障時(shí),如顯示卡損壞,出現(xiàn)系統(tǒng)藍(lán)屏,系統(tǒng)實(shí)際上進(jìn)入相應(yīng)故障處理程序,發(fā)現(xiàn)故障不可恢復(fù),則在屏幕上打印出發(fā)生故障時(shí)程序位置,并開始進(jìn)行內(nèi)存轉(zhuǎn)儲(chǔ)(將一定范圍的內(nèi)存內(nèi)容寫上磁盤,是系統(tǒng)故障時(shí)的全系統(tǒng)“快照”),備日后故
28、障診斷程序指令出錯(cuò)、指令越權(quán)或者指令尋址越界而引發(fā)兩類處理方法: 只能由操作系統(tǒng)的相關(guān)擴(kuò)展功能模塊完成 多為程序試圖作不能做的操作引起的系統(tǒng)保護(hù) 如訪問合法的、但不在內(nèi)存虛地址內(nèi),引發(fā)頁故障頁故障一般會(huì)引發(fā)OS虛存模塊作一個(gè)頁面換入 可由程序自己完成,如一些算術(shù)運(yùn)算錯(cuò)誤 不同程序可有不同處理方法,所以很多OS提供由用戶自己處理這類中斷的“綠色通道” 系統(tǒng)調(diào)試中斷(斷點(diǎn)中斷、單步跟蹤)也可被用戶程序處理,用以支持各種程序調(diào)試4) 程序性中斷5) 系統(tǒng)服務(wù)請(qǐng)求(自愿性中斷)系統(tǒng)服務(wù)請(qǐng)求由處理器專用指令(訪管指令)激發(fā) 如x86處理器提供int指令,用來激發(fā)軟件中斷 其他不少處理器則提供系統(tǒng)調(diào)用指令
29、syscall 執(zhí)行專用指令的結(jié)果是系統(tǒng)被切換到管態(tài),并且轉(zhuǎn)移到一段專門OS程序處開始執(zhí)行指令格式通常是指令名加請(qǐng)求服務(wù)識(shí)別號(hào)(中斷號(hào)) OS利用處理器提供的這種接口建立系統(tǒng)服務(wù)體系 處理器一般不負(fù)責(zé)定義系統(tǒng)調(diào)用所傳遞的參數(shù)格式 DOS:21h號(hào)中斷的系統(tǒng)服務(wù)功能以及參數(shù)列表 現(xiàn)代操作系統(tǒng)一般不提供直接使用系統(tǒng)調(diào)用指令的接口,通常做法:提供一套方便、實(shí)用的應(yīng)用程序函數(shù)庫(應(yīng)用程序設(shè)計(jì)接口API)從應(yīng)用層面重新封裝系統(tǒng)調(diào)用屏蔽復(fù)雜的系統(tǒng)調(diào)用傳參問題高級(jí)語言接口,有助于快速開發(fā)有的系統(tǒng)在更高層面提供系統(tǒng)程序設(shè)計(jì)模板庫和類庫 如Windows 2000/XP提供封裝系統(tǒng)用Win32 API和高層編程
30、機(jī)制MFC以及ATL Linux提供封裝系統(tǒng)調(diào)用、符合POSIX標(biāo)準(zhǔn) API和C運(yùn)行庫6) 系統(tǒng)服務(wù)請(qǐng)求實(shí)例設(shè)備控制器或其他設(shè)備控制器或其他系統(tǒng)硬件發(fā)出中斷系統(tǒng)硬件發(fā)出中斷處理器完成當(dāng)前指處理器完成當(dāng)前指令的執(zhí)行令的執(zhí)行處理器接受中斷處理器接受中斷處理器將處理器將PSW和和PC推入系統(tǒng)堆棧推入系統(tǒng)堆棧處理器根據(jù)中斷類處理器根據(jù)中斷類型讀入新的型讀入新的PC值值中斷系統(tǒng)硬件完成的工作中斷系統(tǒng)硬件完成的工作保存進(jìn)程狀態(tài)的其保存進(jìn)程狀態(tài)的其余信息余信息進(jìn)程中斷進(jìn)程中斷恢復(fù)進(jìn)程狀態(tài)信息恢復(fù)進(jìn)程狀態(tài)信息從系統(tǒng)堆?;謴?fù)原從系統(tǒng)堆?;謴?fù)原PSW和和PC中斷系統(tǒng)軟件完成的工作中斷系統(tǒng)軟件完成的工作PSWPC.
31、PSWPC.程序狀態(tài)字指令計(jì)數(shù)器系統(tǒng)堆棧PSW1PC1PSW2PC2PSW3PC3PSW4PC4PSW5PC5PC1PC2PC3強(qiáng)迫性中斷事件強(qiáng)迫性中斷事件自愿性中斷事件自愿性中斷事件保存現(xiàn)場信息保存現(xiàn)場信息保存現(xiàn)場信息保存現(xiàn)場信息取出中斷碼取出中斷碼取出訪管號(hào)取出訪管號(hào)分析中斷原因分析中斷原因分析何種系統(tǒng)調(diào)用分析何種系統(tǒng)調(diào)用轉(zhuǎn)相應(yīng)處理程序轉(zhuǎn)相應(yīng)處理程序是否中斷嵌套是否中斷嵌套由系統(tǒng)恢復(fù)現(xiàn)場由系統(tǒng)恢復(fù)現(xiàn)場由系統(tǒng)恢復(fù)現(xiàn)場由系統(tǒng)恢復(fù)現(xiàn)場轉(zhuǎn)低級(jí)調(diào)度程序轉(zhuǎn)低級(jí)調(diào)度程序返回上層中斷返回上層中斷返回目態(tài)程序返回目態(tài)程序需要切換進(jìn)程需要切換進(jìn)程TFFT 定義:通道是獨(dú)立于CPU的專門負(fù)責(zé)數(shù)據(jù)輸入/輸出傳輸工
32、作的處理機(jī),對(duì)外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,代替CPU對(duì)輸入/輸出操作進(jìn)行控制,從而使輸入,輸出操作可與CPU并行操作。 通道又稱輸入輸出處理機(jī),術(shù)語“通道”專指專門用來負(fù)責(zé)輸入輸出工作的處理機(jī)(簡稱處理機(jī))。比起中央處理機(jī)來,通道是一個(gè)比功能較弱、速度較慢、價(jià)格較為便宜的處理機(jī)。但“通道”一詞在微型機(jī)中常指與或與處理機(jī)相連設(shè)備的單純的數(shù)據(jù)傳送通路,它并不具有處理機(jī)的功能。5.5.3. 通道技術(shù)1. 引入通道的目的 為了使CPU從I/O事務(wù)中解脫出來,同時(shí)為了提高CPU與設(shè)備,設(shè)備與設(shè)備之間的并行工作能力 2. 通道類型 字節(jié)多路通道:通常按字節(jié)交叉的方式工作,適用于低速設(shè)備。 數(shù)據(jù)選擇通道:按成組方
33、式進(jìn)行數(shù)據(jù)傳輸,適用于高速設(shè)備。 數(shù)組多路通道:綜合前二個(gè)優(yōu)點(diǎn)(數(shù)據(jù)傳送率和通道利用率都較高)。 字節(jié)多路通道以字節(jié)為單位傳輸信息,它可以分時(shí)地執(zhí)行多個(gè)通道程序。當(dāng)一個(gè)通道程序控制某臺(tái)設(shè)備傳送一個(gè)字節(jié)后,通道硬件就控制轉(zhuǎn)去執(zhí)行另一個(gè)通道程序,控制另一臺(tái)設(shè)備傳送信息 主要連接以字節(jié)為單位的低速I/O設(shè)備。如打印機(jī),終端。 以字節(jié)為單位交叉?zhèn)鬏敚?dāng)一臺(tái)傳送一個(gè)字節(jié)后,立即轉(zhuǎn)去為另一臺(tái)傳送字節(jié)1) 字節(jié)多路通道 選擇通道是以成組方式工作的,即每次傳送一批數(shù)據(jù),故傳送速度很高。選擇通道在一段時(shí)間內(nèi)只能執(zhí)行一個(gè)通道程序,只允許一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳輸 當(dāng)這臺(tái)設(shè)備數(shù)據(jù)傳輸完成后,再選擇與通道連接的另一臺(tái)設(shè)備,
34、執(zhí)行它的相應(yīng)的通道程序 主要連接磁盤,磁帶等高速I/O設(shè)備 2) 選擇通道 選擇通道選擇通道選擇通道 成組多路通道結(jié)合了選擇通道傳送速度高和字節(jié)多路通道能進(jìn)行分時(shí)并行操作的優(yōu)點(diǎn)。它先為一臺(tái)設(shè)備執(zhí)行一條通道指令,然后自動(dòng)轉(zhuǎn)接,為另一臺(tái)設(shè)備執(zhí)行一條通道指令 主要連接高速設(shè)備 這樣,對(duì)于連接多臺(tái)磁盤機(jī)的數(shù)組多路通道,它可以啟動(dòng)它們同時(shí)執(zhí)行移臂定位操作,然后,按序交叉地傳輸一批批數(shù)據(jù)。數(shù)據(jù)多路通道實(shí)際上是對(duì)通道程序采用多道程序設(shè)計(jì)的硬件實(shí)現(xiàn) 3)成組多路通道 3. 硬件連接結(jié)構(gòu) 通道:執(zhí)行通道程序,向控制器發(fā)出命令,并具有向CPU發(fā)中斷信號(hào)的功能。 一旦CPU發(fā)出指令,啟動(dòng)通道,則通道獨(dú)立于CPU工作
35、。一個(gè)通道可連接多個(gè)控制器,一個(gè)控制器可連接多個(gè)設(shè)備,形成樹形交叉連接 主要目的是啟動(dòng)外設(shè)時(shí): a 提高了控制器效率 b 提高可靠性 c 提高并行度交叉連接5 通道相當(dāng)于一個(gè)功能簡單的處理機(jī),包含通道指令(空操作,讀操作,寫操作,控制,轉(zhuǎn)移操作),并可執(zhí)行用這些指令編寫的通道程序 4. 通道工作原理通道地址字 CAW: 記錄通道程序在內(nèi)存中的地址通道命令字 CCW: 保存正在執(zhí)行的通道指令通道狀態(tài)字 CSW: 存放通道執(zhí)行后的返回結(jié)果通道數(shù)據(jù)字 CDW:存放傳輸數(shù)據(jù) 通道和CPU共用內(nèi)存,通過周期竊取方式取得1) 通道運(yùn)算控制部件 用于I/O操作的命令主要有兩種: I/O指令:啟動(dòng)通道程序 通
36、道命令:對(duì)I/O操作進(jìn)行控制 讀、反讀、寫、測(cè)試設(shè)備狀態(tài)的數(shù)據(jù)傳輸命令、用于設(shè)備控制的命令(磁帶反繞、換頁)、實(shí)現(xiàn)通道程序內(nèi)部控制的轉(zhuǎn)移命令 2) 通道命令 命令格式一般包括: 操作碼、數(shù)據(jù)傳輸內(nèi)存地址、特征位、計(jì)數(shù)器 3) 通道命令格式 CPU:執(zhí)行用戶程序,當(dāng)遇到I/O請(qǐng)求時(shí),可根據(jù)該請(qǐng)求生成通道程序放入內(nèi)存(也可事先編好放入內(nèi)存),并將該通道程序的首地址放入CAW中;之后執(zhí)行“啟動(dòng)I/O”指令,啟動(dòng)通道工作。 通道:接收到“啟動(dòng)I/O”指令后,從CAW中取出通道程序的首地址,并根據(jù)首地址取出第一條指令放入CCW中,同時(shí)向CPU發(fā)回答信號(hào),使CPU可繼續(xù)執(zhí)行其他程序,而通道則開始執(zhí)行通道程
37、序,完成傳輸工作。 4)工作原理(通道程序完成實(shí)際I/O,啟動(dòng)I/O設(shè)備,執(zhí)行完畢后,如果還有下一條指令,則繼續(xù)執(zhí)行, 否則表示傳輸完成) 當(dāng)通道傳輸完成最后一條指令時(shí),向CPU發(fā)I/O中斷,并且通道停止工作。CPU接收中斷信號(hào),從CSW中取得有關(guān)信息,決定下一步做什么 5. 通道與CPU的關(guān)系 主從關(guān)系 可并行工作 有通信方式 作用不同(通道/; 計(jì)算)6.通道的發(fā)展 新的通道思想綜合了許多新的技術(shù) 在個(gè)人計(jì)算機(jī)中,芯片組中專門I/O處理的芯片,稱為IOP(IO Processor),發(fā)揮通道的作用 IBM 390 中,沿用了輸入輸出通道概念 IBM于1998年推出光纖通道技術(shù)(稱為FICO
38、N),可通過 FICON 連接多達(dá)127個(gè)大容量I/O設(shè)備。傳輸速度是333MHzs,未來將達(dá)到1GHzs。 光纖通道技術(shù)具有數(shù)據(jù)傳輸速率高、傳輸距離遠(yuǎn),可簡化大型存儲(chǔ)系統(tǒng)設(shè)計(jì)的優(yōu)點(diǎn) 在大容量高速存儲(chǔ),如大型數(shù)據(jù)庫、多媒體、數(shù)字影像等應(yīng)用領(lǐng)域,有廣泛前景。5.5.4. DMA 技術(shù)1. DMA 方式與中斷的主要區(qū)別方式與中斷的主要區(qū)別 中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請(qǐng)求,CPU進(jìn)行中斷處理 DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時(shí)要求CPU進(jìn)行中斷處理 大大減少了CPU進(jìn)行中斷處理的次數(shù) 中斷方式的數(shù)據(jù)傳送是由CPU控制完成的 而DMA方式則是在DMA控制器的控制下不經(jīng)過CPU
39、控制完成的 不用DMA時(shí),磁盤如何讀: 首先,控制器從磁盤驅(qū)動(dòng)器串行地一位一位地讀一個(gè)塊,直到將整塊信息放入控制器的內(nèi)部緩沖區(qū)中 其次,它做和校驗(yàn)計(jì)算,以核實(shí)沒有讀錯(cuò)誤發(fā)生 然后控制器產(chǎn)生一個(gè)中斷。CPU響應(yīng)中斷,控制轉(zhuǎn)給操作系統(tǒng)。當(dāng)操作系統(tǒng)開始運(yùn)行時(shí),它重復(fù)地從控制器緩沖區(qū)中一次一個(gè)字節(jié)或一個(gè)字地讀這個(gè)磁盤塊的信息,并將其送入內(nèi)存中控制器按照指定存儲(chǔ)器地址,把第一個(gè)字節(jié)送入主存控制器按照指定存儲(chǔ)器地址,把第一個(gè)字節(jié)送入主存然后,按指定字節(jié)數(shù)進(jìn)行數(shù)據(jù)傳送然后,按指定字節(jié)數(shù)進(jìn)行數(shù)據(jù)傳送每當(dāng)傳送一個(gè)字節(jié)后,字節(jié)計(jì)數(shù)器值減每當(dāng)傳送一個(gè)字節(jié)后,字節(jié)計(jì)數(shù)器值減1 1,直到字節(jié)計(jì)數(shù)器等于,直到字節(jié)計(jì)數(shù)器等
40、于0 0此時(shí),控制器引發(fā)中斷,通知操作系統(tǒng),操作完成此時(shí),控制器引發(fā)中斷,通知操作系統(tǒng),操作完成CPUCPU提供提供被讀取塊磁盤地址被讀取塊磁盤地址目標(biāo)存儲(chǔ)地址目標(biāo)存儲(chǔ)地址待讀取字節(jié)數(shù)待讀取字節(jié)數(shù)整塊數(shù)據(jù)讀進(jìn)緩沖區(qū)整塊數(shù)據(jù)讀進(jìn)緩沖區(qū)核準(zhǔn)校驗(yàn)核準(zhǔn)校驗(yàn)2.DMA2.DMA工作示例工作示例(以硬盤為例)(以硬盤為例) 存放輸入數(shù)據(jù)的內(nèi)存起始地址、要傳送的字節(jié)數(shù)送入DMA控制器的內(nèi)存地址寄存器和傳送字節(jié)計(jì)數(shù)器,中斷允許位和啟動(dòng)位置成1,啟動(dòng)設(shè)備 發(fā)出傳輸要求的進(jìn)程進(jìn)入等待狀態(tài) 執(zhí)行指令被暫時(shí)掛起,進(jìn)程調(diào)度其他進(jìn)程占據(jù)CPU 輸入設(shè)備不斷竊取CPU工作周期,數(shù)據(jù)不斷寫入內(nèi)存 傳送完畢,發(fā)出中斷信號(hào) CP
41、U接到中斷信號(hào)轉(zhuǎn)入中斷處理程序處理 中斷處理結(jié)束,CPU返回原進(jìn)程或切換到新的進(jìn)程3.DMA工作原理竊取總線控制權(quán)CPU向控制器發(fā)出啟動(dòng)向控制器發(fā)出啟動(dòng)DMA通知和有關(guān)參數(shù)通知和有關(guān)參數(shù)控制器向內(nèi)存發(fā)出詢問請(qǐng)求控制器向內(nèi)存發(fā)出詢問請(qǐng)求訪問內(nèi)存(讀、寫)訪問內(nèi)存(讀、寫)計(jì)數(shù)器減計(jì)數(shù)器減1結(jié)束否結(jié)束否發(fā)中斷發(fā)中斷NYDMA的實(shí)現(xiàn)流程的實(shí)現(xiàn)流程1 1. . 緩沖技術(shù)的引入緩沖技術(shù)的引入 凡是數(shù)據(jù)到達(dá)和離去速度不匹配的地方均可采用緩沖技術(shù)。 緩沖區(qū):有一定容量、暫存信息的存貯裝置。 在操作系統(tǒng)中采用緩沖是為了實(shí)現(xiàn)數(shù)據(jù)的I/O操作,以緩解CPU與外部設(shè)備之間速度不匹配的矛盾,提高資源利用率5.5.5.
42、緩沖技術(shù)2. 引入緩沖區(qū)的好處 提高硬件的并行操作能力; 減少了I/O設(shè)備對(duì)處理器的中斷請(qǐng)求次數(shù) 簡化了中斷機(jī)制 節(jié)省了系統(tǒng)開銷3. 引入緩沖區(qū)的缺點(diǎn) 在系統(tǒng)區(qū)要設(shè)置相當(dāng)大的緩沖池才能滿足所有的請(qǐng)求。 從系統(tǒng)緩沖區(qū)傳送數(shù)據(jù)到調(diào)用進(jìn)程緩沖區(qū)要花費(fèi)額外的時(shí)間,增加了系統(tǒng)的總開銷。硬緩沖:硬緩沖:在設(shè)備中設(shè)置緩沖區(qū),由硬件實(shí)現(xiàn)軟緩沖:軟緩沖:在內(nèi)存中開辟一個(gè)空間,用作緩沖區(qū)4. 緩沖區(qū)設(shè)置5. 幾種緩沖技術(shù)1)單緩沖2)雙緩沖(如下圖a、b)3)多緩沖:多個(gè)緩沖按順序構(gòu)成環(huán)形,先進(jìn)先出隊(duì)列的形式,設(shè)頭尾、指針指向同一個(gè)緩沖區(qū)。頭、尾指針讀寫時(shí)不能相互超越。4)緩沖池。緩沖池為多個(gè)設(shè)備共享,設(shè)備需要時(shí)
43、才接上,用完歸還。雙緩沖(a)雙緩沖(b)5) 緩沖池管理程序緩沖池管理程序負(fù)責(zé)緩沖池內(nèi)的組織,管理摘鏈、掛鏈,協(xié)調(diào)控制程序與用戶程序的工作。引入緩沖的主要原因,在于的情況。另一個(gè)原因是可以。如果I/O操作每傳送一個(gè)字節(jié)就產(chǎn)生一次中斷的話,那么設(shè)置了n個(gè)字節(jié)的緩沖區(qū)后,則可以等到緩沖區(qū)滿才產(chǎn)生中斷。這樣,中斷次數(shù)就減少為1/n,而且中斷響應(yīng)時(shí)間也可相對(duì)放寬。緩沖有和之分。硬件緩沖是以專用的寄存器作為緩沖器。由于經(jīng)濟(jì)上的考慮,除了在最必要的地方采用一定量硬件緩沖器外,大都采用軟件技術(shù)來實(shí)現(xiàn)緩沖。即在操作系統(tǒng)的管理下,在內(nèi)存中劃出若干個(gè)單元作為緩沖區(qū)。軟件緩沖的是易于改變緩沖區(qū)的大小和數(shù)量,是占據(jù)
44、一部分內(nèi)存空間。根據(jù)緩沖區(qū)個(gè)數(shù)的多少,緩沖分為:單緩沖、雙緩沖和多重緩沖。單緩沖是指每當(dāng)一個(gè)用戶進(jìn)程發(fā)出一個(gè)I/O請(qǐng)求時(shí),操作系統(tǒng)在主存的系統(tǒng)區(qū)中開設(shè)一個(gè)緩沖區(qū)。對(duì)于塊設(shè)備輸入,如不用緩沖區(qū):從磁盤把一塊數(shù)據(jù)直接傳送到用戶進(jìn)程空間,假如所花費(fèi)的時(shí)間為T,接著,用戶進(jìn)程對(duì)這批數(shù)據(jù)進(jìn)行計(jì)算,耗時(shí)為C,每批數(shù)據(jù)處理總的時(shí)間為T+C。如采用單緩沖機(jī)制,先從磁盤把一塊數(shù)據(jù)傳送到緩沖區(qū),所花費(fèi)的時(shí)間也為T,接著操作系統(tǒng)把緩沖區(qū)數(shù)據(jù)送到用戶進(jìn)程空間,設(shè)所花時(shí)間為M。由于這時(shí)緩沖區(qū)已空,操作系統(tǒng)可預(yù)讀緊接的下一塊,大多數(shù)應(yīng)用將要使用鄰接塊。同時(shí),用戶進(jìn)程對(duì)這批數(shù)據(jù)進(jìn)行計(jì)算,共耗時(shí)C。每批數(shù)據(jù)處理時(shí)間約為,通常
45、M遠(yuǎn)小于C或T,故速度快了很多。為了加快I/O速度,實(shí)現(xiàn)輸入、輸出的并行工作提高設(shè)備利用率,需要引入雙緩沖工作方式,又稱緩沖交換(buffer swapping) 。在輸入數(shù)據(jù)時(shí),首先填滿緩沖區(qū)1,操作系統(tǒng)可從緩沖區(qū)1把數(shù)據(jù)送到用戶進(jìn)程區(qū),用戶進(jìn)程便可對(duì)數(shù)據(jù)進(jìn)行加工計(jì)算;與此同時(shí),輸入設(shè)備填充緩沖區(qū)域2。當(dāng)緩沖區(qū)1空出后,輸入設(shè)備再次向緩沖區(qū)1輸入。操作系統(tǒng)又可以把緩沖區(qū)2的數(shù)據(jù)傳送到用戶進(jìn)程區(qū),用戶進(jìn)程開始加工緩沖區(qū)2的數(shù)據(jù),兩個(gè)緩沖區(qū)交替使用,使CPU和I/O設(shè)備、設(shè)備和設(shè)備的并行性進(jìn)一步提高,僅當(dāng)兩個(gè)緩沖區(qū)都取空,進(jìn)程還要提取數(shù)據(jù)時(shí),它才被迫等待。粗略估計(jì)一下,傳輸和處理一塊的時(shí)間:如果
46、CT,計(jì)算操作比輸入操作慢,每當(dāng)上一塊數(shù)據(jù)計(jì)算完畢后,仍需把一個(gè)緩沖區(qū)中的數(shù)據(jù)傳送到用戶區(qū),花費(fèi)時(shí)間為M,再對(duì)這塊數(shù)據(jù)進(jìn)行計(jì)算,花費(fèi)時(shí)間為C,所以,一塊數(shù)據(jù)的傳輸和處理時(shí)間為C+M、即max(C,T)+M。顯然,這種情況下使得進(jìn)程不必要等待I/O。當(dāng)采用單緩沖技術(shù)進(jìn)行磁盤輸入時(shí),設(shè)從磁盤上讀入當(dāng)采用單緩沖技術(shù)進(jìn)行磁盤輸入時(shí),設(shè)從磁盤上讀入1 1塊塊的時(shí)間為的時(shí)間為T T,將數(shù)據(jù)從單緩沖區(qū)送入用戶區(qū)所需時(shí)間為,將數(shù)據(jù)從單緩沖區(qū)送入用戶區(qū)所需時(shí)間為MM,用,用戶程序處理這塊數(shù)據(jù)的時(shí)間為戶程序處理這塊數(shù)據(jù)的時(shí)間為C C,且,且TMTM,TCTC。如果需從。如果需從磁盤上讀入磁盤上讀入2 2塊數(shù)據(jù),并
47、進(jìn)行處理,則總共需要花費(fèi)的時(shí)間為塊數(shù)據(jù),并進(jìn)行處理,則總共需要花費(fèi)的時(shí)間為2T+2M+C采用雙緩沖區(qū)技術(shù)時(shí),假設(shè)從磁盤上讀一塊信息到緩沖區(qū)所需的時(shí)間為T,從緩沖區(qū)把信息傳送到用戶工作區(qū)所需時(shí)間為M,用戶進(jìn)程對(duì)信息進(jìn)行處理所需時(shí)間為C。(這里(M+C)分配控制器-分配通道為進(jìn)程為進(jìn)程P P分配所需的分配所需的I/OI/O設(shè)備設(shè)備從從SDTSDT表查該類設(shè)備的控制表表查該類設(shè)備的控制表DCTDCT由由DCTDCT檢查該設(shè)備忙否檢查該設(shè)備忙否? ?不忙不忙檢查分配此設(shè)備的安全性檢查分配此設(shè)備的安全性? ?不安全不安全分配此設(shè)備給進(jìn)程分配此設(shè)備給進(jìn)程P P查此設(shè)備連接的查此設(shè)備連接的COCTCOCT忙
48、否忙否? ?不忙不忙不忙不忙分配此控制器給進(jìn)程分配此控制器給進(jìn)程P P查此控制器連接的查此控制器連接的CHCTCHCT忙否忙否? ?最后一個(gè)最后一個(gè)DCT?DCT?分配此通道給進(jìn)程分配此通道給進(jìn)程P P啟動(dòng)啟動(dòng)I/O,I/O,進(jìn)行具體的進(jìn)行具體的I/OI/O操作操作忙忙進(jìn)程進(jìn)程P的的PCB放入放入此設(shè)備的等待隊(duì)列此設(shè)備的等待隊(duì)列YN忙忙最后一個(gè)最后一個(gè)COCT?COCT?最后一個(gè)最后一個(gè)DCT?DCT?進(jìn)程進(jìn)程P的的PCB放入放入此控制器的等待隊(duì)列此控制器的等待隊(duì)列YNY忙忙最后一個(gè)最后一個(gè)CHCT?CHCT?Y最后一個(gè)最后一個(gè)COCT?COCT?進(jìn)程進(jìn)程P的的PCB放入放入此通道的等待隊(duì)列此
49、通道的等待隊(duì)列NYNN多通路設(shè)備分配流程示意圖多通路設(shè)備分配流程示意圖5.6.2 設(shè)備處理 (1) 接收由I/O進(jìn)程發(fā)來的命令和參數(shù),并將命令中的抽象要求轉(zhuǎn)換為具體要求,例如,將磁盤塊號(hào)轉(zhuǎn)換為磁盤的盤面、 磁道號(hào)及扇區(qū)號(hào)。 (2) 檢查用戶I/O請(qǐng)求的合法性,了解I/O設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。1. 1. 設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)1) 1) 設(shè)備驅(qū)動(dòng)程序的功能設(shè)備驅(qū)動(dòng)程序的功能 (3) 發(fā)出I/O命令,如果設(shè)備空閑,便立即啟動(dòng)I/O設(shè)備去完成指定的I/O操作;如果設(shè)備處于忙碌狀態(tài),則將請(qǐng)求者的請(qǐng)求塊掛在設(shè)備隊(duì)列上等待。 (4) 及時(shí)響應(yīng)由控制器或通道
50、發(fā)來的中斷請(qǐng)求,并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。 (5) 對(duì)于設(shè)置有通道的計(jì)算機(jī)系統(tǒng),驅(qū)動(dòng)程序還應(yīng)能夠根據(jù)用戶的I/O請(qǐng)求,自動(dòng)地構(gòu)成通道程序。 2) 設(shè)備處理方式 (1) 為每一類設(shè)備設(shè)置一個(gè)進(jìn)程,專門用于執(zhí)行這類設(shè)備的I/O操作。 (2) 在整個(gè)系統(tǒng)中設(shè)置一個(gè)I/O進(jìn)程,專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的I/O操作。 (3) 不設(shè)置專門的設(shè)備處理進(jìn)程,而只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序(模塊),供用戶進(jìn)程或系統(tǒng)進(jìn)程調(diào)用。 為了控制I/O傳輸,系統(tǒng)為每類設(shè)備編制設(shè)備驅(qū)動(dòng)程序 設(shè)備驅(qū)動(dòng)程序是一種低級(jí)的系統(tǒng)例程。它必須和系統(tǒng)的輸入輸出硬設(shè)備相互通信。使用特權(quán)/指令來訪問硬件,它通
51、常是用匯編語言或系統(tǒng)編程語言寫的。 任務(wù):主要負(fù)責(zé)接收和分析從設(shè)備分配轉(zhuǎn)來的信息,并根據(jù)設(shè)備分配的結(jié)果,結(jié)合具體物理設(shè)備特性完成以下具體工作。3) 設(shè)備驅(qū)動(dòng)程序4) 設(shè)備驅(qū)動(dòng)程序的特點(diǎn) (1) 驅(qū)動(dòng)程序主要是指在請(qǐng)求I/O的進(jìn)程與設(shè)備控制器之間的一個(gè)通信和轉(zhuǎn)換程序。 (2) 驅(qū)動(dòng)程序與設(shè)備控制器和I/O設(shè)備的硬件特性緊密相關(guān),因而對(duì)不同類型的設(shè)備應(yīng)配置不同的驅(qū)動(dòng)程序。 (3) 驅(qū)動(dòng)程序與I/O設(shè)備所采用的I/O控制方式緊密相關(guān)。 (4) 由于驅(qū)動(dòng)程序與硬件緊密相關(guān),因而其中的一部分必須用匯編語言書寫。 2. 設(shè)備驅(qū)動(dòng)程序的處理過程將抽象要求轉(zhuǎn)換為具體要求 2. 檢查I/O請(qǐng)求的合法性 3. 讀
52、出和檢查設(shè)備的狀態(tài) 4. 傳送必要的參數(shù) 5. 工作方式的設(shè)置 6. 啟動(dòng)I/O設(shè)備 中斷現(xiàn)場保護(hù)示意圖 中斷處理流程管理程序管理程序保護(hù)現(xiàn)場保護(hù)現(xiàn)場組織通道程序組織通道程序保存通道程序保存通道程序的始址于的始址于CAW啟動(dòng)啟動(dòng)I/O指令指令分析條件碼分析條件碼啟動(dòng)成功使啟動(dòng)成功使P阻塞阻塞,另選另選程序程序q運(yùn)行運(yùn)行保護(hù)程序保護(hù)程序q的的現(xiàn)場現(xiàn)場分析中斷原因分析中斷原因處理處理I/O中斷中斷選擇可運(yùn)行程序選擇可運(yùn)行程序請(qǐng)求請(qǐng)求啟動(dòng)程序啟動(dòng)程序程序程序q程序程序P用戶程序用戶程序判斷狀態(tài)判斷狀態(tài)執(zhí)行通道程序執(zhí)行通道程序控制控制I/O設(shè)備設(shè)備操作操作,執(zhí)行情執(zhí)行情況記錄在況記錄在CSW出現(xiàn)中斷事
53、件出現(xiàn)中斷事件CSW=主存通主存通道號(hào)道號(hào),設(shè)備號(hào)設(shè)備號(hào)送特定寄存器送特定寄存器通道程序通道程序執(zhí)行規(guī)定執(zhí)行規(guī)定的操作的操作設(shè)備控制器和設(shè)備設(shè)備控制器和設(shè)備12345I/O的操作全過程的操作全過程第五章第五章設(shè)備管理設(shè)備管理5.7 磁盤存儲(chǔ)器管理 磁盤存儲(chǔ)器管理的主要任務(wù) 為文件分配存儲(chǔ)空間 合理地組織文件地存儲(chǔ)方式,以提高訪問速度 提高磁盤存儲(chǔ)空間地利用率 提高磁盤I/O速度,改善文件性能 確保文件系統(tǒng)的可靠性(備份) 5.7.1 磁盤性能簡述1. 1. 數(shù)據(jù)的組織和格式數(shù)據(jù)的組織和格式(P172)(P172) 磁盤的格式化磁盤的結(jié)構(gòu)圖硬盤主要由:盤片,磁頭,盤片轉(zhuǎn)軸及控制電機(jī),磁頭控制器,
54、數(shù)據(jù)轉(zhuǎn)換器,接口,緩存等幾個(gè)部分組成。 磁盤的結(jié)構(gòu)圖1) 固定頭磁盤 這種磁盤在每條磁道上都有一讀/寫磁頭,所有的磁頭都被裝在一剛性磁臂中。通過這些磁頭可訪問所有各磁道,并進(jìn)行并行并行讀/寫,有效地提高了磁盤的I/O速度。這種結(jié)構(gòu)的磁盤主要用于大容量磁盤上。2. 磁盤的類型2) 移動(dòng)頭磁盤 每一個(gè)盤面僅配有一個(gè)磁頭,也被裝入磁臂中。為能訪問該盤面上的所有磁道,該磁頭必須能移動(dòng)以進(jìn)行尋道。可見,移動(dòng)磁頭僅能以串行串行方式讀/寫,致使其I/O速度較慢;但由于其結(jié)構(gòu)簡單,故仍廣泛應(yīng)用于中小型磁盤設(shè)備中。3. 磁盤訪問時(shí)間 1) 尋道時(shí)間Ts 2) 旋轉(zhuǎn)延遲時(shí)間T 3) 傳輸時(shí)間Tt1)尋道時(shí)間Ts這
55、是指把磁臂(磁頭)移動(dòng)到指定磁道上所經(jīng)歷的時(shí)間。該時(shí)間是與磁頭移動(dòng)所花費(fèi)的時(shí)間之和,即Ts=mn+s其中,m是一常數(shù),與磁盤驅(qū)動(dòng)器的速度有關(guān),對(duì)一般磁盤,m=0.2;對(duì)高速磁盤,m0.1,磁臂的啟動(dòng)時(shí)間約為2ms。這樣,對(duì)一般的溫盤,其尋道時(shí)間將隨尋道距離的增加而增大,大體上是530ms。 2) 旋轉(zhuǎn)延遲時(shí)間T 這是指定扇區(qū)移動(dòng)到磁頭下面所經(jīng)歷的時(shí)間。對(duì)于硬盤,典型的旋轉(zhuǎn)速度大多為5400 r/min,每轉(zhuǎn)需時(shí)11.1 ms,平均旋轉(zhuǎn)延遲時(shí)間T為5.55 ms;對(duì)于軟盤,其旋轉(zhuǎn)速度為300 r/min或600 r/min,這樣,平均T為50100 ms。3)傳輸時(shí)間Tt把數(shù)據(jù)從磁盤讀出或向磁盤
56、寫入數(shù)據(jù)所經(jīng)歷的時(shí)間。 Tt的大小與每次所讀/寫的字節(jié)數(shù)b和旋轉(zhuǎn)速度有關(guān): 其中,r為磁盤每秒鐘的轉(zhuǎn)數(shù);N為一條磁道上的字節(jié)數(shù), 當(dāng)一次讀/寫的字節(jié)數(shù)相當(dāng)于半條磁道上的字節(jié)數(shù)時(shí),Tt與T相同, 因此, 可將訪問時(shí)間Ta表示為:其中,r為磁盤每秒鐘的轉(zhuǎn)數(shù);N為一條磁道上的字節(jié)數(shù), 當(dāng)一次讀/寫的字節(jié)數(shù)相當(dāng)于半條磁道上的字節(jié)數(shù)時(shí),Tt與T相同, 因此, 可將訪問時(shí)間Ta表示為:5.7.2 磁盤調(diào)度p 移臂調(diào)度根據(jù)訪問者指定的柱面位置來決定執(zhí)行次序的調(diào)度,稱為“移臂調(diào)度”。移臂調(diào)度的目的是盡可能地減少操作中的尋找時(shí)間。在磁盤盤面上,0磁道在盤面的外部;號(hào)數(shù)越大,磁道越靠近盤片的中心。磁盤在關(guān)機(jī)時(shí),硬
57、盤磁頭停放在最內(nèi)圈柱面。常用的移臂調(diào)度算法有先來先服務(wù)算法、最短尋找時(shí)間優(yōu)先算法、電梯調(diào)度算法和單向掃描算法。5.7.2 磁盤調(diào)度p 旋轉(zhuǎn)調(diào)度對(duì)在同一個(gè)柱面中多個(gè)訪問者的讀寫請(qǐng)求,需要有調(diào)度算法,用來確定為這些訪問等待者服務(wù)的次序。在移動(dòng)臂定位后有若干個(gè)訪問者等待訪問該柱面的情況下,若從減少輸入輸出操作總時(shí)間為目標(biāo)出發(fā),顯然應(yīng)該優(yōu)先選擇延遲時(shí)間最短的訪問者去執(zhí)行。根據(jù)延遲時(shí)間來決定執(zhí)行次序的調(diào)度稱為“旋轉(zhuǎn)調(diào)度”。5.7.2 移臂調(diào)度1.先來先服務(wù)先來先服務(wù)FCFS(First-Come,FirstServed)FCFS調(diào)度算法2.最短尋道時(shí)間優(yōu)先SSTF(ShortestSeekTimeFir
58、st)SSTF調(diào)度算法3.掃描(SCAN)算法 SSTF算法雖然能獲得較好的尋道性能,但卻可能導(dǎo)致某個(gè)進(jìn)程發(fā)生“饑餓”(Starvation)現(xiàn)象。因?yàn)橹灰粩嘤行逻M(jìn)程的請(qǐng)求到達(dá),且其所要訪問的磁道與磁頭當(dāng)前所在磁道的距離較近,這種新進(jìn)程的I/O請(qǐng)求必須優(yōu)先滿足。對(duì)SSTF算法略加修改后所形成的SCAN算法,即可防止老進(jìn)程出現(xiàn)“饑餓”現(xiàn)象。 1) 1) 進(jìn)程進(jìn)程“饑餓饑餓”現(xiàn)象現(xiàn)象2) 2) 電梯調(diào)度電梯調(diào)度 實(shí)際問題:電梯正向上運(yùn)動(dòng)且到達(dá)七層,此時(shí)有如下三位乘客要求: A:處于2層,要去十層; B:處于6層,要去底層; C:處于9層,要去15層;電梯應(yīng)該如何運(yùn)行?3 3) SCAN) SCA
59、N算法算法 SCAN調(diào)度算法示例4. 循環(huán)掃描(CSCAN)算法CSCAN調(diào)度算法示例 1) N-Step-SCAN算法 在SSTF、SCAN及CSCAN幾種調(diào)度算法中,都可能出現(xiàn)磁臂停留在某處不動(dòng)的情況,例如,有一個(gè)或幾個(gè)進(jìn)程對(duì)某一磁道有較高的訪問頻率,即這個(gè)(些)進(jìn)程反復(fù)請(qǐng)求對(duì)某一磁道的I/O操作,從而 壟 斷 了 整 個(gè) 磁 盤 設(shè) 備 。 我 們 把 這 一 現(xiàn) 象 稱 為 “ 磁 臂 粘著”(Armstickiness)。在高密度磁盤上容易出現(xiàn)此情況。N步SCAN算法是將磁盤請(qǐng)求隊(duì)列分成若干個(gè)長度為N的子隊(duì)列,磁盤調(diào)度將按FCFS算法依次處理這些子隊(duì)列。而每處理一個(gè)隊(duì)列時(shí)又是按SCA
60、N算法,對(duì)一個(gè)隊(duì)列處理完后,再處理其他隊(duì)列。當(dāng)正在處理某子隊(duì)列時(shí),如果又出現(xiàn)新的磁盤I/O請(qǐng)求,便將新請(qǐng)求進(jìn)程放入其他隊(duì)列,這樣就可避免出現(xiàn)粘著現(xiàn)象。 當(dāng)N值取得很大時(shí),會(huì)使N步掃描法的性能接近于SCAN算法的性能;當(dāng)N=1時(shí), N步SCAN算法便蛻化為FCFS算法。 5. N-Step-SCAN和FSCAN調(diào)度算法 2) FSCAN算法 FSCAN算法實(shí)質(zhì)上是N步SCAN算法的簡化, 即FSCAN只將磁盤請(qǐng)求隊(duì)列分成兩個(gè)子隊(duì)列。一個(gè)是由當(dāng)前所有請(qǐng)求磁盤I/O的進(jìn)程形成的隊(duì)列,由磁盤調(diào)度按SCAN算法進(jìn)行處理。在掃描期間,將新出現(xiàn)的所有請(qǐng)求磁盤I/O的進(jìn)程, 放入另一個(gè)等待處理的請(qǐng)求隊(duì)列。這樣
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版鍋爐設(shè)備維護(hù)保養(yǎng)與能源審計(jì)合同范本3篇
- 2025版內(nèi)河水路危險(xiǎn)品運(yùn)輸合同及應(yīng)急救援協(xié)議3篇
- 二零二五年度挖機(jī)操作技能競賽贊助合同
- 1 如何合理選擇抗凝藥物
- 二零二五版民房建筑項(xiàng)目施工合同履約監(jiān)督協(xié)議范本4篇
- 2018年稅務(wù)稽查風(fēng)險(xiǎn)防范及企業(yè)應(yīng)對(duì)策略
- 2025年度個(gè)人房屋買賣價(jià)格調(diào)整及支付合同2篇
- 二零二五年度戶外廣告牌發(fā)布與社區(qū)宣傳合作合同范本3篇
- 2025年度農(nóng)用土地托管服務(wù)與機(jī)械租賃合同4篇
- 2025年度個(gè)人二手房買賣協(xié)議書范本:房屋交易環(huán)保評(píng)估合同2篇
- 2025貴州貴陽市屬事業(yè)單位招聘筆試和高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年住院醫(yī)師規(guī)范化培訓(xùn)師資培訓(xùn)理論考試試題
- 期末綜合測(cè)試卷(試題)-2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)人教版
- 招標(biāo)采購基礎(chǔ)知識(shí)培訓(xùn)
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》試題及答案解析
- 五年級(jí)口算題卡每天100題帶答案
- 結(jié)構(gòu)力學(xué)本構(gòu)模型:斷裂力學(xué)模型:斷裂力學(xué)實(shí)驗(yàn)技術(shù)教程
- 2024年貴州省中考理科綜合試卷(含答案)
- 無人機(jī)技術(shù)與遙感
- PDCA提高臥床患者踝泵運(yùn)動(dòng)的執(zhí)行率
- 黑色素的合成與美白產(chǎn)品的研究進(jìn)展
評(píng)論
0/150
提交評(píng)論