IO管理和磁盤調(diào)度_第1頁
IO管理和磁盤調(diào)度_第2頁
IO管理和磁盤調(diào)度_第3頁
IO管理和磁盤調(diào)度_第4頁
IO管理和磁盤調(diào)度_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、I/O 管理管理 和磁盤調(diào)度和磁盤調(diào)度Chapter 11主要內(nèi)容主要內(nèi)容w 教學(xué)目標(biāo)與要求教學(xué)目標(biāo)與要求n理解理解I/O控制方式??刂品绞?。n掌握掌握I/O緩沖技術(shù)緩沖技術(shù)n掌握磁盤存儲器的管理掌握磁盤存儲器的管理w 教學(xué)重點(diǎn)與難點(diǎn)教學(xué)重點(diǎn)與難點(diǎn)n緩沖技術(shù),磁盤調(diào)度緩沖技術(shù),磁盤調(diào)度I/O 設(shè)備的種類設(shè)備的種類1、人可讀的、人可讀的n適合與計算機(jī)用戶通信,如:打印機(jī)適合與計算機(jī)用戶通信,如:打印機(jī),終端(終端( 顯示顯示器器 ,鍵盤鍵盤 , 鼠標(biāo)鼠標(biāo) )2、機(jī)器可讀、機(jī)器可讀n適合與電子設(shè)備通信,如磁盤驅(qū)動器適合與電子設(shè)備通信,如磁盤驅(qū)動器, 傳感器傳感器, 控控制器制器, 執(zhí)行器執(zhí)行器3、

2、通信、通信n適合與遠(yuǎn)程設(shè)備通信,如數(shù)字線路驅(qū)動器,適合與遠(yuǎn)程設(shè)備通信,如數(shù)字線路驅(qū)動器, 調(diào)制解調(diào)制解調(diào)器調(diào)器設(shè)備的分類設(shè)備的分類按傳輸速率分按傳輸速率分w 低速設(shè)備:每秒幾個到數(shù)百字節(jié)。如調(diào)制低速設(shè)備:每秒幾個到數(shù)百字節(jié)。如調(diào)制解調(diào)器解調(diào)器w 中速設(shè)備:每秒數(shù)千到數(shù)萬字節(jié)。如打印中速設(shè)備:每秒數(shù)千到數(shù)萬字節(jié)。如打印機(jī)機(jī)w 高速設(shè)備:每秒數(shù)百高速設(shè)備:每秒數(shù)百K K到數(shù)兆。如磁盤、到數(shù)兆。如磁盤、磁帶磁帶I/O 設(shè)備的差別設(shè)備的差別w 數(shù)據(jù)率數(shù)據(jù)率n數(shù)據(jù)傳送率可能會差別幾個數(shù)量級數(shù)據(jù)傳送率可能會差別幾個數(shù)量級I/O 設(shè)備的差別設(shè)備的差別w 應(yīng)用應(yīng)用n用于文件操作的磁盤需要文件管理軟件的支用于文

3、件操作的磁盤需要文件管理軟件的支持持n在虛擬存儲方案中,磁盤用作頁面調(diào)度的后在虛擬存儲方案中,磁盤用作頁面調(diào)度的后備存儲器,取決于虛存硬件和軟件的使用備存儲器,取決于虛存硬件和軟件的使用n終端被普通用戶使用和系統(tǒng)管理員使用可能終端被普通用戶使用和系統(tǒng)管理員使用可能具有不同的特權(quán)級別,從而在具有不同的特權(quán)級別,從而在OS中有不同的中有不同的優(yōu)先級優(yōu)先級I/O 設(shè)備的差別設(shè)備的差別w 控制的復(fù)雜度控制的復(fù)雜度w 傳送單位傳送單位n數(shù)據(jù)可以按照數(shù)據(jù)可以按照字節(jié)流或者字符流字節(jié)流或者字符流的形式傳送(如終端的形式傳送(如終端I/O),),也可以按照也可以按照大塊傳送大塊傳送(如磁盤(如磁盤I/O)w

4、數(shù)據(jù)表示數(shù)據(jù)表示n數(shù)據(jù)編碼方案數(shù)據(jù)編碼方案,包括字符代碼和奇偶約定的差異包括字符代碼和奇偶約定的差異w 錯誤條件錯誤條件n錯誤的本質(zhì)、報告的方式、后果以及響應(yīng)隨設(shè)備的不錯誤的本質(zhì)、報告的方式、后果以及響應(yīng)隨設(shè)備的不同而不同同而不同I/O功能的組織功能的組織常見的三種常見的三種I/O控制技術(shù):控制技術(shù):w 程序控制程序控制 I/On處理器代表進(jìn)程給處理器代表進(jìn)程給I/O模塊發(fā)送一個模塊發(fā)送一個I/O命令,該進(jìn)程命令,該進(jìn)程進(jìn)入忙等待,等待操作的完成,然后才可以繼續(xù)執(zhí)行進(jìn)入忙等待,等待操作的完成,然后才可以繼續(xù)執(zhí)行w 中斷驅(qū)動中斷驅(qū)動 I/On處理器代表進(jìn)程發(fā)送一個處理器代表進(jìn)程發(fā)送一個I/O命令

5、命令,然后繼續(xù)執(zhí)行后續(xù)然后繼續(xù)執(zhí)行后續(xù)指令,當(dāng)指令,當(dāng)I/O模塊完成工作后,處理器被該模塊中斷。模塊完成工作后,處理器被該模塊中斷。n如果該進(jìn)程不需等待如果該進(jìn)程不需等待I/O完成,后續(xù)指令可以是該進(jìn)完成,后續(xù)指令可以是該進(jìn)程中的指令程中的指令n否則,這個進(jìn)程在這個中斷上被掛起,處理器執(zhí)行其否則,這個進(jìn)程在這個中斷上被掛起,處理器執(zhí)行其他工作他工作w 直接存儲器存取直接存儲器存取 (DMA)nDMA 模塊控制主存和模塊控制主存和 I/O模塊之間的數(shù)據(jù)交模塊之間的數(shù)據(jù)交換換n為傳送一塊數(shù)據(jù),處理器給為傳送一塊數(shù)據(jù),處理器給DMA模塊發(fā)請求,模塊發(fā)請求,只有當(dāng)整個數(shù)據(jù)塊傳送結(jié)束后,處理器才被只有當(dāng)

6、整個數(shù)據(jù)塊傳送結(jié)束后,處理器才被中斷中斷輸入輸出功能的發(fā)展輸入輸出功能的發(fā)展I/O功能的發(fā)展階段:功能的發(fā)展階段:w 處理器直接控制外圍設(shè)備處理器直接控制外圍設(shè)備w 程序控制程序控制I/O方式方式 :增加了控制器或:增加了控制器或 I/O模塊模塊n處理器使用沒有中斷的程序控制處理器使用沒有中斷的程序控制I/On處理器不需要處理外部設(shè)備接口的具體細(xì)節(jié)處理器不需要處理外部設(shè)備接口的具體細(xì)節(jié)n又稱又稱忙忙-等待方式等待方式 輸入輸出功能的發(fā)展輸入輸出功能的發(fā)展w 中斷驅(qū)動中斷驅(qū)動I/O :控制器或控制器或 I/O 模塊采用了中斷模塊采用了中斷n處理器不再需要花費(fèi)時間等待執(zhí)行一個處理器不再需要花費(fèi)時間

7、等待執(zhí)行一個I/O操操作作w DMADMA控制方式控制方式 :I/O模塊通過模塊通過DMA直接控制存儲直接控制存儲器器n從主存中移出或往主存移入一塊數(shù)據(jù),不需要處理器從主存中移出或往主存移入一塊數(shù)據(jù),不需要處理器參與參與n僅僅在傳送開始和結(jié)束時需要用到處理器僅僅在傳送開始和結(jié)束時需要用到處理器輸入輸出功能的發(fā)展輸入輸出功能的發(fā)展w I/OI/O通道控制方式通道控制方式 nI/O 模塊被增強(qiáng)成一個單獨(dú)的處理器,又專門為模塊被增強(qiáng)成一個單獨(dú)的處理器,又專門為I/O設(shè)計的指令集設(shè)計的指令集nI/O 模塊有自己的局部存儲器模塊有自己的局部存儲器lI/O 模塊本身就是一個計算機(jī)模塊本身就是一個計算機(jī)l也

8、稱作也稱作I/O處理器處理器n特點(diǎn):是特點(diǎn):是DMADMA方式的發(fā)展,它可進(jìn)一步減少方式的發(fā)展,它可進(jìn)一步減少CPUCPU的干預(yù),的干預(yù),即把對即把對一個數(shù)據(jù)塊一個數(shù)據(jù)塊的的 讀(或?qū)懀閱挝坏母深A(yù),減讀(或?qū)懀閱挝坏母深A(yù),減少為對少為對一組數(shù)據(jù)塊一組數(shù)據(jù)塊的讀(或?qū)懀┘坝嘘P(guān)的控制和管理的讀(或?qū)懀┘坝嘘P(guān)的控制和管理為單位的干預(yù)。同時,又可實(shí)現(xiàn)為單位的干預(yù)。同時,又可實(shí)現(xiàn)CPUCPU、通道和通道和I/OI/O設(shè)備設(shè)備三者的并行工作,從而更有效的提高了整個系統(tǒng)的資三者的并行工作,從而更有效的提高了整個系統(tǒng)的資源利用率。源利用率。直接存儲器訪問直接存儲器訪問DMAw 取代處理器控制系統(tǒng),在系統(tǒng)總

9、線上從存儲器取代處理器控制系統(tǒng),在系統(tǒng)總線上從存儲器中或者往存儲器中傳送數(shù)據(jù)中或者往存儲器中傳送數(shù)據(jù)w 周期挪用技術(shù)周期挪用技術(shù)用于在總線上傳送數(shù)據(jù)用于在總線上傳送數(shù)據(jù)n為了使數(shù)據(jù)能夠傳送,掛起一個指令周期為了使數(shù)據(jù)能夠傳送,掛起一個指令周期,即即CPU 暫停一個總線周期暫停一個總線周期w 整塊數(shù)據(jù)傳送過程中沒有中斷發(fā)生整塊數(shù)據(jù)傳送過程中沒有中斷發(fā)生n不需要保存進(jìn)程上下文不需要保存進(jìn)程上下文DMAw DMA工作流程工作流程n請求讀請求讀/寫操作的信寫操作的信號號n相關(guān)的相關(guān)的I/O設(shè)備地址設(shè)備地址n內(nèi)存起始地址內(nèi)存起始地址n讀讀/寫的字節(jié)數(shù)寫的字節(jié)數(shù)DMA機(jī)制的配置方法機(jī)制的配置方法w 周期挪

10、用技術(shù)導(dǎo)致處理器執(zhí)行得更慢周期挪用技術(shù)導(dǎo)致處理器執(zhí)行得更慢w 通過通過DMA和和I/O功能集成起來,可以大大功能集成起來,可以大大的減少所需要的總線周期的數(shù)目的減少所需要的總線周期的數(shù)目w DMA 模塊和一個或多個模塊和一個或多個I/O模塊之間除了模塊之間除了系統(tǒng)總線還存在著路徑系統(tǒng)總線還存在著路徑DMADMADMA操作系統(tǒng)設(shè)計問題操作系統(tǒng)設(shè)計問題w Efficiency(效率)效率)n與主存和處理器相比,大多數(shù)與主存和處理器相比,大多數(shù) I/O 設(shè)備都是設(shè)備都是非常慢速的非常慢速的n使用使用多道程序設(shè)計多道程序設(shè)計,可以允許一些進(jìn)程在等,可以允許一些進(jìn)程在等待待I/O操作時另一些進(jìn)程正在執(zhí)行

11、操作時另一些進(jìn)程正在執(zhí)行n交換技術(shù)用于將額外的就緒進(jìn)程加載到內(nèi)存,交換技術(shù)用于將額外的就緒進(jìn)程加載到內(nèi)存,使得處理器保持忙狀態(tài),但交換本身是一個使得處理器保持忙狀態(tài),但交換本身是一個I/O操作操作nI/O 設(shè)計的主要任務(wù)是提供設(shè)計的主要任務(wù)是提供I/O的效率的效率操作系統(tǒng)設(shè)計問題操作系統(tǒng)設(shè)計問題w Generality(通用性)通用性)n為了簡單性和避免錯誤,往往希望能用一種為了簡單性和避免錯誤,往往希望能用一種統(tǒng)一的方式處理所有的設(shè)備統(tǒng)一的方式處理所有的設(shè)備n使用一種使用一種層次化的、模塊化層次化的、模塊化的方法設(shè)計的方法設(shè)計I/O功功能,在低層例程中隱藏大部分設(shè)備能,在低層例程中隱藏大部分

12、設(shè)備I/O的細(xì)節(jié),的細(xì)節(jié),使得用戶進(jìn)程和操作系統(tǒng)高層可以通過一些使得用戶進(jìn)程和操作系統(tǒng)高層可以通過一些通用的功能,如通用的功能,如read, write, open, close, lock, unlock等來查看等來查看I/O設(shè)備設(shè)備一種一種I/O組織的組織的模型模型I/O 緩沖緩沖w 速度的差異問題速度的差異問題n計算機(jī)系統(tǒng)中的各種設(shè)備計算機(jī)系統(tǒng)中的各種設(shè)備( (包括中央處理機(jī)包括中央處理機(jī)) )的運(yùn)行速的運(yùn)行速度差異甚大,度差異甚大,CPUCPU的運(yùn)行速度是以納秒計,而設(shè)備的的運(yùn)行速度是以納秒計,而設(shè)備的運(yùn)行速度則是以毫秒甚至以秒計;運(yùn)行速度則是以毫秒甚至以秒計;w 負(fù)荷不均勻問題負(fù)荷不

13、均勻問題n有時處理機(jī)進(jìn)行大量的計算工作,沒有有時處理機(jī)進(jìn)行大量的計算工作,沒有I/OI/O操作,有操作,有時又會進(jìn)行大量的時又會進(jìn)行大量的I/OI/O操作,這兩個極端都會造成系操作,這兩個極端都會造成系統(tǒng)中的一些設(shè)備過于繁忙,一部分設(shè)備過于空閑,嚴(yán)統(tǒng)中的一些設(shè)備過于繁忙,一部分設(shè)備過于空閑,嚴(yán)重地影響重地影響CPUCPU與外設(shè)的并行工作。與外設(shè)的并行工作。緩存緩存cache和緩沖和緩沖buffer的異同的異同w 緩存(緩存(cache)是把讀取過的數(shù)據(jù))是把讀取過的數(shù)據(jù) 保存起來,重新讀取保存起來,重新讀取時若命中(找到需要的數(shù)據(jù))就不要去讀硬盤了,若沒時若命中(找到需要的數(shù)據(jù))就不要去讀硬盤

14、了,若沒有命中就讀硬盤。其中的數(shù)據(jù)會根據(jù)讀取頻率進(jìn)行組織有命中就讀硬盤。其中的數(shù)據(jù)會根據(jù)讀取頻率進(jìn)行組織,把最頻繁讀取的內(nèi)容放在最容易找到的位置,把不再,把最頻繁讀取的內(nèi)容放在最容易找到的位置,把不再讀的內(nèi)容不斷往后排,直至從中刪除。讀的內(nèi)容不斷往后排,直至從中刪除。w 緩沖(緩沖(buffer)當(dāng)存儲速度快的設(shè)備與存儲速度慢)當(dāng)存儲速度快的設(shè)備與存儲速度慢 的設(shè)的設(shè)備進(jìn)行通信時,存儲慢的設(shè)備先把數(shù)據(jù)存放到備進(jìn)行通信時,存儲慢的設(shè)備先把數(shù)據(jù)存放到buffer,達(dá)到一定程度后,存儲快的設(shè)備再讀取達(dá)到一定程度后,存儲快的設(shè)備再讀取buffer的數(shù)據(jù),的數(shù)據(jù),在此期間存儲快的設(shè)備在此期間存儲快的設(shè)備

15、CPU可以干其他可以干其他 的事情。的事情。緩存緩存cache和緩沖和緩沖buffer的異同的異同w 相同之處:都是為了彌補(bǔ)速度差異,都位于相對較快的設(shè)相同之處:都是為了彌補(bǔ)速度差異,都位于相對較快的設(shè)備上,容量相對較小備上,容量相對較小w 不同之處:不同之處:w Cache要考慮局部性,重復(fù)使用要考慮局部性,重復(fù)使用w Buffer有寫有寫“化零為整化零為整”和預(yù)讀的作用(和預(yù)讀的作用(write sequencing and read prefetching)w Cache中的內(nèi)容在低速設(shè)備中一定還有一份,從而要考慮中的內(nèi)容在低速設(shè)備中一定還有一份,從而要考慮同步,相對的同步,相對的Buf

16、fer要考慮要考慮flush這種區(qū)別并不是絕對的,有時也混用,比如這種區(qū)別并不是絕對的,有時也混用,比如TLB引入緩沖技術(shù)的目的引入緩沖技術(shù)的目的w 提出用緩沖技術(shù)來匹配提出用緩沖技術(shù)來匹配CPUCPU與設(shè)備的速度與設(shè)備的速度的差異的差異w 提高處理機(jī)與外設(shè)的并行程度。提高處理機(jī)與外設(shè)的并行程度。緩沖的實(shí)現(xiàn)方式緩沖的實(shí)現(xiàn)方式w 硬件緩沖區(qū):如設(shè)備控制器中的數(shù)據(jù)寄存硬件緩沖區(qū):如設(shè)備控制器中的數(shù)據(jù)寄存器,數(shù)量少器,數(shù)量少w 軟件緩沖區(qū)軟件緩沖區(qū): :內(nèi)存中劃出的一塊專門空間。內(nèi)存中劃出的一塊專門空間。兩類兩類I/O設(shè)備設(shè)備w 面向塊的設(shè)備面向塊的設(shè)備n信息保存在固定大小的塊中信息保存在固定大小的

17、塊中n一次只傳送一塊一次只傳送一塊n使用磁盤和磁帶使用磁盤和磁帶w 面向流的設(shè)備面向流的設(shè)備n傳送字節(jié)流數(shù)據(jù)傳送字節(jié)流數(shù)據(jù)n終端終端, 打印機(jī)打印機(jī), 通信端口通信端口, 鼠標(biāo)和其他指示設(shè)備以及大鼠標(biāo)和其他指示設(shè)備以及大多數(shù)不是輔存的其他設(shè)備,都是面向流的多數(shù)不是輔存的其他設(shè)備,都是面向流的常用的緩沖技術(shù)常用的緩沖技術(shù)1 1、單緩沖、單緩沖2 2、雙緩沖、雙緩沖3 3、循環(huán)緩沖、循環(huán)緩沖單緩沖單緩沖w 當(dāng)一個用戶進(jìn)程發(fā)出當(dāng)一個用戶進(jìn)程發(fā)出 I/O請求時,操作系統(tǒng)給該請求時,操作系統(tǒng)給該操作分配一個位于內(nèi)存中系統(tǒng)部分的緩沖區(qū)操作分配一個位于內(nèi)存中系統(tǒng)部分的緩沖區(qū)CPUCPUTCTCM單緩沖單緩沖

18、w 面向塊設(shè)備面向塊設(shè)備n輸入傳送進(jìn)入系統(tǒng)緩沖區(qū)輸入傳送進(jìn)入系統(tǒng)緩沖區(qū)n當(dāng)傳送完成時,進(jìn)程把該塊移到用戶空間,并立即請當(dāng)傳送完成時,進(jìn)程把該塊移到用戶空間,并立即請求另一塊求另一塊n稱作預(yù)讀,或者先行輸入稱作預(yù)讀,或者先行輸入n用戶進(jìn)程可以在下一塊數(shù)據(jù)正在讀入時,處理這一塊用戶進(jìn)程可以在下一塊數(shù)據(jù)正在讀入時,處理這一塊數(shù)據(jù)數(shù)據(jù)n由于輸入發(fā)生在系統(tǒng)存儲空間中而不是用戶進(jìn)程存儲由于輸入發(fā)生在系統(tǒng)存儲空間中而不是用戶進(jìn)程存儲器中,故而操作系統(tǒng)可以把該進(jìn)程換出器中,故而操作系統(tǒng)可以把該進(jìn)程換出n操作系統(tǒng)必須知道給用戶進(jìn)程分配系統(tǒng)緩沖區(qū)的情況操作系統(tǒng)必須知道給用戶進(jìn)程分配系統(tǒng)緩沖區(qū)的情況單緩沖單緩沖w

19、面向流設(shè)備面向流設(shè)備n在每次傳送一行或一個字節(jié)的方式下使用在每次傳送一行或一個字節(jié)的方式下使用n每次傳送一行適合于上卷式終端:用戶每次每次傳送一行適合于上卷式終端:用戶每次輸入一行,用回車表示到達(dá)行尾,并且輸出輸入一行,用回車表示到達(dá)行尾,并且輸出到終端時也是類似的每次輸出一行到終端時也是類似的每次輸出一行l(wèi)行式打印機(jī)行式打印機(jī)n每次傳送一個字節(jié)適用于表格型終端,每次傳送一個字節(jié)適用于表格型終端,l鍵盤、傳感器、控制器鍵盤、傳感器、控制器 對于塊設(shè)備:對于塊設(shè)備: 設(shè):數(shù)據(jù)從磁盤設(shè):數(shù)據(jù)從磁盤 緩沖區(qū)緩沖區(qū)T T 數(shù)據(jù)從緩沖區(qū)數(shù)據(jù)從緩沖區(qū) 用戶區(qū)用戶區(qū) M M CPU CPU計算時間計算時間

20、C C則:單緩沖系統(tǒng)對數(shù)據(jù)的處理時間為:則:單緩沖系統(tǒng)對數(shù)據(jù)的處理時間為:max(C,T)+Mmax(C,T)+M如無緩沖區(qū),處理時間為:如無緩沖區(qū),處理時間為: T+C T+C單緩沖性能單緩沖性能w 無緩沖的數(shù)據(jù)處理時間:無緩沖的數(shù)據(jù)處理時間: T+Cw 單緩沖的數(shù)據(jù)處理時間:單緩沖的數(shù)據(jù)處理時間:MaxC,TMn數(shù)據(jù)由數(shù)據(jù)由I/O控制器到緩沖區(qū)和數(shù)據(jù)由緩沖區(qū)到控制器到緩沖區(qū)和數(shù)據(jù)由緩沖區(qū)到用戶工作區(qū),必須用戶工作區(qū),必須串行操作串行操作;單緩沖工作時序圖單緩沖工作時序圖 雙緩沖雙緩沖w 給操作系統(tǒng)指定兩個系統(tǒng)緩沖區(qū),對單緩沖方給操作系統(tǒng)指定兩個系統(tǒng)緩沖區(qū),對單緩沖方案進(jìn)行改進(jìn)案進(jìn)行改進(jìn)w

21、當(dāng)一個進(jìn)程往這一個緩沖區(qū)中傳送數(shù)據(jù)(從這當(dāng)一個進(jìn)程往這一個緩沖區(qū)中傳送數(shù)據(jù)(從這個緩沖區(qū)中取數(shù)據(jù))時,操作系統(tǒng)正在清空個緩沖區(qū)中取數(shù)據(jù))時,操作系統(tǒng)正在清空(填充)另一個緩沖區(qū),(填充)另一個緩沖區(qū),并行操作并行操作TCM雙緩沖性能雙緩沖性能w 雙緩沖的數(shù)據(jù)處理時間:雙緩沖的數(shù)據(jù)處理時間:MaxC+M,T雙緩沖工作時序圖雙緩沖工作時序圖 2011 9、某文件占、某文件占10個磁盤塊,現(xiàn)要把該文件磁盤塊逐個讀入主存緩個磁盤塊,現(xiàn)要把該文件磁盤塊逐個讀入主存緩沖區(qū),并送用戶區(qū)進(jìn)行分析。假設(shè)一個緩沖區(qū)與一個磁盤塊大小沖區(qū),并送用戶區(qū)進(jìn)行分析。假設(shè)一個緩沖區(qū)與一個磁盤塊大小相同,把一個磁盤塊讀入緩沖區(qū)

22、的時間為相同,把一個磁盤塊讀入緩沖區(qū)的時間為100s,將緩沖區(qū)的數(shù),將緩沖區(qū)的數(shù)據(jù)傳送到用戶區(qū)的時間是據(jù)傳送到用戶區(qū)的時間是50s,CPU對一塊數(shù)據(jù)進(jìn)行分析的時間對一塊數(shù)據(jù)進(jìn)行分析的時間為為50s。在單緩沖區(qū)和雙緩沖區(qū)結(jié)構(gòu)下,讀入并分析完該文件的。在單緩沖區(qū)和雙緩沖區(qū)結(jié)構(gòu)下,讀入并分析完該文件的時間分別是(時間分別是( B ) A、1500s、1000s B、1550s、1100s C、1550s、1550s D、2000s、2000sTCM1005050100*9+20010050501005050循環(huán)緩沖循環(huán)緩沖w 使用多于兩個的緩沖區(qū)使用多于兩個的緩沖區(qū)w 其中的每一個緩沖區(qū)是這個循環(huán)緩

23、沖區(qū)的一個其中的每一個緩沖區(qū)是這個循環(huán)緩沖區(qū)的一個單元單元w 使相關(guān)使相關(guān) I/O操作能夠跟得上這個進(jìn)程操作能夠跟得上這個進(jìn)程緩沖池緩沖池環(huán)形緩沖區(qū)一般用于特定的進(jìn)程,屬于專用緩沖區(qū),當(dāng)系環(huán)形緩沖區(qū)一般用于特定的進(jìn)程,屬于專用緩沖區(qū),當(dāng)系統(tǒng)較大時,將會有許多這樣的環(huán)形緩沖區(qū),這不僅要消統(tǒng)較大時,將會有許多這樣的環(huán)形緩沖區(qū),這不僅要消耗大量的內(nèi)存空間,利用率也不高。耗大量的內(nèi)存空間,利用率也不高。為了提高緩沖區(qū)的利用率,目前廣泛流行公用緩沖池,池為了提高緩沖區(qū)的利用率,目前廣泛流行公用緩沖池,池中的緩沖區(qū)可供多個進(jìn)程共享。中的緩沖區(qū)可供多個進(jìn)程共享。 緩沖池由內(nèi)存中一組大小相等的緩沖區(qū)組成,池中

24、各緩沖緩沖池由內(nèi)存中一組大小相等的緩沖區(qū)組成,池中各緩沖區(qū)的大小與用于區(qū)的大小與用于I/OI/O的設(shè)備的基本信息單位相似,緩沖的設(shè)備的基本信息單位相似,緩沖池屬于系統(tǒng)資源,由系統(tǒng)進(jìn)行管理。池屬于系統(tǒng)資源,由系統(tǒng)進(jìn)行管理。緩沖池中各緩沖區(qū)可用于輸出信息,也可用于輸入信息,緩沖池中各緩沖區(qū)可用于輸出信息,也可用于輸入信息,并可根據(jù)需要組成各種緩沖區(qū)隊(duì)列。并可根據(jù)需要組成各種緩沖區(qū)隊(duì)列。 w 目前,幾乎所有隨機(jī)存取的文件,都是存放目前,幾乎所有隨機(jī)存取的文件,都是存放在磁盤上,磁盤在磁盤上,磁盤I/O速度的高低將直接影響文速度的高低將直接影響文件系統(tǒng)的性能。件系統(tǒng)的性能。w 磁盤分為兩種:磁盤分為兩

25、種:n固定頭磁盤:每個磁道設(shè)置一個磁頭,變換磁道固定頭磁盤:每個磁道設(shè)置一個磁頭,變換磁道時不需要磁頭的機(jī)械移動,速度快但成本高時不需要磁頭的機(jī)械移動,速度快但成本高n移動頭磁盤:一個盤面只有一個磁頭,變換磁道移動頭磁盤:一個盤面只有一個磁頭,變換磁道時需要移動磁頭,速度慢但成本低時需要移動磁頭,速度慢但成本低磁盤概述磁盤概述柱面柱面扇區(qū)扇區(qū)磁臂磁臂磁頭磁頭磁盤側(cè)視圖磁盤側(cè)視圖磁道磁道扇區(qū)扇區(qū)磁盤俯視圖磁盤俯視圖w 信息記錄在磁道上,多個盤片,正反兩面都用來信息記錄在磁道上,多個盤片,正反兩面都用來記錄信息,每面一個記錄信息,每面一個磁頭磁頭w 所有盤面中處于同一磁道號上的所有磁道組成一所有盤

26、面中處于同一磁道號上的所有磁道組成一個個柱面柱面w 每個每個扇區(qū)扇區(qū)大小為大小為512512字節(jié)字節(jié) w 物理地址形式:物理地址形式:n柱面號柱面號n磁頭號磁頭號n扇區(qū)號扇區(qū)號柱面、磁頭、扇區(qū)柱面、磁頭、扇區(qū)w 由三個動作組成:由三個動作組成:n尋道尋道 :磁頭移動定位到指定磁道:磁頭移動定位到指定磁道n旋轉(zhuǎn)延遲:等待指定扇區(qū)從磁頭下旋轉(zhuǎn)經(jīng)旋轉(zhuǎn)延遲:等待指定扇區(qū)從磁頭下旋轉(zhuǎn)經(jīng)過過n數(shù)據(jù)傳輸:數(shù)據(jù)在磁盤與內(nèi)存之間的實(shí)際數(shù)據(jù)傳輸:數(shù)據(jù)在磁盤與內(nèi)存之間的實(shí)際傳輸傳輸磁盤的訪問過程磁盤的訪問過程磁盤磁盤I/O傳送的時序傳送的時序磁盤性能參數(shù)磁盤性能參數(shù)w 為了讀和寫,磁頭必須定位于期望的磁道和該為了讀

27、和寫,磁頭必須定位于期望的磁道和該磁道中期望的扇區(qū)的開始處磁道中期望的扇區(qū)的開始處w 尋道時間尋道時間n磁頭定位磁道所需要的時間磁頭定位磁道所需要的時間n當(dāng)代磁盤的平均尋道時間小于當(dāng)代磁盤的平均尋道時間小于10msw 旋轉(zhuǎn)延遲旋轉(zhuǎn)延遲n扇區(qū)到達(dá)磁頭的時間扇區(qū)到達(dá)磁頭的時間n速度為速度為15000r/m,平均旋轉(zhuǎn)延遲為平均旋轉(zhuǎn)延遲為2ms磁盤性能參數(shù)磁盤性能參數(shù)w 存取時間存取時間Access timen尋道時間和旋轉(zhuǎn)延遲的總和尋道時間和旋轉(zhuǎn)延遲的總和n達(dá)到讀或?qū)懳恢盟枰臅r間達(dá)到讀或?qū)懳恢盟枰臅r間w 一旦磁頭定位,并且扇區(qū)旋轉(zhuǎn)到磁頭下,一旦磁頭定位,并且扇區(qū)旋轉(zhuǎn)到磁頭下,就開始執(zhí)行讀或?qū)?/p>

28、操作,這是整個操作的就開始執(zhí)行讀或?qū)懖僮?,這是整個操作的數(shù)據(jù)傳送部分?jǐn)?shù)據(jù)傳送部分n傳送時間傳送時間w 總平均存取時間總平均存取時間rNbT時序比較時序比較w 假設(shè)一磁盤平均尋道時間為假設(shè)一磁盤平均尋道時間為4ms,轉(zhuǎn)速為,轉(zhuǎn)速為7500rpm,每個磁道,每個磁道500個扇區(qū),每個扇個扇區(qū),每個扇區(qū)區(qū)512個字節(jié)。假設(shè)讀取一個包含個字節(jié)。假設(shè)讀取一個包含2500個個扇區(qū)、大小為扇區(qū)、大小為1.28MB的文件,請問估計的文件,請問估計傳送的總時間?傳送的總時間?時序比較時序比較w 順序訪問時間順序訪問時間n總時間= 16 + (4 * 12) = 64ms = 0.064 sn隨機(jī)訪問時間隨機(jī)訪問

29、時間n總時間= 2,500 * 8.016 = 20,040ms = 20.04 s磁盤調(diào)度策略磁盤調(diào)度策略w 尋道時間是產(chǎn)生性能差異的原因?qū)さ罆r間是產(chǎn)生性能差異的原因w 對于單個磁盤,磁盤訪問請求隊(duì)列中可能對于單個磁盤,磁盤訪問請求隊(duì)列中可能有來自多個進(jìn)程的許多有來自多個進(jìn)程的許多I/O請求(讀和寫)請求(讀和寫)w 如果按隨機(jī)順序從對列中選擇項(xiàng)目,那么如果按隨機(jī)順序從對列中選擇項(xiàng)目,那么磁道完全是被隨機(jī)訪問的,這種情況下的磁道完全是被隨機(jī)訪問的,這種情況下的性能最差性能最差磁盤調(diào)度策略磁盤調(diào)度策略w 先進(jìn)先出先進(jìn)先出 (First-in, first-out, FIFO)n按訪問請求到達(dá)的

30、先后次序服務(wù)按訪問請求到達(dá)的先后次序服務(wù)n優(yōu)點(diǎn):對于所有的進(jìn)程都很公平優(yōu)點(diǎn):對于所有的進(jìn)程都很公平n缺點(diǎn):如果有多個進(jìn)程競爭一個磁盤,這種缺點(diǎn):如果有多個進(jìn)程競爭一個磁盤,這種技術(shù)在性能上往往接近于隨機(jī)調(diào)度。技術(shù)在性能上往往接近于隨機(jī)調(diào)度。n例:表例:表11.2a 圖圖11.7a磁盤調(diào)度策略磁盤調(diào)度策略w Priorityn這種方法并不會優(yōu)化磁盤的使用率,但可以這種方法并不會優(yōu)化磁盤的使用率,但可以滿足操作系統(tǒng)的其他目標(biāo),如:滿足操作系統(tǒng)的其他目標(biāo),如:l比較短的批作業(yè)和交互作業(yè)比需要較長計算時間比較短的批作業(yè)和交互作業(yè)比需要較長計算時間的長作業(yè)的優(yōu)先級高的長作業(yè)的優(yōu)先級高l可以提供比較好的交

31、互響應(yīng)時間可以提供比較好的交互響應(yīng)時間磁盤調(diào)度策略磁盤調(diào)度策略w Last-in, first-outn取最近請求取最近請求n有利于事務(wù)處理系統(tǒng)有利于事務(wù)處理系統(tǒng)l把設(shè)備給最近的用戶會導(dǎo)致磁頭臂在一個順序文件中移動時把設(shè)備給最近的用戶會導(dǎo)致磁頭臂在一個順序文件中移動時移動的很少,甚至不移動移動的很少,甚至不移動n利用這種局部性可以提高吞吐量,減小隊(duì)列長度利用這種局部性可以提高吞吐量,減小隊(duì)列長度n當(dāng)一個作業(yè)往隊(duì)列中送入一個當(dāng)一個作業(yè)往隊(duì)列中送入一個I/O請求時,錯過了磁請求時,錯過了磁頭位置時,該作業(yè)就可能永遠(yuǎn)得不到磁頭而被餓死,頭位置時,該作業(yè)就可能永遠(yuǎn)得不到磁頭而被餓死,除非它前面的隊(duì)列變

32、為空除非它前面的隊(duì)列變?yōu)榭沾疟P調(diào)度策略磁盤調(diào)度策略w 最短服務(wù)時間優(yōu)先最短服務(wù)時間優(yōu)先(Shortest Service Time First, SSTF)n選擇使磁頭臂從當(dāng)前位置開始移動最少的磁選擇使磁頭臂從當(dāng)前位置開始移動最少的磁盤盤I/O請求請求n貪心的策略,總是貪心的策略,總是選擇最小尋道時間的請求選擇最小尋道時間的請求n不能保證平均尋道時間最短不能保證平均尋道時間最短 n能提供比能提供比FIFO更好的性能更好的性能n饑餓現(xiàn)象饑餓現(xiàn)象n例:表例:表11.2b 圖圖11.7b磁盤調(diào)度策略磁盤調(diào)度策略w SCAN(電梯算法)(電梯算法)n要求磁頭臂僅僅沿一個方向移動,并在途中滿足所有要求磁

33、頭臂僅僅沿一個方向移動,并在途中滿足所有未完成的請求,直到它到達(dá)這個方向上的最后一個磁未完成的請求,直到它到達(dá)這個方向上的最后一個磁道,或者在這個方向上沒有別的請求為止道,或者在這個方向上沒有別的請求為止(可以防止可以防止饑餓饑餓)n后一種改進(jìn)有時候稱作后一種改進(jìn)有時候稱作LOOK策略。然后倒轉(zhuǎn)服務(wù)方策略。然后倒轉(zhuǎn)服務(wù)方向,沿相反方向掃描,同樣按順序完成所有請求向,沿相反方向掃描,同樣按順序完成所有請求n在移動方向固定的情況下采用了在移動方向固定的情況下采用了SSTF,以避免饑餓,以避免饑餓現(xiàn)象現(xiàn)象n存在請求進(jìn)程等待延遲現(xiàn)象,最大延遲時間為存在請求進(jìn)程等待延遲現(xiàn)象,最大延遲時間為2t例:表例:

34、表11.2c 圖圖11.7c磁盤調(diào)度策略磁盤調(diào)度策略w C-SCAN(循環(huán)掃描)(循環(huán)掃描)n把掃描限定在一個方向把掃描限定在一個方向n當(dāng)沿某個方向訪問到最后一個磁道時,磁頭當(dāng)沿某個方向訪問到最后一個磁道時,磁頭臂返回到磁盤的另一端,并再次開始掃描臂返回到磁盤的另一端,并再次開始掃描n請求延遲時間:請求延遲時間:2t2tt+Smaxt+Smax,減少了新請求減少了新請求的最大延遲的最大延遲磁盤調(diào)度策略磁盤調(diào)度策略可避免可避免“磁頭臂的粘性(磁臂粘著)磁頭臂的粘性(磁臂粘著)”的策略:的策略:w N-step-SCANn把磁盤請求隊(duì)列分成長度為把磁盤請求隊(duì)列分成長度為N的子隊(duì)列的子隊(duì)列n每一次用

35、每一次用 SCAN處理一個子隊(duì)列處理一個子隊(duì)列n在處理某一個隊(duì)列時,新請求必須添加到其他某個隊(duì)在處理某一個隊(duì)列時,新請求必須添加到其他某個隊(duì)列中列中磁盤調(diào)度策略磁盤調(diào)度策略可避免可避免“磁頭臂的粘性磁頭臂的粘性”的策略:的策略:w FSCANn使用兩個子隊(duì)列使用兩個子隊(duì)列n當(dāng)掃描開始時,所有請求都在一個隊(duì)列中,而另一個當(dāng)掃描開始時,所有請求都在一個隊(duì)列中,而另一個隊(duì)列為空。在掃描過程中,所有新到的請求都被放入隊(duì)列為空。在掃描過程中,所有新到的請求都被放入另一個隊(duì)列中另一個隊(duì)列中磁盤調(diào)度策略磁盤調(diào)度策略獨(dú)立磁盤冗余陣列(獨(dú)立磁盤冗余陣列(RAID)w RAID(Redundant Arrays

36、of Independent Disk)。由伯克利提出,廣泛用于大中型計算機(jī)和網(wǎng)絡(luò)由伯克利提出,廣泛用于大中型計算機(jī)和網(wǎng)絡(luò)中。中。w 由一臺磁盤陣列控制器控制一組磁盤驅(qū)動器,由一臺磁盤陣列控制器控制一組磁盤驅(qū)動器,組成一個高度可靠、快速的大容量磁盤系統(tǒng)。組成一個高度可靠、快速的大容量磁盤系統(tǒng)。w 1、并行交叉存取、并行交叉存取 w 2、RAID分級分級 w 3、RAID的優(yōu)點(diǎn)的優(yōu)點(diǎn)1、并行交叉存取、并行交叉存取 w 加快訪問速度加快訪問速度w 在系統(tǒng)中有多臺磁盤驅(qū)動器(在系統(tǒng)中有多臺磁盤驅(qū)動器(N)。)。w 存放數(shù)據(jù)時,將數(shù)據(jù)的第一塊放在第一個存放數(shù)據(jù)時,將數(shù)據(jù)的第一塊放在第一個磁盤上,第磁盤

37、上,第N塊放在第塊放在第N個磁盤上。個磁盤上。w 這樣可以并行讀寫,極大地提高了速度。這樣可以并行讀寫,極大地提高了速度。2、RAID分級分級 w RAID0RAID7w RAID0 提供并行交叉存?。]有冗余能力)提供并行交叉存?。]有冗余能力)w 至少兩個盤至少兩個盤w RAID1 兩個盤,并行交叉存取,并把一個磁盤兩個盤,并行交叉存取,并把一個磁盤的數(shù)據(jù)鏡像到另一個磁盤上。利用率的數(shù)據(jù)鏡像到另一個磁盤上。利用率50%。比。比傳統(tǒng)鏡像盤快。傳統(tǒng)鏡像盤快。w RAID2-6:使用某種形式的奇偶計算來實(shí)現(xiàn)冗余使用某種形式的奇偶計算來實(shí)現(xiàn)冗余的的RAID 0 (non-redundant)RAID 1 (mirrored)通過臨時復(fù)制所有數(shù)據(jù)來實(shí)現(xiàn)冗余的RAID 2 (redundancy through Hamming code)RAID2-3:并行訪問RAID 3 (交錯位奇偶校驗(yàn)交錯位奇偶校驗(yàn))RAID 4 (塊奇偶校驗(yàn)塊奇偶校驗(yàn))RAID4-6:獨(dú)立訪問RAID 5 (塊分布奇偶校驗(yàn)塊分布奇偶校驗(yàn))奇偶校驗(yàn)

溫馨提示

  • 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

提交評論