【正文】
度算法 第五章 設(shè) 備 管 理 2. 最短尋道時間優(yōu)先 SSTF(Shortest Seek Time First) 圖 524 SSTF調(diào)度算法 第五章 設(shè) 備 管 理 3. 掃描 (SCAN)算法 1) 進(jìn)程“饑餓”現(xiàn)象 SSTF算法雖然能獲得較好的尋道性能 , 但卻可能導(dǎo)致某個進(jìn)程發(fā)生 “ 饑餓 ” (Starvation)現(xiàn)象 。 當(dāng)正在處理某子隊(duì)列時 , 如果又出現(xiàn)新的磁盤 I/O請求 , 便將新請求進(jìn)程放入其他隊(duì)列 , 這樣就可避免出現(xiàn)粘著現(xiàn)象 。 高速緩存在內(nèi)存中可分成兩種形式 。 后一種方式由于所傳送的數(shù)據(jù)量少 , 因而節(jié)省了數(shù) 第五章 設(shè) 備 管 理 3. 置換算法 由于請求調(diào)頁中的聯(lián)想存儲器與高速緩存 (磁盤 I/O中 )的工作情況不同 , 因而使得在置換算法中所應(yīng)考慮的問題也有所差異 。 而在 MSDOS中所采用的方法是:只要高速緩存中的某盤塊數(shù)據(jù)被修改 , 便立即將它寫回磁盤 , 并將這種高速緩存稱為 “ 寫穿透 、 高速緩存 ” (writethrough cache)。 (2) 磁盤 I/O速度高。 (3) RAID 3級。 第五章 設(shè) 備 管 理 4. 周期性地寫回磁盤 在 UNIX系統(tǒng)中專門增設(shè)了一個修改 (update)程序 , 使之在后臺運(yùn)行 , 該程序周期性地調(diào)用一個系統(tǒng)調(diào)用 SYNC。 第五章 設(shè) 備 管 理 2. 數(shù)據(jù)交付方式 系統(tǒng)可以采取兩種方式 , 將數(shù)據(jù)交付給請求進(jìn)程: (1) 數(shù)據(jù)交付 。 在掃描期間 , 將新出現(xiàn)的所有請求磁盤 I/O的進(jìn)程 , 放入另一個等待處理的請求隊(duì)列 。 我們把這一現(xiàn)象稱為 “ 磁臂粘著 ” (Armstickiness)。 這樣 , 對一般的溫盤 , 其尋道時間將隨尋道距離的增加而增大 , 大體上是 5~30 ms。 第五章 設(shè) 備 管 理 設(shè)備驅(qū)動程序的處理過程 1. 2. 檢查 I/O 3. 讀出和檢查設(shè)備的狀態(tài) 4. 傳送必要的參數(shù) 5. 工作方式的設(shè)置 6. 啟動 I/O設(shè)備 第五章 設(shè) 備 管 理 圖 520 中斷現(xiàn)場保護(hù)示意圖 P S W程序狀態(tài)字P C ( N + 1)程序計(jì)數(shù)器R0Rn?寄存器??開始返回用戶程序 中斷服務(wù)子例程P S WP C ( N + 1)中斷棧TT + M線指針YNN - 1R0Rn?第五章 設(shè) 備 管 理 喚醒被阻塞的驅(qū)動程序進(jìn)程對被中斷進(jìn)程的C P U 環(huán)境進(jìn)行保護(hù)分析中斷原因,轉(zhuǎn)入相應(yīng)的中斷處理程序終端中斷處理程序打印機(jī)中斷處理程序磁盤中斷處理程序?恢復(fù)被中斷進(jìn)程的 C P U 現(xiàn)場?返回被中斷的進(jìn)程,繼續(xù)執(zhí)行中斷請求信號圖 521 中斷處理流程 第五章 設(shè) 備 管 理 磁盤存儲器管理 磁盤性能簡述 1. G a p1 0 2 0 3 1 29 2 29 3F i e l d G a p F i e l d G a p G a p F i e l d G a p F i e l d G a p17 7 41 515 20 17 7 41 515 20ID D a t a ID D a t aG a p1 29 2 29 3F i e l d G a p F i e l d17 7 41 515 20ID D a t aS e c t o r P h y s i c a l S e c t o r 0 P h y s i c a l S e c t o r 1 P h y s i c a l S e c t o r 2 9B y t e sS y n c hB y t eT r a c kH e a dS e c t o rB y t e s 1 2 1 1C R C3S y n c hB y t eD a t a C R C1 512 26 0 0 B y t e s / S e c t o rG a p圖 522 磁盤的格式化 第五章 設(shè) 備 管 理 2. 磁盤的類型 1) 這種磁盤在每條磁道上都有一讀 /寫磁頭 , 所有的磁頭都被裝在一剛性磁臂中 。 (4) 及時響應(yīng)由控制器或通道發(fā)來的中斷請求 , 并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理 。 第五章 設(shè) 備 管 理 2. SPOOLing系統(tǒng)的組成 圖 519 SPOOLing系統(tǒng)的組成 輸入進(jìn)程 SPi輸入進(jìn)程 SPo輸入緩沖區(qū) Bi輸出緩沖區(qū) Bo輸入井輸出井磁盤輸入設(shè)備輸出設(shè)備第五章 設(shè) 備 管 理 3. 共享打印機(jī) 共享打印機(jī)技術(shù)已被廣泛地用于多用戶系統(tǒng)和局域網(wǎng)絡(luò)中 。 第五章 設(shè) 備 管 理 2) 向用戶層 (或文件層 ) 無論何種設(shè)備, 它們向用戶所提供的接口應(yīng)該是相同的。 第五章 設(shè) 備 管 理 3. 設(shè)備分配中的安全性 1) 安全分配方式 2) 不安全分配方式 第五章 設(shè) 備 管 理 設(shè)備獨(dú)立性 1. 設(shè)備獨(dú)立性 (Device Independence) 為了提高 OS的可適應(yīng)性和可擴(kuò)展性 , 在現(xiàn)代 OS中都毫無例外地實(shí)現(xiàn)了設(shè)備獨(dú)立性 , 也稱為設(shè)備無關(guān)性 。 Addbuf(type, number)。 為了管理上的方便 , 可將相同類型的緩沖區(qū)鏈成一個隊(duì)列 , 于是可形成以下三個隊(duì)列: ( 1) 空緩沖隊(duì)列 emq。 第五章 設(shè) 備 管 理 操作 P R 計(jì)數(shù) 內(nèi)存地址 WRITE 0 0 80 813 WRITE 0 0 140 1034 WRITE 0 1 60 5830 WRITE 0 1 300 20xx WRITE 0 0 250 1850 WRITE 1 1 250 720 第五章 設(shè) 備 管 理 緩 沖 管 理 緩沖的引入 (1) 緩和 CPU與 I/O設(shè)備間速度不匹配的矛盾。 第五章 設(shè) 備 管 理 3. DMA工作過程 圖 59 DMA方式的工作流程 設(shè)置 AR 和 DC 初值啟動 D M A 傳送命令挪用存儲器周期傳送數(shù)據(jù)字存儲器地址增 1字計(jì)數(shù)寄存器減 1DC = 0?請求中斷在繼續(xù)執(zhí)行用戶程序的同時, 準(zhǔn)備又一次傳送否是第五章 設(shè) 備 管 理 I/O通道控制方式 1. I/O通道控制方式的引入 I/O通道方式是 DMA方式的發(fā)展 , 它可進(jìn)一步減少 CPU的干預(yù) , 即把對一個數(shù)據(jù)塊的讀 (或?qū)?)為單位的干預(yù) , 減少為對一組數(shù)據(jù)塊的讀 (或?qū)?)及有關(guān)的控制和管理為單位的干預(yù) 。 第五章 設(shè) 備 管 理 2. DMA控制器的