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

下載本文檔

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

文檔簡(jiǎn)介

1、Operating SystemOperating SystemPage 12022-4-27Operating SystemOperating SystemPage 22022-4-27qI/O系統(tǒng)系統(tǒng) qI/O控制方式控制方式 q緩沖管理緩沖管理 q設(shè)備分配設(shè)備分配q設(shè)備處理設(shè)備處理q磁盤存儲(chǔ)器管理磁盤存儲(chǔ)器管理Operating SystemOperating SystemPage 32022-4-27q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環(huán)緩沖循環(huán)緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 4

2、2022-4-27q緩和緩和CPU與與I/O設(shè)備間速度不匹配的矛盾設(shè)備間速度不匹配的矛盾 數(shù)據(jù)到達(dá)速率與其離去速率不同數(shù)據(jù)到達(dá)速率與其離去速率不同q減少對(duì)減少對(duì)CPU的中斷頻率,放寬對(duì)的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)中斷響應(yīng)時(shí)間的限制間的限制1位緩沖位緩沖9.6 Kb/s(a)中斷中斷CPU的頻的頻率為率為9.6Kb/s,每每100 s中斷中斷一次一次CPUCPU必須在必須在100 s內(nèi)響內(nèi)響應(yīng),否則數(shù)據(jù)應(yīng),否則數(shù)據(jù)會(huì)被沖掉會(huì)被沖掉8位緩沖寄存器位緩沖寄存器送內(nèi)存送內(nèi)存9.6 Kb/s(b)中斷中斷CPU的頻率降的頻率降低為低為9.6Kb/8 Operating SystemOperatin

3、g SystemPage 52022-4-278位緩沖寄存器位緩沖寄存器9.6 Kb/s送內(nèi)存送內(nèi)存(c)q提高提高CPU和和I/O設(shè)備之間的并行性設(shè)備之間的并行性v提高系統(tǒng)的吞吐量和設(shè)備的利用率提高系統(tǒng)的吞吐量和設(shè)備的利用率每每800 s中斷一中斷一次次CPUOperating SystemOperating SystemPage 62022-4-27q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環(huán)緩沖循環(huán)緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 72022-4-27q 單緩沖單緩沖(Single Buf

4、fer) 工作區(qū)工作區(qū)處理處理(C)緩沖區(qū)緩沖區(qū)傳送傳送(M)輸入輸入(T)I/O設(shè)備設(shè)備(a)T1M1C1T2M2C2T3M3C3T4t(b)用戶進(jìn)程用戶進(jìn)程CT時(shí)時(shí),每塊數(shù)據(jù)每塊數(shù)據(jù)的處理時(shí)間是的處理時(shí)間是M+T;反之,為;反之,為M+C,即,即由于由于C和和T可并行,可并行,M和和C或或M和和T不能并行不能并行因此處理一塊數(shù)據(jù)時(shí)間:因此處理一塊數(shù)據(jù)時(shí)間:Max(C,T)+MOperating SystemOperating SystemPage 82022-4-272. 雙緩沖雙緩沖(Double Buffer) 為了加快輸入、輸出速度和提高設(shè)備利用率,又引入了雙緩沖工作方式,也稱為緩沖

5、對(duì)換(Buffer Swapping)方式。在設(shè)備輸入時(shí),先將數(shù)據(jù)輸入第一緩沖區(qū),裝滿后便轉(zhuǎn)向第二緩沖區(qū)。操作系統(tǒng)可從第一緩沖區(qū)中移出數(shù)據(jù)送用戶進(jìn)程區(qū),接著由CPU對(duì)數(shù)據(jù)進(jìn)行計(jì)算。 Operating SystemOperating SystemPage 92022-4-27q 雙緩沖雙緩沖(Double Buffer) 工作區(qū)工作區(qū)用戶進(jìn)程用戶進(jìn)程緩沖區(qū)緩沖區(qū)1緩沖區(qū)緩沖區(qū)2I/O 設(shè)備設(shè)備T1(緩沖1)M1C1M2C2M3C3T2(緩沖2)T3(緩沖3)M4C4T4(緩沖4)(a)(b)效率有所提高,且進(jìn)一步平滑了傳輸峰值。效率有所提高,且進(jìn)一步平滑了傳輸峰值。系統(tǒng)處理一塊數(shù)據(jù)的時(shí)間約為:

6、系統(tǒng)處理一塊數(shù)據(jù)的時(shí)間約為:MAX(C,T)Operating SystemOperating SystemPage 102022-4-27緩沖區(qū)緩沖區(qū)緩沖區(qū)緩沖區(qū)A機(jī)機(jī)B機(jī)機(jī)(a) 單緩沖單緩沖發(fā)送發(fā)送緩沖區(qū)緩沖區(qū)接收接收緩沖區(qū)緩沖區(qū)接收接收緩沖區(qū)緩沖區(qū)發(fā)送發(fā)送緩沖區(qū)緩沖區(qū)A機(jī)機(jī)B機(jī)機(jī)(b) 雙緩沖雙緩沖只能實(shí)現(xiàn)單向只能實(shí)現(xiàn)單向的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸為了實(shí)現(xiàn)雙向數(shù)據(jù)傳輸,必須在兩臺(tái)機(jī)器中都設(shè)置兩個(gè)緩沖區(qū),一個(gè)用作發(fā)送緩沖區(qū),另一個(gè)用作接收緩沖區(qū)。Operating SystemOperating SystemPage 112022-4-27q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q

7、循環(huán)緩沖循環(huán)緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 122022-4-27q循環(huán)緩沖的引入循環(huán)緩沖的引入v當(dāng)輸入與輸出速度基本匹配時(shí),雙緩沖能獲得較好效當(dāng)輸入與輸出速度基本匹配時(shí),雙緩沖能獲得較好效果;當(dāng)速度相差較大時(shí),可引入多個(gè)(大小相等)緩果;當(dāng)速度相差較大時(shí),可引入多個(gè)(大小相等)緩沖,組織成循環(huán)緩沖的形式?jīng)_,組織成循環(huán)緩沖的形式q循環(huán)緩沖的組成循環(huán)緩沖的組成v多個(gè)緩沖區(qū)多個(gè)緩沖區(qū)用于裝輸入數(shù)據(jù)的用于裝輸入數(shù)據(jù)的空緩沖區(qū)空緩沖區(qū)R已裝滿數(shù)據(jù)的已裝滿數(shù)據(jù)的滿緩沖區(qū)滿緩沖區(qū)G計(jì)算進(jìn)程計(jì)算進(jìn)程正在使用正在使用的現(xiàn)行

8、工作緩沖區(qū)的現(xiàn)行工作緩沖區(qū)Cv多個(gè)指針多個(gè)指針指示計(jì)算進(jìn)程下一指示計(jì)算進(jìn)程下一可用緩沖區(qū)可用緩沖區(qū)Nextg指示輸入進(jìn)程下一指示輸入進(jìn)程下一可用空緩沖區(qū)可用空緩沖區(qū)Nexti指示計(jì)算進(jìn)程指示計(jì)算進(jìn)程正在使用正在使用的緩沖區(qū)的緩沖區(qū)CurrentOperating SystemOperating SystemPage 132022-4-27RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent類型:類型:R:空緩沖;空緩沖;G:滿緩沖;:滿緩沖;C:當(dāng)前緩沖:當(dāng)前緩沖Operating SystemOperating SystemPage 1420

9、22-4-27q循環(huán)緩沖區(qū)的使用循環(huán)緩沖區(qū)的使用vGetbuf過(guò)程過(guò)程為計(jì)算進(jìn)程和輸入進(jìn)程提供緩沖區(qū),并移動(dòng)指針為計(jì)算進(jìn)程和輸入進(jìn)程提供緩沖區(qū),并移動(dòng)指針vReleasebuf過(guò)程過(guò)程當(dāng)計(jì)算進(jìn)程或輸入使用完緩沖區(qū)后,調(diào)用過(guò)程將緩當(dāng)計(jì)算進(jìn)程或輸入使用完緩沖區(qū)后,調(diào)用過(guò)程將緩沖區(qū)釋放沖區(qū)釋放q進(jìn)程同步進(jìn)程同步輸入、計(jì)算進(jìn)程并行輸入、計(jì)算進(jìn)程并行vNexti指針追趕指針追趕上上Nextg指針指針輸入進(jìn)程速度大于計(jì)算進(jìn)程,全部空緩沖區(qū)已滿,輸入進(jìn)程速度大于計(jì)算進(jìn)程,全部空緩沖區(qū)已滿,無(wú)可用緩沖區(qū),輸入進(jìn)程阻塞(無(wú)可用緩沖區(qū),輸入進(jìn)程阻塞(系統(tǒng)受計(jì)算限制系統(tǒng)受計(jì)算限制)vNextg指針追趕上指針追趕上N

10、exti指針指針計(jì)算進(jìn)程速度大于輸入進(jìn)程,全部緩沖區(qū)空,無(wú)可計(jì)算進(jìn)程速度大于輸入進(jìn)程,全部緩沖區(qū)空,無(wú)可用數(shù)據(jù),計(jì)算進(jìn)程阻塞(用數(shù)據(jù),計(jì)算進(jìn)程阻塞(系統(tǒng)受系統(tǒng)受I/O限制限制)Operating SystemOperating SystemPage 152022-4-27q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環(huán)緩沖循環(huán)緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 162022-4-27q緩沖池的組成緩沖池的組成v專用緩沖的利用率不高,與環(huán)形緩沖不同的是緩沖池專用緩沖的利用率不高,與環(huán)形緩沖不同的是緩沖池

11、中的緩沖區(qū)是系統(tǒng)的中的緩沖區(qū)是系統(tǒng)的公用資源公用資源,可供,可供多個(gè)進(jìn)程共享多個(gè)進(jìn)程共享,既能用于既能用于輸入輸入,也能用于,也能用于輸出輸出v緩沖區(qū)類型緩沖區(qū)類型空空(閑閑)緩沖區(qū)緩沖區(qū)裝滿輸入數(shù)據(jù)的緩沖區(qū)裝滿輸入數(shù)據(jù)的緩沖區(qū)裝滿輸出數(shù)據(jù)的緩沖區(qū)裝滿輸出數(shù)據(jù)的緩沖區(qū)v緩沖隊(duì)列:按其使用情況緩沖隊(duì)列:按其使用情況空緩沖隊(duì)列空緩沖隊(duì)列emq輸入隊(duì)列輸入隊(duì)列inq輸出隊(duì)列輸出隊(duì)列outqOperating SystemOperating SystemPage 172022-4-27q緩沖池的組成緩沖池的組成v四種工作緩沖區(qū)四種工作緩沖區(qū)用于收容輸入數(shù)據(jù)的工作緩沖區(qū)(用于收容輸入數(shù)據(jù)的工作緩沖區(qū)(h

12、in)用于提取輸入數(shù)據(jù)的工作緩沖區(qū)(用于提取輸入數(shù)據(jù)的工作緩沖區(qū)(sin)用于收容輸出數(shù)據(jù)的工作緩沖區(qū)(用于收容輸出數(shù)據(jù)的工作緩沖區(qū)(hout)用于提取輸出數(shù)據(jù)的工作緩沖區(qū)(用于提取輸出數(shù)據(jù)的工作緩沖區(qū)(sout)Operating SystemOperating SystemPage 182022-4-27q兩個(gè)對(duì)緩沖區(qū)操作的過(guò)程兩個(gè)對(duì)緩沖區(qū)操作的過(guò)程vGetbuf(type),type-隊(duì)列類型隊(duì)列類型 vPutbuf(type,number),number-指某緩沖區(qū)指某緩沖區(qū)v隊(duì)列是臨界資源需設(shè)置隊(duì)列是臨界資源需設(shè)置互斥信號(hào)量互斥信號(hào)量MS,每個(gè)隊(duì)列一個(gè),每個(gè)隊(duì)列一個(gè)MS(type)資

13、源信號(hào)量資源信號(hào)量RS ,每個(gè)隊(duì)列一個(gè),每個(gè)隊(duì)列一個(gè)RS(type)v隊(duì)列操作過(guò)程隊(duì)列操作過(guò)程Takebuf(type) :取:取type所指隊(duì)列隊(duì)首緩沖區(qū)所指隊(duì)列隊(duì)首緩沖區(qū)Addbuf(type,number):將:將number所指緩沖所指緩沖區(qū)加到區(qū)加到type所指隊(duì)列尾所指隊(duì)列尾Operating SystemOperating SystemPage 192022-4-27 Procedure Getbuf(type) begin Wait(RS(type); Wait(MS(type); B(number):=Takebuf(type); /從隊(duì)首摘下一個(gè)緩沖區(qū)從隊(duì)首摘下一個(gè)緩沖區(qū)

14、Signal(MS(type); end Procedure Putbuf(type, number) begin Wait(MS(type); Addbuf(type, number); /將指定緩沖區(qū)掛在將指定緩沖區(qū)掛在type指定隊(duì)列上指定隊(duì)列上 Signal(MS(type); Signal(RS(type); end 互斥信號(hào)量MS(type)資源信號(hào)量RS(type)Operating SystemOperating SystemPage 202022-4-27q緩沖池的組成緩沖池的組成v四種工作緩沖區(qū)四種工作緩沖區(qū)用于收容輸入數(shù)據(jù)的工作緩沖區(qū)(用于收容輸入數(shù)據(jù)的工作緩沖區(qū)(hin

15、)用于提取輸入數(shù)據(jù)的工作緩沖區(qū)(用于提取輸入數(shù)據(jù)的工作緩沖區(qū)(sin)用于收容輸出數(shù)據(jù)的工作緩沖區(qū)(用于收容輸出數(shù)據(jù)的工作緩沖區(qū)(hout)用于提取輸出數(shù)據(jù)的工作緩沖區(qū)(用于提取輸出數(shù)據(jù)的工作緩沖區(qū)(sout)Operating SystemOperating SystemPage 212022-4-27q緩沖區(qū)工作方式緩沖區(qū)工作方式hinsoutsinhout收容輸入收容輸入提取輸出提取輸出用用戶戶進(jìn)進(jìn)程程提取輸入提取輸入收容輸出收容輸出緩沖池緩沖池Getbuf(emq)Putbuf(inq,hin)Getbuf(inq)Putbuf(emp,sin)Getbuf(emq)Putbuf(ou

16、tq,hout)Getbuf(outq)Putbuf(emq,sout)Operating SystemOperating SystemPage 222022-4-273. 緩沖區(qū)的工作方式緩沖區(qū)的工作方式 圖 5-15 緩沖區(qū)的工作方式 v1.收容輸入;2.提取輸入;3.收容輸出;4.提取輸出1. hin=getbuf(emq);putbuf(inq,hin)2. sin=getbuf(inq);計(jì)算;putbuf(emq,sin)3. hout=getbuf(emq);putbuf(outq, hout)4. sout=getbuf(outq);輸出;putbuf(emq,sout)Ope

17、rating SystemOperating SystemPage 232022-4-27q無(wú)緩沖時(shí)問(wèn)題分析:無(wú)緩沖時(shí)問(wèn)題分析:設(shè)備直接向進(jìn)程地址設(shè)備直接向進(jìn)程地址空間傳送數(shù)據(jù)空間傳送數(shù)據(jù)(如用戶從磁帶中讀數(shù)據(jù)塊的如用戶從磁帶中讀數(shù)據(jù)塊的操作),則進(jìn)程要么忙等待,要么阻塞。操作),則進(jìn)程要么忙等待,要么阻塞。v如果用如果用忙等待方式忙等待方式,則浪費(fèi)大量,則浪費(fèi)大量CPU時(shí)間;時(shí)間;v如果是如果是阻塞方式阻塞方式,則進(jìn)程阻塞在設(shè)備的,則進(jìn)程阻塞在設(shè)備的I/O請(qǐng)求隊(duì)列中。這時(shí),請(qǐng)求隊(duì)列中。這時(shí),不能將進(jìn)程全部換出,不能將進(jìn)程全部換出,還可能出現(xiàn)單進(jìn)程還可能出現(xiàn)單進(jìn)程死鎖死鎖。(進(jìn)程在等待。(進(jìn)程

18、在等待I/O操操作結(jié)果之前被換出,等待作結(jié)果之前被換出,等待I/O事件,而事件,而I/O操操作也被阻塞,等待該進(jìn)程被換入。)作也被阻塞,等待該進(jìn)程被換入。)Operating SystemOperating SystemPage 242022-4-27qI/O系統(tǒng)系統(tǒng) qI/O控制方式控制方式 q緩沖管理緩沖管理 q設(shè)備分配設(shè)備分配q設(shè)備處理設(shè)備處理q磁盤存儲(chǔ)器管理磁盤存儲(chǔ)器管理Operating SystemOperating SystemPage 252022-4-27q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時(shí)應(yīng)考慮的因素設(shè)備分配時(shí)應(yīng)考慮的因素q設(shè)備獨(dú)立性設(shè)備獨(dú)立性q獨(dú)占設(shè)備的

19、分配程序獨(dú)占設(shè)備的分配程序qSPOOLing技術(shù)技術(shù)Operating SystemOperating SystemPage 262022-4-27q在多道程序環(huán)境下,系統(tǒng)中的設(shè)備所有進(jìn)程共享,在多道程序環(huán)境下,系統(tǒng)中的設(shè)備所有進(jìn)程共享,為為防止防止進(jìn)程對(duì)系統(tǒng)資源的進(jìn)程對(duì)系統(tǒng)資源的無(wú)序競(jìng)爭(zhēng)無(wú)序競(jìng)爭(zhēng),必須由系統(tǒng),必須由系統(tǒng)統(tǒng)一分配統(tǒng)一分配設(shè)備設(shè)備q某進(jìn)程向系統(tǒng)提出某進(jìn)程向系統(tǒng)提出I/O請(qǐng)求時(shí),設(shè)備分配程序按請(qǐng)求時(shí),設(shè)備分配程序按一定策略一定策略分配設(shè)備、控制器和通道,形成一條數(shù)分配設(shè)備、控制器和通道,形成一條數(shù)據(jù)傳輸通路,以供主機(jī)和設(shè)備間信息交換據(jù)傳輸通路,以供主機(jī)和設(shè)備間信息交換q為實(shí)現(xiàn)設(shè)備分

20、配,系統(tǒng)中應(yīng)設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu),為實(shí)現(xiàn)設(shè)備分配,系統(tǒng)中應(yīng)設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu),對(duì)每臺(tái)設(shè)備、通道、控制器的情況進(jìn)行登記對(duì)每臺(tái)設(shè)備、通道、控制器的情況進(jìn)行登記Operating SystemOperating SystemPage 272022-4-275.4 設(shè)設(shè) 備備 分分 配配 5.4.1 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu) 1. 設(shè)備控制表設(shè)備控制表DCT2. 控制器控制表控制器控制表COCT3. 通道控制表通道控制表CHCT4. 系統(tǒng)設(shè)備表系統(tǒng)設(shè)備表SDT Operating SystemOperating SystemPage 282022-4-27q設(shè)備控制表設(shè)備控制表DCT設(shè)備

21、類型設(shè)備類型 type設(shè)備標(biāo)識(shí)符:設(shè)備標(biāo)識(shí)符:deviceid設(shè)備狀態(tài):等待設(shè)備狀態(tài):等待/ /不等待不等待 忙忙/ /閑閑指向控制器表指向控制器表COCTCOCT的指針的指針重復(fù)執(zhí)行次數(shù)或時(shí)間重復(fù)執(zhí)行次數(shù)或時(shí)間設(shè)備隊(duì)列的隊(duì)首指針設(shè)備隊(duì)列的隊(duì)首指針DCT 1DCT 2DCT n設(shè)設(shè)備備控控制制表表集集合合每個(gè)設(shè)備一張,記錄本設(shè)備的情況每個(gè)設(shè)備一張,記錄本設(shè)備的情況正使用,則忙標(biāo)志正使用,則忙標(biāo)志置置1;若與其相連的;若與其相連的控制器或通道忙,控制器或通道忙,則等待標(biāo)志置則等待標(biāo)志置1請(qǐng)求本設(shè)備未滿請(qǐng)求本設(shè)備未滿足的進(jìn)程足的進(jìn)程PCB隊(duì)隊(duì)列列Operating SystemOperating

22、SystemPage 292022-4-27q控制器控制表、控制器控制表、 通道控制表通道控制表控制器標(biāo)識(shí)符:控制器標(biāo)識(shí)符:controllerid控制器狀態(tài):忙控制器狀態(tài):忙/ /閑閑與控制器連接的通道表指針與控制器連接的通道表指針控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)首指針控制器隊(duì)列的隊(duì)尾指針控制器隊(duì)列的隊(duì)尾指針通道標(biāo)識(shí)符:通道標(biāo)識(shí)符:channelid通道狀態(tài):忙通道狀態(tài):忙/ /閑閑與通道連接的控制器表首址與通道連接的控制器表首址通道隊(duì)列的隊(duì)首指針通道隊(duì)列的隊(duì)首指針通道隊(duì)列的隊(duì)尾指針通道隊(duì)列的隊(duì)尾指針(a) 控制器表控制器表COCT(b) 通道表通道表CHCT一個(gè)控制器一張一個(gè)控制器一張一

23、個(gè)通道一張一個(gè)通道一張Operating SystemOperating SystemPage 302022-4-27q系統(tǒng)設(shè)備表系統(tǒng)設(shè)備表SDT 系統(tǒng)系統(tǒng)設(shè)備表設(shè)備表SDT表目表目 1表目表目 i設(shè)備類設(shè)備類設(shè)備標(biāo)識(shí)符設(shè)備標(biāo)識(shí)符DCT驅(qū)動(dòng)程序入口驅(qū)動(dòng)程序入口整個(gè)系統(tǒng)一張,記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況整個(gè)系統(tǒng)一張,記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況Operating SystemOperating SystemPage 312022-4-27q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時(shí)應(yīng)考慮的因素設(shè)備分配時(shí)應(yīng)考慮的因素q設(shè)備獨(dú)立性設(shè)備獨(dú)立性q獨(dú)占設(shè)備的分配程序獨(dú)占設(shè)

24、備的分配程序qSPOOLing技術(shù)技術(shù)Operating SystemOperating SystemPage 322022-4-275.4.2 設(shè)備分配時(shí)應(yīng)考慮的因素設(shè)備分配時(shí)應(yīng)考慮的因素 為了使系統(tǒng)有條不紊地工作,系統(tǒng)在進(jìn)行設(shè)備分配時(shí),應(yīng)考慮這樣幾個(gè)因素:(1)設(shè)備的固有屬性;(2)設(shè)備分配算法;(3)設(shè)備分配的安全性;(4)設(shè)備獨(dú)立性。Operating SystemOperating SystemPage 332022-4-27q設(shè)備的固有屬性設(shè)備的固有屬性v獨(dú)占性獨(dú)占性一段時(shí)間內(nèi),只允許一個(gè)進(jìn)程獨(dú)占,大多數(shù)低度速一段時(shí)間內(nèi),只允許一個(gè)進(jìn)程獨(dú)占,大多數(shù)低度速/ /設(shè)備都屬于獨(dú)享設(shè)備設(shè)備

25、都屬于獨(dú)享設(shè)備v共享性共享性允許多個(gè)進(jìn)程同時(shí)共享,如磁盤、磁鼓之類的外存允許多個(gè)進(jìn)程同時(shí)共享,如磁盤、磁鼓之類的外存儲(chǔ)器,既具有很能大的存儲(chǔ)容量,其定位操作的時(shí)儲(chǔ)器,既具有很能大的存儲(chǔ)容量,其定位操作的時(shí)間又短間又短v可虛擬性可虛擬性獨(dú)占設(shè)備經(jīng)某種技術(shù)處理,改造成虛擬設(shè)備,把一獨(dú)占設(shè)備經(jīng)某種技術(shù)處理,改造成虛擬設(shè)備,把一臺(tái)輸入機(jī)虛擬為幾臺(tái)臺(tái)輸入機(jī)虛擬為幾臺(tái)“虛擬虛擬”的輸入機(jī)。例如:為的輸入機(jī)。例如:為了提高設(shè)備利用率引入了脫機(jī)輸入輸出或采用了提高設(shè)備利用率引入了脫機(jī)輸入輸出或采用SPOOLing技術(shù),變一臺(tái)為技術(shù),變一臺(tái)為“多臺(tái)設(shè)備多臺(tái)設(shè)備”缺點(diǎn):設(shè)備得缺點(diǎn):設(shè)備得不到充分利用,不到充分利用

26、,可能產(chǎn)生死鎖可能產(chǎn)生死鎖Operating SystemOperating SystemPage 342022-4-27q設(shè)備分配設(shè)備分配v獨(dú)占設(shè)備獨(dú)占設(shè)備防止死鎖防止死鎖v共享設(shè)備共享設(shè)備由于同時(shí)有多個(gè)進(jìn)程同時(shí)訪問(wèn),且訪問(wèn)頻繁,就會(huì)由于同時(shí)有多個(gè)進(jìn)程同時(shí)訪問(wèn),且訪問(wèn)頻繁,就會(huì)影響整個(gè)設(shè)備使用效率,影響系統(tǒng)效率。因此要考影響整個(gè)設(shè)備使用效率,影響系統(tǒng)效率。因此要考慮多個(gè)訪問(wèn)請(qǐng)求到達(dá)時(shí)服務(wù)的順序,使平均服務(wù)時(shí)慮多個(gè)訪問(wèn)請(qǐng)求到達(dá)時(shí)服務(wù)的順序,使平均服務(wù)時(shí)間越短越好。間越短越好。注意各進(jìn)程的訪問(wèn)次序進(jìn)行合理調(diào)度注意各進(jìn)程的訪問(wèn)次序進(jìn)行合理調(diào)度v虛擬設(shè)備虛擬設(shè)備Operating SystemOpe

27、rating SystemPage 352022-4-27q設(shè)備分配算法設(shè)備分配算法v先來(lái)先服務(wù)先來(lái)先服務(wù)v優(yōu)先級(jí)高者優(yōu)先優(yōu)先級(jí)高者優(yōu)先q設(shè)備分配中的安全性設(shè)備分配中的安全性v安全分配方式安全分配方式每當(dāng)進(jìn)程發(fā)出每當(dāng)進(jìn)程發(fā)出I/O請(qǐng)求后,便進(jìn)入阻塞狀態(tài),請(qǐng)求后,便進(jìn)入阻塞狀態(tài),I/O操作完成后喚醒操作完成后喚醒優(yōu)點(diǎn):摒棄了優(yōu)點(diǎn):摒棄了 “請(qǐng)求和保持請(qǐng)求和保持”條件,不會(huì)產(chǎn)生死鎖條件,不會(huì)產(chǎn)生死鎖v不安全分配方式不安全分配方式 進(jìn)程發(fā)出進(jìn)程發(fā)出I/O請(qǐng)求后仍繼續(xù)運(yùn)行,繼續(xù)申請(qǐng)請(qǐng)求后仍繼續(xù)運(yùn)行,繼續(xù)申請(qǐng)I/O設(shè)設(shè)備備優(yōu)點(diǎn):可操作多個(gè)設(shè)備,推進(jìn)迅速優(yōu)點(diǎn):可操作多個(gè)設(shè)備,推進(jìn)迅速缺點(diǎn):推進(jìn)缺點(diǎn):推進(jìn)速

28、度緩慢速度緩慢缺點(diǎn):可能缺點(diǎn):可能產(chǎn)生死鎖產(chǎn)生死鎖Operating SystemOperating SystemPage 362022-4-27q緩和緩和CPU與與I/O設(shè)備間速度不匹配的矛盾設(shè)備間速度不匹配的矛盾v數(shù)據(jù)到達(dá)速率與其離去速率不同數(shù)據(jù)到達(dá)速率與其離去速率不同q減少對(duì)減少對(duì)CPU的中斷頻率,放寬對(duì)的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)中斷響應(yīng)時(shí)間的限制間的限制q提高提高CPU和和I/O設(shè)備之間的并行性設(shè)備之間的并行性v提高系統(tǒng)的吞吐量和設(shè)備的利用率提高系統(tǒng)的吞吐量和設(shè)備的利用率Operating SystemOperating SystemPage 372022-4-27q無(wú)緩沖時(shí)問(wèn)

29、題分析:無(wú)緩沖時(shí)問(wèn)題分析:設(shè)備直接向進(jìn)程地址設(shè)備直接向進(jìn)程地址空間傳送數(shù)據(jù)空間傳送數(shù)據(jù)(如用戶從磁帶中讀數(shù)據(jù)塊的如用戶從磁帶中讀數(shù)據(jù)塊的操作),則進(jìn)程要么忙等待,要么阻塞。操作),則進(jìn)程要么忙等待,要么阻塞。v如果用如果用忙等待方式忙等待方式,則浪費(fèi)大量,則浪費(fèi)大量CPU時(shí)間;時(shí)間;v如果是如果是阻塞方式阻塞方式,則進(jìn)程阻塞在設(shè)備的,則進(jìn)程阻塞在設(shè)備的I/O請(qǐng)求隊(duì)列中。這時(shí),請(qǐng)求隊(duì)列中。這時(shí),不能將進(jìn)程全部換出,不能將進(jìn)程全部換出,還可能出現(xiàn)還可能出現(xiàn)單進(jìn)程死鎖單進(jìn)程死鎖。v進(jìn)程在等待進(jìn)程在等待I/O操作結(jié)果之前被換出,等待操作結(jié)果之前被換出,等待I/O事件,而事件,而I/O操作也被阻塞,等待

30、該進(jìn)程操作也被阻塞,等待該進(jìn)程被換入。被換入。Operating SystemOperating SystemPage 382022-4-27q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時(shí)應(yīng)考慮的因素設(shè)備分配時(shí)應(yīng)考慮的因素q設(shè)備獨(dú)立性設(shè)備獨(dú)立性q獨(dú)占設(shè)備的分配程序獨(dú)占設(shè)備的分配程序qSPOOLing技術(shù)技術(shù)Operating SystemOperating SystemPage 392022-4-27q設(shè)備獨(dú)立性設(shè)備獨(dú)立性(Device Independence)的概念的概念v為了提高為了提高OS的可適應(yīng)性和可擴(kuò)展性,在現(xiàn)代的可適應(yīng)性和可擴(kuò)展性,在現(xiàn)代OS中都中都毫無(wú)例外地實(shí)現(xiàn)了設(shè)備獨(dú)

31、立性,也稱為設(shè)備無(wú)關(guān)性毫無(wú)例外地實(shí)現(xiàn)了設(shè)備獨(dú)立性,也稱為設(shè)備無(wú)關(guān)性v定義:是指用戶在編制程序時(shí)所使用的設(shè)備與實(shí)際定義:是指用戶在編制程序時(shí)所使用的設(shè)備與實(shí)際使用的設(shè)備無(wú)關(guān)。即使用的設(shè)備無(wú)關(guān)。即 應(yīng)用程序獨(dú)立于具體使用的物應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備理設(shè)備v為了實(shí)現(xiàn)設(shè)備獨(dú)立性而引入了為了實(shí)現(xiàn)設(shè)備獨(dú)立性而引入了邏輯設(shè)備邏輯設(shè)備和和物理設(shè)備物理設(shè)備這兩個(gè)概念這兩個(gè)概念v在應(yīng)用程序中,在應(yīng)用程序中, 使用使用邏輯設(shè)備邏輯設(shè)備名稱來(lái)請(qǐng)求使用某類名稱來(lái)請(qǐng)求使用某類設(shè)備;而系統(tǒng)在實(shí)際執(zhí)行時(shí),設(shè)備;而系統(tǒng)在實(shí)際執(zhí)行時(shí), 還必須使用還必須使用物理設(shè)備物理設(shè)備名稱名稱v系統(tǒng)須具有將邏輯設(shè)備名稱轉(zhuǎn)換為某物理設(shè)備

32、名稱系統(tǒng)須具有將邏輯設(shè)備名稱轉(zhuǎn)換為某物理設(shè)備名稱的功能,這非常類似于存儲(chǔ)器管理中所介紹的的功能,這非常類似于存儲(chǔ)器管理中所介紹的邏輯邏輯地址地址和和物理地址物理地址的概念的概念Operating SystemOperating SystemPage 402022-4-27q設(shè)備獨(dú)立性的優(yōu)點(diǎn)設(shè)備獨(dú)立性的優(yōu)點(diǎn)v設(shè)備分配時(shí)的靈活性設(shè)備分配時(shí)的靈活性系統(tǒng)可將該邏輯設(shè)備類中的任一臺(tái)分配給進(jìn)系統(tǒng)可將該邏輯設(shè)備類中的任一臺(tái)分配給進(jìn)程使用程使用所有設(shè)備均占用時(shí)才阻塞所有設(shè)備均占用時(shí)才阻塞v易于實(shí)現(xiàn)易于實(shí)現(xiàn)I/O重定向重定向所謂所謂I/O重定向,指用于重定向,指用于I/O操作的設(shè)備可操作的設(shè)備可以更換,而不必改

33、變應(yīng)用程序以更換,而不必改變應(yīng)用程序如調(diào)試程序時(shí)輸出到屏幕,而實(shí)際應(yīng)用時(shí)改如調(diào)試程序時(shí)輸出到屏幕,而實(shí)際應(yīng)用時(shí)改為輸出到打印機(jī)為輸出到打印機(jī)Operating SystemOperating SystemPage 412022-4-27q設(shè)備獨(dú)立性軟件設(shè)備獨(dú)立性軟件v設(shè)備驅(qū)動(dòng)程序是一個(gè)與硬件(或設(shè)備)緊密相關(guān)的軟設(shè)備驅(qū)動(dòng)程序是一個(gè)與硬件(或設(shè)備)緊密相關(guān)的軟件。件。v設(shè)備驅(qū)動(dòng)程序一方面可以定制以適合各種設(shè)備,另一設(shè)備驅(qū)動(dòng)程序一方面可以定制以適合各種設(shè)備,另一方面也提供了一組標(biāo)準(zhǔn)接口。方面也提供了一組標(biāo)準(zhǔn)接口。v設(shè)備驅(qū)動(dòng)程序的作用是為內(nèi)核設(shè)備驅(qū)動(dòng)程序的作用是為內(nèi)核I/O子系統(tǒng)隱藏設(shè)備控子系統(tǒng)隱藏

34、設(shè)備控制器之間的差異制器之間的差異v為了實(shí)現(xiàn)設(shè)備獨(dú)立性,必須在設(shè)備驅(qū)動(dòng)程序上設(shè)置一為了實(shí)現(xiàn)設(shè)備獨(dú)立性,必須在設(shè)備驅(qū)動(dòng)程序上設(shè)置一層軟件,稱為設(shè)備獨(dú)立性軟件層軟件,稱為設(shè)備獨(dú)立性軟件Operating SystemOperating SystemPage 422022-4-272. 設(shè)備獨(dú)立性軟件設(shè)備獨(dú)立性軟件 為了實(shí)現(xiàn)設(shè)備獨(dú)立性,必須再將驅(qū)動(dòng)程序之上設(shè)備一層軟件,稱為設(shè)備獨(dú)立性軟件,其主要功能可分為以下兩個(gè)方面: (1)執(zhí)行所有設(shè)備的公有操作 (2)向用戶層(或文件層)軟件提供統(tǒng)一接口。Operating SystemOperating SystemPage 432022-4-272. 設(shè)備獨(dú)

35、立性軟件設(shè)備獨(dú)立性軟件 1) 執(zhí)行所有設(shè)備的公有操作 對(duì)獨(dú)立設(shè)備的分配與回收分配與回收; 將邏輯設(shè)備名映射設(shè)備名映射為物理設(shè)備名,進(jìn)一步可以找到相應(yīng)物理設(shè)備的驅(qū)動(dòng)程序; 對(duì)設(shè)備進(jìn)行保護(hù)設(shè)備進(jìn)行保護(hù),禁止用戶直接訪問(wèn)設(shè)備; 緩沖管理緩沖管理,即對(duì)字符設(shè)備和塊設(shè)備的緩沖區(qū)進(jìn)行有效的管理,以提高I/O的效率; 差錯(cuò)控制差錯(cuò)控制。由于在I/O操作中的絕大多數(shù)錯(cuò)誤都與設(shè)備無(wú)關(guān),故主要由設(shè)備驅(qū)動(dòng)程序處理,而設(shè)備獨(dú)立性軟件只處理那些設(shè)備驅(qū)動(dòng)程序無(wú)法處理的錯(cuò)誤。Operating SystemOperating SystemPage 442022-4-27 2) 向用戶層(或文件層)軟件提供統(tǒng)一接口 無(wú)論何種

36、設(shè)備, 它們向用戶所提供的接口應(yīng)該是相同的。 例如, 對(duì)各種設(shè)備的讀操作,在應(yīng)用程序中都使用read;而對(duì)各種設(shè)備的寫操作,也都使用write。 Operating SystemOperating SystemPage 452022-4-27q 邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn) v邏輯設(shè)備表(邏輯設(shè)備表(Lgical Unit Table)用于實(shí)現(xiàn)將應(yīng)用程序中的邏輯設(shè)備名映射為物理設(shè)用于實(shí)現(xiàn)將應(yīng)用程序中的邏輯設(shè)備名映射為物理設(shè)備名備名邏輯設(shè)備名邏輯設(shè)備名物理設(shè)備名物理設(shè)備名驅(qū)動(dòng)程序驅(qū)動(dòng)程序入口地址入口地址/dev/tty/dev/printer351024204

37、6邏輯設(shè)備名邏輯設(shè)備名/dev/tty/dev/printer系統(tǒng)設(shè)備表指針系統(tǒng)設(shè)備表指針35(a)(b) LUT的設(shè)置可采取兩種方式: 整個(gè)系統(tǒng)設(shè)置一張整個(gè)系統(tǒng)設(shè)置一張LUT。不允許在LUT中具有相同的邏輯設(shè)備名,這就是要求所有用戶不使用相同的邏輯設(shè)備名。 為每個(gè)用戶設(shè)置一張為每個(gè)用戶設(shè)置一張LUT。用戶建立一個(gè)進(jìn)程,同時(shí)也為之建立一張LUT。Operating SystemOperating SystemPage 462022-4-27q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時(shí)應(yīng)考慮的因素設(shè)備分配時(shí)應(yīng)考慮的因素q設(shè)備獨(dú)立性設(shè)備獨(dú)立性q獨(dú)占設(shè)備的分配程序獨(dú)占設(shè)備的分配程序qSPO

38、OLing技術(shù)技術(shù)Operating SystemOperating SystemPage 472022-4-27q基本的設(shè)備分配程序基本的設(shè)備分配程序v分配設(shè)備分配設(shè)備v分配控制器分配控制器v分配通道分配通道Operating SystemOperating SystemPage 482022-4-27設(shè)備設(shè)備1設(shè)備設(shè)備2設(shè)備設(shè)備3設(shè)備設(shè)備4設(shè)備設(shè)備5設(shè)備設(shè)備6設(shè)備設(shè)備7控制器控制器1控制器控制器2控制器控制器3控制器控制器4通道通道1通道通道2存儲(chǔ)器存儲(chǔ)器分配設(shè)備分配設(shè)備1分配控制器分配控制器1分配通道分配通道1申請(qǐng)?jiān)O(shè)備申請(qǐng)?jiān)O(shè)備1按設(shè)備物理名查按設(shè)備物理名查SDT設(shè)備忙?設(shè)備忙?根據(jù)安全策

39、略進(jìn)行分配根據(jù)安全策略進(jìn)行分配由由DCT查查COCT分配控制器分配控制器由由COCT查查CHCT分配通道分配通道否是由由SDT查設(shè)備查設(shè)備 DCTOperating SystemOperating SystemPage 502022-4-27q設(shè)備分配程序的改進(jìn)設(shè)備分配程序的改進(jìn)v基本分配程序的問(wèn)題基本分配程序的問(wèn)題進(jìn)程以物理設(shè)備名提出進(jìn)程以物理設(shè)備名提出I/O請(qǐng)求請(qǐng)求采用單通路采用單通路I/O系統(tǒng)結(jié)構(gòu),容易產(chǎn)生瓶頸系統(tǒng)結(jié)構(gòu),容易產(chǎn)生瓶頸v改進(jìn)方案改進(jìn)方案增加設(shè)備獨(dú)立性增加設(shè)備獨(dú)立性 考慮多通路情況考慮多通路情況為進(jìn)程為進(jìn)程P P分配所需的分配所需的I/OI/O設(shè)備設(shè)備從從SDTSDT表查該類

40、設(shè)備的控制表表查該類設(shè)備的控制表DCTDCT不忙不忙不安全不安全分配此設(shè)備給進(jìn)程分配此設(shè)備給進(jìn)程P P不忙不忙不忙不忙分配此控制器給進(jìn)程分配此控制器給進(jìn)程P P分配此通道給進(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 P的的PCBPCB放入放入此設(shè)備的等待隊(duì)列此設(shè)備的等待隊(duì)列YN忙忙進(jìn)程進(jìn)程 P P 的的 PCB PCB 放入放入此控制器的等待隊(duì)列此控制器的等待隊(duì)列YNY忙忙Y進(jìn)程進(jìn)程P P的的PCBPCB放入此放入此通道的等待隊(duì)列通道的等待隊(duì)列NYNN多通多通路設(shè)路設(shè)備分備分配流配流程示程示意圖意圖由由DCTDCT檢查該設(shè)備忙否檢查

41、該設(shè)備忙否? ?檢查分配此設(shè)備的安全性檢查分配此設(shè)備的安全性? ?最后一個(gè)最后一個(gè)DCT?DCT?最后一個(gè)最后一個(gè)COCT?COCT?最后一個(gè)最后一個(gè)DCT?DCT?此設(shè)備連接的此設(shè)備連接的COCTCOCT忙否忙否? ?此控制器連接的此控制器連接的CHCTCHCT忙否忙否? ?最后一個(gè)最后一個(gè)COCT?COCT?最后一個(gè)最后一個(gè)CHCT?CHCT?Operating SystemOperating SystemPage 522022-4-27q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時(shí)應(yīng)考慮的因素設(shè)備分配時(shí)應(yīng)考慮的因素q設(shè)備獨(dú)立性設(shè)備獨(dú)立性q獨(dú)占設(shè)備的分配程序獨(dú)占設(shè)備的分配程序qSP

42、OOLing技術(shù)技術(shù)Operating SystemOperating SystemPage 532022-4-27硬件不斷發(fā)展,硬件不斷發(fā)展,CPU速度的提高、系統(tǒng)規(guī)模擴(kuò)大,人機(jī)速度的提高、系統(tǒng)規(guī)模擴(kuò)大,人機(jī)矛盾嚴(yán)重,如何解決?矛盾嚴(yán)重,如何解決?輸入設(shè)備外圍機(jī)磁盤主機(jī)外圍機(jī)輸出設(shè)備磁帶磁帶磁帶磁帶Operating SystemOperating SystemPage 542022-4-27q什么什么是是SPOOLing技術(shù)技術(shù)v為了緩和為了緩和CPU的高速性與的高速性與I/O設(shè)備低速性間的設(shè)備低速性間的矛盾而引入了矛盾而引入了脫機(jī)輸入脫機(jī)輸入、 脫機(jī)輸出脫機(jī)輸出技術(shù)技術(shù)v在多道程序環(huán)境下

43、,其中的一道程序模擬脫在多道程序環(huán)境下,其中的一道程序模擬脫機(jī)輸入時(shí)的外圍控制機(jī)功能機(jī)輸入時(shí)的外圍控制機(jī)功能v在主機(jī)的直接控制下,實(shí)現(xiàn)脫機(jī)輸入、在主機(jī)的直接控制下,實(shí)現(xiàn)脫機(jī)輸入、 輸出輸出功能,此時(shí)的外圍操作與功能,此時(shí)的外圍操作與CPU對(duì)數(shù)據(jù)的處理對(duì)數(shù)據(jù)的處理同時(shí)進(jìn)行同時(shí)進(jìn)行v把這種在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作稱把這種在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作稱為為SPOOLing(Simultaneaus Periphernal Operating On-Line),或稱為,或稱為假脫機(jī)操作假脫機(jī)操作Operating SystemOperating SystemPage 552022-4-27qS

44、POOLing系統(tǒng)的組成系統(tǒng)的組成v輸入井和輸出井輸入井和輸出井在磁盤上的兩個(gè)存儲(chǔ)空間在磁盤上的兩個(gè)存儲(chǔ)空間輸入井模擬脫機(jī)輸入,暫存輸入數(shù)據(jù)輸入井模擬脫機(jī)輸入,暫存輸入數(shù)據(jù)輸出井模擬脫機(jī)輸出,暫存輸出數(shù)據(jù)輸出井模擬脫機(jī)輸出,暫存輸出數(shù)據(jù)v輸入緩沖區(qū)和輸出緩沖區(qū)輸入緩沖區(qū)和輸出緩沖區(qū)用來(lái)緩和用來(lái)緩和CPU與磁盤之間的速度的矛盾與磁盤之間的速度的矛盾v輸入進(jìn)程輸入進(jìn)程SPi和輸出進(jìn)程和輸出進(jìn)程SPo模擬脫機(jī)模擬脫機(jī)I/O時(shí)的外圍控制機(jī)時(shí)的外圍控制機(jī)Operating SystemOperating SystemPage 562022-4-27輸入設(shè)備外圍機(jī)磁盤主機(jī)外圍機(jī)輸出設(shè)備磁帶磁帶磁帶磁帶Op

45、erating SystemOperating SystemPage 572022-4-27輸入進(jìn)程 輸入進(jìn)程 SPi輸入進(jìn)程 輸入進(jìn)程 SPo輸入緩沖區(qū) 輸入緩沖區(qū) Bi輸出緩沖區(qū) 輸出緩沖區(qū) Bo輸入井輸入井輸出井輸出井磁盤磁盤輸入設(shè)備輸入設(shè)備輸出設(shè)備輸出設(shè)備Operating SystemOperating SystemPage 582022-4-27q共享打印機(jī)共享打印機(jī)v打印機(jī)為打印機(jī)為獨(dú)占獨(dú)占設(shè)備,利用設(shè)備,利用SPOOLing技術(shù),技術(shù),可將之改造為可將之改造為共享共享設(shè)備設(shè)備v用戶請(qǐng)求打印時(shí),用戶請(qǐng)求打印時(shí),SPOOLing系統(tǒng)處理如下系統(tǒng)處理如下由輸出進(jìn)程在輸出井中為之申請(qǐng)一

46、個(gè)空閑由輸出進(jìn)程在輸出井中為之申請(qǐng)一個(gè)空閑磁盤塊區(qū),磁盤塊區(qū), 并將要打印的數(shù)據(jù)送入其中并將要打印的數(shù)據(jù)送入其中輸出進(jìn)程再為用戶進(jìn)程申請(qǐng)一張空白的用輸出進(jìn)程再為用戶進(jìn)程申請(qǐng)一張空白的用戶請(qǐng)求打印表,并將用戶的打印要求填入戶請(qǐng)求打印表,并將用戶的打印要求填入其中,其中, 再再將該表掛到請(qǐng)求打印隊(duì)列上將該表掛到請(qǐng)求打印隊(duì)列上Operating SystemOperating SystemPage 592022-4-27qSPOOLing系統(tǒng)特點(diǎn)系統(tǒng)特點(diǎn)v提高了提高了I/O的速度的速度v將獨(dú)占設(shè)備改造為共享設(shè)備將獨(dú)占設(shè)備改造為共享設(shè)備v實(shí)現(xiàn)了虛擬設(shè)備功能實(shí)現(xiàn)了虛擬設(shè)備功能Operating Syst

47、emOperating SystemPage 602022-4-27SPOOLing技術(shù)今天仍被廣泛使用技術(shù)今天仍被廣泛使用q網(wǎng)絡(luò)文件傳送網(wǎng)絡(luò)文件傳送 先把文件送到網(wǎng)絡(luò)先把文件送到網(wǎng)絡(luò)SPOOLing目錄,然后網(wǎng)絡(luò)值目錄,然后網(wǎng)絡(luò)值班進(jìn)程把它取出并傳遞到目標(biāo)地址班進(jìn)程把它取出并傳遞到目標(biāo)地址qInternet電子郵件系統(tǒng)電子郵件系統(tǒng) 為了寄郵,調(diào)用電子郵件程序?yàn)榱思泥],調(diào)用電子郵件程序 待發(fā)信存在待發(fā)信存在SPOOLing中供以后傳輸中供以后傳輸q注意:注意:SPOOLing只提高設(shè)備利用率,縮短用戶只提高設(shè)備利用率,縮短用戶程序執(zhí)行時(shí)間,并不提高程序執(zhí)行時(shí)間,并不提高CPU利用率利用率Ope

48、rating SystemOperating SystemPage 612022-4-27qI/O系統(tǒng)系統(tǒng) qI/O控制方式控制方式 q緩沖管理緩沖管理 q設(shè)備分配設(shè)備分配q設(shè)備處理設(shè)備處理q磁盤存儲(chǔ)器管理磁盤存儲(chǔ)器管理Operating SystemOperating SystemPage 622022-4-27q中斷處理程序的處理過(guò)程中斷處理程序的處理過(guò)程q設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)q設(shè)備驅(qū)動(dòng)程序的處理過(guò)程設(shè)備驅(qū)動(dòng)程序的處理過(guò)程q獨(dú)立于設(shè)備的服務(wù)軟件獨(dú)立于設(shè)備的服務(wù)軟件Operating SystemOperating SystemPage 632022-4-27系統(tǒng)

49、層次結(jié)構(gòu)系統(tǒng)層次結(jié)構(gòu)接收上層軟件發(fā)來(lái)接收上層軟件發(fā)來(lái)的抽象要求的抽象要求read/write,轉(zhuǎn),轉(zhuǎn)換成具體的要求,換成具體的要求,發(fā)給設(shè)備控制器發(fā)給設(shè)備控制器將由設(shè)備控制將由設(shè)備控制器發(fā)來(lái)的信號(hào)器發(fā)來(lái)的信號(hào)送給上層軟件送給上層軟件Operating SystemOperating SystemPage 642022-4-27q中斷處理程序中斷處理程序v系統(tǒng)為每類設(shè)備設(shè)置一個(gè)中斷處理程系統(tǒng)為每類設(shè)備設(shè)置一個(gè)中斷處理程序,它們的序,它們的入口地址入口地址被存放在內(nèi)存的固定單被存放在內(nèi)存的固定單元中,元中, 稱為稱為中斷向量中斷向量。v 當(dāng)某臺(tái)設(shè)備完成一次操作時(shí),發(fā)出中當(dāng)某臺(tái)設(shè)備完成一次操作時(shí),發(fā)

50、出中斷信號(hào),接受中斷信號(hào),暫?,F(xiàn)行進(jìn)斷信號(hào),接受中斷信號(hào),暫?,F(xiàn)行進(jìn)程的執(zhí)行,根據(jù)中斷向量轉(zhuǎn)到相應(yīng)的程的執(zhí)行,根據(jù)中斷向量轉(zhuǎn)到相應(yīng)的中斷處理程序執(zhí)行。中斷處理程序執(zhí)行。v中斷處理程序的中斷處理程序的基本工作基本工作包括:保留包括:保留現(xiàn)行進(jìn)程的執(zhí)行現(xiàn)場(chǎng);通知等待該操現(xiàn)行進(jìn)程的執(zhí)行現(xiàn)場(chǎng);通知等待該操作完成的進(jìn)程;最終轉(zhuǎn)入進(jìn)程調(diào)度程序進(jìn)行作完成的進(jìn)程;最終轉(zhuǎn)入進(jìn)程調(diào)度程序進(jìn)行重新調(diào)度。重新調(diào)度。Operating SystemOperating SystemPage 652022-4-27PSW程序狀態(tài)字程序狀態(tài)字PC(N1)程序計(jì)數(shù)器程序計(jì)數(shù)器R0Rn寄存器寄存器開(kāi)始開(kāi)始返回返回用戶程序用戶程序

51、中斷服務(wù)子例程中斷服務(wù)子例程PSWPC(N1)中斷棧中斷棧TTM棧指針棧指針YNN1R0RnOperating SystemOperating SystemPage 662022-4-27喚醒被阻塞的喚醒被阻塞的驅(qū)動(dòng)程序進(jìn)程驅(qū)動(dòng)程序進(jìn)程對(duì)被中斷進(jìn)程的對(duì)被中斷進(jìn)程的CPU環(huán)境進(jìn)行保護(hù)環(huán)境進(jìn)行保護(hù)分析中斷原因,轉(zhuǎn)入分析中斷原因,轉(zhuǎn)入相應(yīng)的中斷處理程序相應(yīng)的中斷處理程序終端中斷終端中斷處理程序處理程序打印機(jī)中斷打印機(jī)中斷處理程序處理程序磁盤中斷磁盤中斷處理程序處理程序恢復(fù)被中斷進(jìn)恢復(fù)被中斷進(jìn)程的程的CPU現(xiàn)場(chǎng)現(xiàn)場(chǎng)返回被中斷的進(jìn)返回被中斷的進(jìn)程,繼續(xù)執(zhí)行程,繼續(xù)執(zhí)行中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)I/O完成后

52、,驅(qū)動(dòng)程完成后,驅(qū)動(dòng)程序必須檢查本次序必須檢查本次I/O操作中是否發(fā)生了錯(cuò)操作中是否發(fā)生了錯(cuò)誤,并向上層軟件報(bào)誤,并向上層軟件報(bào)告,最終向調(diào)用者報(bào)告,最終向調(diào)用者報(bào)告本次告本次I/O的執(zhí)行情的執(zhí)行情況況Operating SystemOperating SystemPage 672022-4-27q中斷處理程序的處理過(guò)程中斷處理程序的處理過(guò)程q設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)q設(shè)備驅(qū)動(dòng)程序的處理過(guò)程設(shè)備驅(qū)動(dòng)程序的處理過(guò)程q獨(dú)立于設(shè)備的服務(wù)軟件獨(dú)立于設(shè)備的服務(wù)軟件Operating SystemOperating SystemPage 682022-4-27系統(tǒng)層次結(jié)構(gòu)系統(tǒng)層次結(jié)

53、構(gòu)Operating SystemOperating SystemPage 692022-4-27q設(shè)備處理程序設(shè)備處理程序又稱為又稱為設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序,是,是I/O進(jìn)程進(jìn)程與設(shè)備控制器之間的通信程序與設(shè)備控制器之間的通信程序q不論是哪種設(shè)備驅(qū)動(dòng)程序,它的功能是相同的不論是哪種設(shè)備驅(qū)動(dòng)程序,它的功能是相同的v接收接收用戶的用戶的I/O請(qǐng)求請(qǐng)求命令和參數(shù)命令和參數(shù),并將命令中的抽,并將命令中的抽象要求象要求轉(zhuǎn)換轉(zhuǎn)換為具體要求(為具體要求(I/O請(qǐng)求塊),例如,將請(qǐng)求塊),例如,將磁盤塊號(hào)轉(zhuǎn)換為磁盤的盤面、磁盤塊號(hào)轉(zhuǎn)換為磁盤的盤面、 磁道號(hào)及扇區(qū)號(hào)磁道號(hào)及扇區(qū)號(hào)v檢查檢查用戶用戶I/O請(qǐng)求

54、的請(qǐng)求的合法性合法性,了解,了解I/O設(shè)備的狀態(tài),設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),傳遞有關(guān)參數(shù),設(shè)置設(shè)置設(shè)備的設(shè)備的工作方式工作方式v發(fā)出發(fā)出I/O命令并檢查設(shè)備狀態(tài),空閑則啟動(dòng)命令并檢查設(shè)備狀態(tài),空閑則啟動(dòng)I/O完成完成指定的操作,忙碌則指定的操作,忙碌則將請(qǐng)求者的請(qǐng)求塊掛將請(qǐng)求者的請(qǐng)求塊掛到相應(yīng)設(shè)到相應(yīng)設(shè)備的備的I/O請(qǐng)求隊(duì)列請(qǐng)求隊(duì)列v及時(shí)及時(shí)響應(yīng)響應(yīng)由控制器或通道發(fā)來(lái)的由控制器或通道發(fā)來(lái)的中斷中斷請(qǐng)求并處理請(qǐng)求并處理v若計(jì)算機(jī)系統(tǒng)設(shè)置有通道,則驅(qū)動(dòng)程序根據(jù)用戶的若計(jì)算機(jī)系統(tǒng)設(shè)置有通道,則驅(qū)動(dòng)程序根據(jù)用戶的I/O請(qǐng)求,請(qǐng)求,自動(dòng)地構(gòu)成通道程序自動(dòng)地構(gòu)成通道程序Operating SystemOp

55、erating SystemPage 702022-4-27q注意注意v每類設(shè)備有一個(gè)每類設(shè)備有一個(gè)I/O請(qǐng)求隊(duì)列,在系統(tǒng)初始化時(shí),請(qǐng)求隊(duì)列,在系統(tǒng)初始化時(shí),將系統(tǒng)中所有設(shè)備的將系統(tǒng)中所有設(shè)備的I/O請(qǐng)求隊(duì)列置為空請(qǐng)求隊(duì)列置為空v在系統(tǒng)初啟時(shí),系統(tǒng)為每類設(shè)備創(chuàng)建一個(gè)進(jìn)程在系統(tǒng)初啟時(shí),系統(tǒng)為每類設(shè)備創(chuàng)建一個(gè)進(jìn)程(其中的一種方式),執(zhí)行程序就是該設(shè)備的設(shè)(其中的一種方式),執(zhí)行程序就是該設(shè)備的設(shè)備驅(qū)動(dòng)程序。由于系統(tǒng)初啟時(shí),相應(yīng)的備驅(qū)動(dòng)程序。由于系統(tǒng)初啟時(shí),相應(yīng)的I/O請(qǐng)求請(qǐng)求隊(duì)列為空,則在該隊(duì)列上睡眠隊(duì)列為空,則在該隊(duì)列上睡眠v一旦有一旦有I/O請(qǐng)求塊掛入,喚醒該設(shè)備驅(qū)動(dòng)進(jìn)程。請(qǐng)求塊掛入,喚醒該設(shè)

56、備驅(qū)動(dòng)進(jìn)程。它被調(diào)度到時(shí),從隊(duì)列中取出一個(gè)它被調(diào)度到時(shí),從隊(duì)列中取出一個(gè)I/O請(qǐng)求塊,請(qǐng)求塊,并按該塊的內(nèi)容執(zhí)行一次并按該塊的內(nèi)容執(zhí)行一次I/O操作,發(fā)出操作,發(fā)出I/O完完成(或出錯(cuò))中斷信號(hào)。然后,檢查請(qǐng)求隊(duì),若成(或出錯(cuò))中斷信號(hào)。然后,檢查請(qǐng)求隊(duì),若為空,則進(jìn)入睡眠狀態(tài),否則,取下一個(gè)請(qǐng)求塊為空,則進(jìn)入睡眠狀態(tài),否則,取下一個(gè)請(qǐng)求塊Operating SystemOperating SystemPage 712022-4-27q在不同的系統(tǒng),設(shè)備驅(qū)動(dòng)程序的運(yùn)行方式在不同的系統(tǒng),設(shè)備驅(qū)動(dòng)程序的運(yùn)行方式v在在整個(gè)系統(tǒng)整個(gè)系統(tǒng)中設(shè)置中設(shè)置一個(gè)一個(gè)I/O進(jìn)程進(jìn)程,統(tǒng)一負(fù)責(zé)所,統(tǒng)一負(fù)責(zé)所有設(shè)備的驅(qū)動(dòng)工作。專門用于執(zhí)行系統(tǒng)中所有設(shè)備的驅(qū)動(dòng)工作。專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的有各類設(shè)備的I/O操作操作v為每為每一類設(shè)備一類設(shè)備設(shè)置設(shè)置一個(gè)進(jìn)程一個(gè)進(jìn)程,專門用于負(fù)責(zé),專門用于負(fù)責(zé)該類設(shè)備的驅(qū)動(dòng)工作(該類設(shè)備的驅(qū)動(dòng)工作(I/O操作)操作) v為為每臺(tái)每臺(tái)設(shè)備建立設(shè)備建立一個(gè)一個(gè)設(shè)備驅(qū)動(dòng)進(jìn)程,它們分設(shè)備驅(qū)動(dòng)進(jìn)程,它們分別負(fù)責(zé)專門設(shè)備的驅(qū)動(dòng)工作。同類設(shè)備的各別負(fù)責(zé)專門設(shè)備的驅(qū)動(dòng)工作。同類設(shè)備的各驅(qū)動(dòng)進(jìn)程共享該類設(shè)備的設(shè)備驅(qū)動(dòng)程序。驅(qū)動(dòng)進(jìn)程共享該類設(shè)備的設(shè)備驅(qū)動(dòng)程序。v不設(shè)置專門的不設(shè)置專門的設(shè)備處理進(jìn)程,而只為設(shè)備處理進(jìn)程,而只為各類設(shè)各類設(shè)

溫馨提示

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