版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Operating SystemOperating SystemPage 12022-7-5Operating SystemOperating SystemPage 22022-7-5qI/O系統(tǒng)系統(tǒng) qI/O控制方式控制方式 q緩沖管理緩沖管理 q設(shè)備分配設(shè)備分配q設(shè)備處理設(shè)備處理q磁盤存儲器管理磁盤存儲器管理Operating SystemOperating SystemPage 32022-7-5q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環(huán)緩沖循環(huán)緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 4202
2、2-7-5q緩和緩和CPU與與I/O設(shè)備間速度不匹配的矛盾設(shè)備間速度不匹配的矛盾 數(shù)據(jù)到達速率與其離去速率不同數(shù)據(jù)到達速率與其離去速率不同q減少對減少對CPU的中斷頻率,放寬對的中斷頻率,放寬對CPU中斷響應時中斷響應時間的限制間的限制1位緩沖位緩沖9.6 Kb/s(a)中斷中斷CPU的頻的頻率為率為9.6Kb/s,每每100 s中斷中斷一次一次CPUCPU必須在必須在100 s內(nèi)響內(nèi)響應,否則數(shù)據(jù)應,否則數(shù)據(jù)會被沖掉會被沖掉8位緩沖寄存器位緩沖寄存器送內(nèi)存送內(nèi)存9.6 Kb/s(b)中斷中斷CPU的頻率降的頻率降低為低為9.6Kb/8 Operating SystemOperating Sy
3、stemPage 52022-7-58位緩沖寄存器位緩沖寄存器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-7-5q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環(huán)緩沖循環(huán)緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 72022-7-5q 單緩沖單緩沖(Single Buffer) 工作
4、區(qū)工作區(qū)處理處理(C)緩沖區(qū)緩沖區(qū)傳送傳送(M)輸入輸入(T)I/O設(shè)備設(shè)備(a)T1M1C1T2M2C2T3M3C3T4t(b)用戶進程用戶進程CT時時,每塊數(shù)據(jù)每塊數(shù)據(jù)的處理時間是的處理時間是M+T;反之,為;反之,為M+C,即,即由于由于C和和T可并行,可并行,M和和C或或M和和T不能并行不能并行因此處理一塊數(shù)據(jù)時間:因此處理一塊數(shù)據(jù)時間:Max(C,T)+MOperating SystemOperating SystemPage 82022-7-52. 雙緩沖雙緩沖(Double Buffer) 為了加快輸入、輸出速度和提高設(shè)備利用率,又引入了雙緩沖工作方式,也稱為緩沖對換(Buffe
5、r Swapping)方式。在設(shè)備輸入時,先將數(shù)據(jù)輸入第一緩沖區(qū),裝滿后便轉(zhuǎn)向第二緩沖區(qū)。操作系統(tǒng)可從第一緩沖區(qū)中移出數(shù)據(jù)送用戶進程區(qū),接著由CPU對數(shù)據(jù)進行計算。 Operating SystemOperating SystemPage 92022-7-5q 雙緩沖雙緩沖(Double Buffer) 工作區(qū)工作區(qū)用戶進程用戶進程緩沖區(qū)緩沖區(qū)1緩沖區(qū)緩沖區(qū)2I/O 設(shè)備設(shè)備T1(緩沖1)M1C1M2C2M3C3T2(緩沖2)T3(緩沖3)M4C4T4(緩沖4)(a)(b)效率有所提高,且進一步平滑了傳輸峰值。效率有所提高,且進一步平滑了傳輸峰值。系統(tǒng)處理一塊數(shù)據(jù)的時間約為:系統(tǒng)處理一塊數(shù)據(jù)的
6、時間約為:MAX(C,T)Operating SystemOperating SystemPage 102022-7-5緩沖區(qū)緩沖區(qū)緩沖區(qū)緩沖區(qū)A機機B機機(a) 單緩沖單緩沖發(fā)送發(fā)送緩沖區(qū)緩沖區(qū)接收接收緩沖區(qū)緩沖區(qū)接收接收緩沖區(qū)緩沖區(qū)發(fā)送發(fā)送緩沖區(qū)緩沖區(qū)A機機B機機(b) 雙緩沖雙緩沖只能實現(xiàn)單向只能實現(xiàn)單向的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸為了實現(xiàn)雙向數(shù)據(jù)傳輸,必須在兩臺機器中都設(shè)置兩個緩沖區(qū),一個用作發(fā)送緩沖區(qū),另一個用作接收緩沖區(qū)。Operating SystemOperating SystemPage 112022-7-5q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環(huán)緩沖循環(huán)緩沖q緩沖
7、池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 122022-7-5q循環(huán)緩沖的引入循環(huán)緩沖的引入v當輸入與輸出速度基本匹配時,雙緩沖能獲得較好效當輸入與輸出速度基本匹配時,雙緩沖能獲得較好效果;當速度相差較大時,可引入多個(大小相等)緩果;當速度相差較大時,可引入多個(大小相等)緩沖,組織成循環(huán)緩沖的形式?jīng)_,組織成循環(huán)緩沖的形式q循環(huán)緩沖的組成循環(huán)緩沖的組成v多個緩沖區(qū)多個緩沖區(qū)用于裝輸入數(shù)據(jù)的用于裝輸入數(shù)據(jù)的空緩沖區(qū)空緩沖區(qū)R已裝滿數(shù)據(jù)的已裝滿數(shù)據(jù)的滿緩沖區(qū)滿緩沖區(qū)G計算進程計算進程正在使用正在使用的現(xiàn)行工作緩沖區(qū)的現(xiàn)行工作緩沖
8、區(qū)Cv多個指針多個指針指示計算進程下一指示計算進程下一可用緩沖區(qū)可用緩沖區(qū)Nextg指示輸入進程下一指示輸入進程下一可用空緩沖區(qū)可用空緩沖區(qū)Nexti指示計算進程指示計算進程正在使用正在使用的緩沖區(qū)的緩沖區(qū)CurrentOperating SystemOperating SystemPage 132022-7-5RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent類型:類型:R:空緩沖;空緩沖;G:滿緩沖;:滿緩沖;C:當前緩沖:當前緩沖Operating SystemOperating SystemPage 142022-7-5q循環(huán)緩沖區(qū)的
9、使用循環(huán)緩沖區(qū)的使用vGetbuf過程過程為計算進程和輸入進程提供緩沖區(qū),并移動指針為計算進程和輸入進程提供緩沖區(qū),并移動指針vReleasebuf過程過程當計算進程或輸入使用完緩沖區(qū)后,調(diào)用過程將緩當計算進程或輸入使用完緩沖區(qū)后,調(diào)用過程將緩沖區(qū)釋放沖區(qū)釋放q進程同步進程同步輸入、計算進程并行輸入、計算進程并行vNexti指針追趕指針追趕上上Nextg指針指針輸入進程速度大于計算進程,全部空緩沖區(qū)已滿,輸入進程速度大于計算進程,全部空緩沖區(qū)已滿,無可用緩沖區(qū),輸入進程阻塞(無可用緩沖區(qū),輸入進程阻塞(系統(tǒng)受計算限制系統(tǒng)受計算限制)vNextg指針追趕上指針追趕上Nexti指針指針計算進程速度
10、大于輸入進程,全部緩沖區(qū)空,無可計算進程速度大于輸入進程,全部緩沖區(qū)空,無可用數(shù)據(jù),計算進程阻塞(用數(shù)據(jù),計算進程阻塞(系統(tǒng)受系統(tǒng)受I/O限制限制)Operating SystemOperating SystemPage 152022-7-5q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環(huán)緩沖循環(huán)緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 162022-7-5q緩沖池的組成緩沖池的組成v專用緩沖的利用率不高,與環(huán)形緩沖不同的是緩沖池專用緩沖的利用率不高,與環(huán)形緩沖不同的是緩沖池中的緩沖區(qū)是系統(tǒng)的中的緩沖區(qū)是系
11、統(tǒng)的公用資源公用資源,可供,可供多個進程共享多個進程共享,既能用于既能用于輸入輸入,也能用于,也能用于輸出輸出v緩沖區(qū)類型緩沖區(qū)類型空空(閑閑)緩沖區(qū)緩沖區(qū)裝滿輸入數(shù)據(jù)的緩沖區(qū)裝滿輸入數(shù)據(jù)的緩沖區(qū)裝滿輸出數(shù)據(jù)的緩沖區(qū)裝滿輸出數(shù)據(jù)的緩沖區(qū)v緩沖隊列:按其使用情況緩沖隊列:按其使用情況空緩沖隊列空緩沖隊列emq輸入隊列輸入隊列inq輸出隊列輸出隊列outqOperating SystemOperating SystemPage 172022-7-5q緩沖池的組成緩沖池的組成v四種工作緩沖區(qū)四種工作緩沖區(qū)用于收容輸入數(shù)據(jù)的工作緩沖區(qū)(用于收容輸入數(shù)據(jù)的工作緩沖區(qū)(hin)用于提取輸入數(shù)據(jù)的工作緩沖區(qū)
12、(用于提取輸入數(shù)據(jù)的工作緩沖區(qū)(sin)用于收容輸出數(shù)據(jù)的工作緩沖區(qū)(用于收容輸出數(shù)據(jù)的工作緩沖區(qū)(hout)用于提取輸出數(shù)據(jù)的工作緩沖區(qū)(用于提取輸出數(shù)據(jù)的工作緩沖區(qū)(sout)Operating SystemOperating SystemPage 182022-7-5q兩個對緩沖區(qū)操作的過程兩個對緩沖區(qū)操作的過程vGetbuf(type),type-隊列類型隊列類型 vPutbuf(type,number),number-指某緩沖區(qū)指某緩沖區(qū)v隊列是臨界資源需設(shè)置隊列是臨界資源需設(shè)置互斥信號量互斥信號量MS,每個隊列一個,每個隊列一個MS(type)資源信號量資源信號量RS ,每個隊列一
13、個,每個隊列一個RS(type)v隊列操作過程隊列操作過程Takebuf(type) :?。喝ype所指隊列隊首緩沖區(qū)所指隊列隊首緩沖區(qū)Addbuf(type,number):將:將number所指緩沖所指緩沖區(qū)加到區(qū)加到type所指隊列尾所指隊列尾Operating SystemOperating SystemPage 192022-7-5 Procedure Getbuf(type) begin Wait(RS(type); Wait(MS(type); B(number):=Takebuf(type); /從隊首摘下一個緩沖區(qū)從隊首摘下一個緩沖區(qū) Signal(MS(type); en
14、d Procedure Putbuf(type, number) begin Wait(MS(type); Addbuf(type, number); /將指定緩沖區(qū)掛在將指定緩沖區(qū)掛在type指定隊列上指定隊列上 Signal(MS(type); Signal(RS(type); end 互斥信號量MS(type)資源信號量RS(type)Operating SystemOperating SystemPage 202022-7-5q緩沖池的組成緩沖池的組成v四種工作緩沖區(qū)四種工作緩沖區(qū)用于收容輸入數(shù)據(jù)的工作緩沖區(qū)(用于收容輸入數(shù)據(jù)的工作緩沖區(qū)(hin)用于提取輸入數(shù)據(jù)的工作緩沖區(qū)(用于提取
15、輸入數(shù)據(jù)的工作緩沖區(qū)(sin)用于收容輸出數(shù)據(jù)的工作緩沖區(qū)(用于收容輸出數(shù)據(jù)的工作緩沖區(qū)(hout)用于提取輸出數(shù)據(jù)的工作緩沖區(qū)(用于提取輸出數(shù)據(jù)的工作緩沖區(qū)(sout)Operating SystemOperating SystemPage 212022-7-5q緩沖區(qū)工作方式緩沖區(qū)工作方式hinsoutsinhout收容輸入收容輸入提取輸出提取輸出用用戶戶進進程程提取輸入提取輸入收容輸出收容輸出緩沖池緩沖池Getbuf(emq)Putbuf(inq,hin)Getbuf(inq)Putbuf(emp,sin)Getbuf(emq)Putbuf(outq,hout)Getbuf(outq)P
16、utbuf(emq,sout)Operating SystemOperating SystemPage 222022-7-53. 緩沖區(qū)的工作方式緩沖區(qū)的工作方式 圖 5-15 緩沖區(qū)的工作方式 v1.收容輸入;2.提取輸入;3.收容輸出;4.提取輸出1. hin=getbuf(emq);putbuf(inq,hin)2. sin=getbuf(inq);計算;putbuf(emq,sin)3. hout=getbuf(emq);putbuf(outq, hout)4. sout=getbuf(outq);輸出;putbuf(emq,sout)Operating SystemOperating
17、 SystemPage 232022-7-5q無緩沖時問題分析:無緩沖時問題分析:設(shè)備直接向進程地址設(shè)備直接向進程地址空間傳送數(shù)據(jù)空間傳送數(shù)據(jù)(如用戶從磁帶中讀數(shù)據(jù)塊的如用戶從磁帶中讀數(shù)據(jù)塊的操作),則進程要么忙等待,要么阻塞。操作),則進程要么忙等待,要么阻塞。v如果用如果用忙等待方式忙等待方式,則浪費大量,則浪費大量CPU時間;時間;v如果是如果是阻塞方式阻塞方式,則進程阻塞在設(shè)備的,則進程阻塞在設(shè)備的I/O請求隊列中。這時,請求隊列中。這時,不能將進程全部換出,不能將進程全部換出,還可能出現(xiàn)單進程還可能出現(xiàn)單進程死鎖死鎖。(進程在等待。(進程在等待I/O操操作結(jié)果之前被換出,等待作結(jié)果之
18、前被換出,等待I/O事件,而事件,而I/O操操作也被阻塞,等待該進程被換入。)作也被阻塞,等待該進程被換入。)Operating SystemOperating SystemPage 242022-7-5qI/O系統(tǒng)系統(tǒng) qI/O控制方式控制方式 q緩沖管理緩沖管理 q設(shè)備分配設(shè)備分配q設(shè)備處理設(shè)備處理q磁盤存儲器管理磁盤存儲器管理Operating SystemOperating SystemPage 252022-7-5q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時應考慮的因素設(shè)備分配時應考慮的因素q設(shè)備獨立性設(shè)備獨立性q獨占設(shè)備的分配程序獨占設(shè)備的分配程序qSPOOLing技術(shù)技
19、術(shù)Operating SystemOperating SystemPage 262022-7-5q在多道程序環(huán)境下,系統(tǒng)中的設(shè)備所有進程共享,在多道程序環(huán)境下,系統(tǒng)中的設(shè)備所有進程共享,為為防止防止進程對系統(tǒng)資源的進程對系統(tǒng)資源的無序競爭無序競爭,必須由系統(tǒng),必須由系統(tǒng)統(tǒng)一分配統(tǒng)一分配設(shè)備設(shè)備q某進程向系統(tǒng)提出某進程向系統(tǒng)提出I/O請求時,設(shè)備分配程序按請求時,設(shè)備分配程序按一定策略一定策略分配設(shè)備、控制器和通道,形成一條數(shù)分配設(shè)備、控制器和通道,形成一條數(shù)據(jù)傳輸通路,以供主機和設(shè)備間信息交換據(jù)傳輸通路,以供主機和設(shè)備間信息交換q為實現(xiàn)設(shè)備分配,系統(tǒng)中應設(shè)置相應的數(shù)據(jù)結(jié)構(gòu),為實現(xiàn)設(shè)備分配,系統(tǒng)
20、中應設(shè)置相應的數(shù)據(jù)結(jié)構(gòu),對每臺設(shè)備、通道、控制器的情況進行登記對每臺設(shè)備、通道、控制器的情況進行登記Operating SystemOperating SystemPage 272022-7-55.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-7-5q設(shè)備控制表設(shè)備控制表DCT設(shè)備類型設(shè)備類型 type設(shè)備標識符:設(shè)備標識符:devic
21、eid設(shè)備狀態(tài):等待設(shè)備狀態(tài):等待/ /不等待不等待 忙忙/ /閑閑指向控制器表指向控制器表COCTCOCT的指針的指針重復執(zhí)行次數(shù)或時間重復執(zhí)行次數(shù)或時間設(shè)備隊列的隊首指針設(shè)備隊列的隊首指針DCT 1DCT 2DCT n設(shè)設(shè)備備控控制制表表集集合合每個設(shè)備一張,記錄本設(shè)備的情況每個設(shè)備一張,記錄本設(shè)備的情況正使用,則忙標志正使用,則忙標志置置1;若與其相連的;若與其相連的控制器或通道忙,控制器或通道忙,則等待標志置則等待標志置1請求本設(shè)備未滿請求本設(shè)備未滿足的進程足的進程PCB隊隊列列Operating SystemOperating SystemPage 292022-7-5q控制器控制表
22、、控制器控制表、 通道控制表通道控制表控制器標識符:控制器標識符:controllerid控制器狀態(tài):忙控制器狀態(tài):忙/ /閑閑與控制器連接的通道表指針與控制器連接的通道表指針控制器隊列的隊首指針控制器隊列的隊首指針控制器隊列的隊尾指針控制器隊列的隊尾指針通道標識符:通道標識符:channelid通道狀態(tài):忙通道狀態(tài):忙/ /閑閑與通道連接的控制器表首址與通道連接的控制器表首址通道隊列的隊首指針通道隊列的隊首指針通道隊列的隊尾指針通道隊列的隊尾指針(a) 控制器表控制器表COCT(b) 通道表通道表CHCT一個控制器一張一個控制器一張一個通道一張一個通道一張Operating SystemOp
23、erating SystemPage 302022-7-5q系統(tǒng)設(shè)備表系統(tǒng)設(shè)備表SDT 系統(tǒng)系統(tǒng)設(shè)備表設(shè)備表SDT表目表目 1表目表目 i設(shè)備類設(shè)備類設(shè)備標識符設(shè)備標識符DCT驅(qū)動程序入口驅(qū)動程序入口整個系統(tǒng)一張,記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況整個系統(tǒng)一張,記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況Operating SystemOperating SystemPage 312022-7-5q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時應考慮的因素設(shè)備分配時應考慮的因素q設(shè)備獨立性設(shè)備獨立性q獨占設(shè)備的分配程序獨占設(shè)備的分配程序qSPOOLing技術(shù)技術(shù)Operating Sy
24、stemOperating SystemPage 322022-7-55.4.2 設(shè)備分配時應考慮的因素設(shè)備分配時應考慮的因素 為了使系統(tǒng)有條不紊地工作,系統(tǒng)在進行設(shè)備分配時,應考慮這樣幾個因素:(1)設(shè)備的固有屬性;(2)設(shè)備分配算法;(3)設(shè)備分配的安全性;(4)設(shè)備獨立性。Operating SystemOperating SystemPage 332022-7-5q設(shè)備的固有屬性設(shè)備的固有屬性v獨占性獨占性一段時間內(nèi),只允許一個進程獨占,大多數(shù)低度速一段時間內(nèi),只允許一個進程獨占,大多數(shù)低度速/ /設(shè)備都屬于獨享設(shè)備設(shè)備都屬于獨享設(shè)備v共享性共享性允許多個進程同時共享,如磁盤、磁鼓之類
25、的外存允許多個進程同時共享,如磁盤、磁鼓之類的外存儲器,既具有很能大的存儲容量,其定位操作的時儲器,既具有很能大的存儲容量,其定位操作的時間又短間又短v可虛擬性可虛擬性獨占設(shè)備經(jīng)某種技術(shù)處理,改造成虛擬設(shè)備,把一獨占設(shè)備經(jīng)某種技術(shù)處理,改造成虛擬設(shè)備,把一臺輸入機虛擬為幾臺臺輸入機虛擬為幾臺“虛擬虛擬”的輸入機。例如:為的輸入機。例如:為了提高設(shè)備利用率引入了脫機輸入輸出或采用了提高設(shè)備利用率引入了脫機輸入輸出或采用SPOOLing技術(shù),變一臺為技術(shù),變一臺為“多臺設(shè)備多臺設(shè)備”缺點:設(shè)備得缺點:設(shè)備得不到充分利用,不到充分利用,可能產(chǎn)生死鎖可能產(chǎn)生死鎖Operating SystemOper
26、ating SystemPage 342022-7-5q設(shè)備分配設(shè)備分配v獨占設(shè)備獨占設(shè)備防止死鎖防止死鎖v共享設(shè)備共享設(shè)備由于同時有多個進程同時訪問,且訪問頻繁,就會由于同時有多個進程同時訪問,且訪問頻繁,就會影響整個設(shè)備使用效率,影響系統(tǒng)效率。因此要考影響整個設(shè)備使用效率,影響系統(tǒng)效率。因此要考慮多個訪問請求到達時服務的順序,使平均服務時慮多個訪問請求到達時服務的順序,使平均服務時間越短越好。間越短越好。注意各進程的訪問次序進行合理調(diào)度注意各進程的訪問次序進行合理調(diào)度v虛擬設(shè)備虛擬設(shè)備Operating SystemOperating SystemPage 352022-7-5q設(shè)備分配算
27、法設(shè)備分配算法v先來先服務先來先服務v優(yōu)先級高者優(yōu)先優(yōu)先級高者優(yōu)先q設(shè)備分配中的安全性設(shè)備分配中的安全性v安全分配方式安全分配方式每當進程發(fā)出每當進程發(fā)出I/O請求后,便進入阻塞狀態(tài),請求后,便進入阻塞狀態(tài),I/O操作完成后喚醒操作完成后喚醒優(yōu)點:摒棄了優(yōu)點:摒棄了 “請求和保持請求和保持”條件,不會產(chǎn)生死鎖條件,不會產(chǎn)生死鎖v不安全分配方式不安全分配方式 進程發(fā)出進程發(fā)出I/O請求后仍繼續(xù)運行,繼續(xù)申請請求后仍繼續(xù)運行,繼續(xù)申請I/O設(shè)設(shè)備備優(yōu)點:可操作多個設(shè)備,推進迅速優(yōu)點:可操作多個設(shè)備,推進迅速缺點:推進缺點:推進速度緩慢速度緩慢缺點:可能缺點:可能產(chǎn)生死鎖產(chǎn)生死鎖Operating
28、SystemOperating SystemPage 362022-7-5q緩和緩和CPU與與I/O設(shè)備間速度不匹配的矛盾設(shè)備間速度不匹配的矛盾v數(shù)據(jù)到達速率與其離去速率不同數(shù)據(jù)到達速率與其離去速率不同q減少對減少對CPU的中斷頻率,放寬對的中斷頻率,放寬對CPU中斷響應時中斷響應時間的限制間的限制q提高提高CPU和和I/O設(shè)備之間的并行性設(shè)備之間的并行性v提高系統(tǒng)的吞吐量和設(shè)備的利用率提高系統(tǒng)的吞吐量和設(shè)備的利用率Operating SystemOperating SystemPage 372022-7-5q無緩沖時問題分析:無緩沖時問題分析:設(shè)備直接向進程地址設(shè)備直接向進程地址空間傳送數(shù)據(jù)
29、空間傳送數(shù)據(jù)(如用戶從磁帶中讀數(shù)據(jù)塊的如用戶從磁帶中讀數(shù)據(jù)塊的操作),則進程要么忙等待,要么阻塞。操作),則進程要么忙等待,要么阻塞。v如果用如果用忙等待方式忙等待方式,則浪費大量,則浪費大量CPU時間;時間;v如果是如果是阻塞方式阻塞方式,則進程阻塞在設(shè)備的,則進程阻塞在設(shè)備的I/O請求隊列中。這時,請求隊列中。這時,不能將進程全部換出,不能將進程全部換出,還可能出現(xiàn)還可能出現(xiàn)單進程死鎖單進程死鎖。v進程在等待進程在等待I/O操作結(jié)果之前被換出,等待操作結(jié)果之前被換出,等待I/O事件,而事件,而I/O操作也被阻塞,等待該進程操作也被阻塞,等待該進程被換入。被換入。Operating Syst
30、emOperating SystemPage 382022-7-5q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時應考慮的因素設(shè)備分配時應考慮的因素q設(shè)備獨立性設(shè)備獨立性q獨占設(shè)備的分配程序獨占設(shè)備的分配程序qSPOOLing技術(shù)技術(shù)Operating SystemOperating SystemPage 392022-7-5q設(shè)備獨立性設(shè)備獨立性(Device Independence)的概念的概念v為了提高為了提高OS的可適應性和可擴展性,在現(xiàn)代的可適應性和可擴展性,在現(xiàn)代OS中都中都毫無例外地實現(xiàn)了設(shè)備獨立性,也稱為設(shè)備無關(guān)性毫無例外地實現(xiàn)了設(shè)備獨立性,也稱為設(shè)備無關(guān)性v定義:是指
31、用戶在編制程序時所使用的設(shè)備與實際定義:是指用戶在編制程序時所使用的設(shè)備與實際使用的設(shè)備無關(guān)。即使用的設(shè)備無關(guān)。即 應用程序獨立于具體使用的物應用程序獨立于具體使用的物理設(shè)備理設(shè)備v為了實現(xiàn)設(shè)備獨立性而引入了為了實現(xiàn)設(shè)備獨立性而引入了邏輯設(shè)備邏輯設(shè)備和和物理設(shè)備物理設(shè)備這兩個概念這兩個概念v在應用程序中,在應用程序中, 使用使用邏輯設(shè)備邏輯設(shè)備名稱來請求使用某類名稱來請求使用某類設(shè)備;而系統(tǒng)在實際執(zhí)行時,設(shè)備;而系統(tǒng)在實際執(zhí)行時, 還必須使用還必須使用物理設(shè)備物理設(shè)備名稱名稱v系統(tǒng)須具有將邏輯設(shè)備名稱轉(zhuǎn)換為某物理設(shè)備名稱系統(tǒng)須具有將邏輯設(shè)備名稱轉(zhuǎn)換為某物理設(shè)備名稱的功能,這非常類似于存儲器管理
32、中所介紹的的功能,這非常類似于存儲器管理中所介紹的邏輯邏輯地址地址和和物理地址物理地址的概念的概念Operating SystemOperating SystemPage 402022-7-5q設(shè)備獨立性的優(yōu)點設(shè)備獨立性的優(yōu)點v設(shè)備分配時的靈活性設(shè)備分配時的靈活性系統(tǒng)可將該邏輯設(shè)備類中的任一臺分配給進系統(tǒng)可將該邏輯設(shè)備類中的任一臺分配給進程使用程使用所有設(shè)備均占用時才阻塞所有設(shè)備均占用時才阻塞v易于實現(xiàn)易于實現(xiàn)I/O重定向重定向所謂所謂I/O重定向,指用于重定向,指用于I/O操作的設(shè)備可操作的設(shè)備可以更換,而不必改變應用程序以更換,而不必改變應用程序如調(diào)試程序時輸出到屏幕,而實際應用時改如調(diào)試
33、程序時輸出到屏幕,而實際應用時改為輸出到打印機為輸出到打印機Operating SystemOperating SystemPage 412022-7-5q設(shè)備獨立性軟件設(shè)備獨立性軟件v設(shè)備驅(qū)動程序是一個與硬件(或設(shè)備)緊密相關(guān)的軟設(shè)備驅(qū)動程序是一個與硬件(或設(shè)備)緊密相關(guān)的軟件。件。v設(shè)備驅(qū)動程序一方面可以定制以適合各種設(shè)備,另一設(shè)備驅(qū)動程序一方面可以定制以適合各種設(shè)備,另一方面也提供了一組標準接口。方面也提供了一組標準接口。v設(shè)備驅(qū)動程序的作用是為內(nèi)核設(shè)備驅(qū)動程序的作用是為內(nèi)核I/O子系統(tǒng)隱藏設(shè)備控子系統(tǒng)隱藏設(shè)備控制器之間的差異制器之間的差異v為了實現(xiàn)設(shè)備獨立性,必須在設(shè)備驅(qū)動程序上設(shè)置一
34、為了實現(xiàn)設(shè)備獨立性,必須在設(shè)備驅(qū)動程序上設(shè)置一層軟件,稱為設(shè)備獨立性軟件層軟件,稱為設(shè)備獨立性軟件Operating SystemOperating SystemPage 422022-7-52. 設(shè)備獨立性軟件設(shè)備獨立性軟件 為了實現(xiàn)設(shè)備獨立性,必須再將驅(qū)動程序之上設(shè)備一層軟件,稱為設(shè)備獨立性軟件,其主要功能可分為以下兩個方面: (1)執(zhí)行所有設(shè)備的公有操作 (2)向用戶層(或文件層)軟件提供統(tǒng)一接口。Operating SystemOperating SystemPage 432022-7-52. 設(shè)備獨立性軟件設(shè)備獨立性軟件 1) 執(zhí)行所有設(shè)備的公有操作 對獨立設(shè)備的分配與回收分配與回收
35、; 將邏輯設(shè)備名映射設(shè)備名映射為物理設(shè)備名,進一步可以找到相應物理設(shè)備的驅(qū)動程序; 對設(shè)備進行保護設(shè)備進行保護,禁止用戶直接訪問設(shè)備; 緩沖管理緩沖管理,即對字符設(shè)備和塊設(shè)備的緩沖區(qū)進行有效的管理,以提高I/O的效率; 差錯控制差錯控制。由于在I/O操作中的絕大多數(shù)錯誤都與設(shè)備無關(guān),故主要由設(shè)備驅(qū)動程序處理,而設(shè)備獨立性軟件只處理那些設(shè)備驅(qū)動程序無法處理的錯誤。Operating SystemOperating SystemPage 442022-7-5 2) 向用戶層(或文件層)軟件提供統(tǒng)一接口 無論何種設(shè)備, 它們向用戶所提供的接口應該是相同的。 例如, 對各種設(shè)備的讀操作,在應用程序中都
36、使用read;而對各種設(shè)備的寫操作,也都使用write。 Operating SystemOperating SystemPage 452022-7-5q 邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn) v邏輯設(shè)備表(邏輯設(shè)備表(Lgical Unit Table)用于實現(xiàn)將應用程序中的邏輯設(shè)備名映射為物理設(shè)用于實現(xiàn)將應用程序中的邏輯設(shè)備名映射為物理設(shè)備名備名邏輯設(shè)備名邏輯設(shè)備名物理設(shè)備名物理設(shè)備名驅(qū)動程序驅(qū)動程序入口地址入口地址/dev/tty/dev/printer3510242046邏輯設(shè)備名邏輯設(shè)備名/dev/tty/dev/printer系統(tǒng)設(shè)備表指針系統(tǒng)設(shè)備表指針
37、35(a)(b) LUT的設(shè)置可采取兩種方式: 整個系統(tǒng)設(shè)置一張整個系統(tǒng)設(shè)置一張LUT。不允許在LUT中具有相同的邏輯設(shè)備名,這就是要求所有用戶不使用相同的邏輯設(shè)備名。 為每個用戶設(shè)置一張為每個用戶設(shè)置一張LUT。用戶建立一個進程,同時也為之建立一張LUT。Operating SystemOperating SystemPage 462022-7-5q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時應考慮的因素設(shè)備分配時應考慮的因素q設(shè)備獨立性設(shè)備獨立性q獨占設(shè)備的分配程序獨占設(shè)備的分配程序qSPOOLing技術(shù)技術(shù)Operating SystemOperating SystemPage
38、472022-7-5q基本的設(shè)備分配程序基本的設(shè)備分配程序v分配設(shè)備分配設(shè)備v分配控制器分配控制器v分配通道分配通道Operating SystemOperating SystemPage 482022-7-5設(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存儲器存儲器分配設(shè)備分配設(shè)備1分配控制器分配控制器1分配通道分配通道1申請設(shè)備申請設(shè)備1按設(shè)備物理名查按設(shè)備物理名查SDT設(shè)備忙?設(shè)備忙?根據(jù)安全策略進行分配根據(jù)安全策略進行分配由由DCT查查COCT分配控制器分配控制器由由COCT查查CHCT
39、分配通道分配通道否是由由SDT查設(shè)備查設(shè)備 DCTOperating SystemOperating SystemPage 502022-7-5q設(shè)備分配程序的改進設(shè)備分配程序的改進v基本分配程序的問題基本分配程序的問題進程以物理設(shè)備名提出進程以物理設(shè)備名提出I/O請求請求采用單通路采用單通路I/O系統(tǒng)結(jié)構(gòu),容易產(chǎn)生瓶頸系統(tǒng)結(jié)構(gòu),容易產(chǎn)生瓶頸v改進方案改進方案增加設(shè)備獨立性增加設(shè)備獨立性 考慮多通路情況考慮多通路情況為進程為進程P P分配所需的分配所需的I/OI/O設(shè)備設(shè)備從從SDTSDT表查該類設(shè)備的控制表表查該類設(shè)備的控制表DCTDCT不忙不忙不安全不安全分配此設(shè)備給進程分配此設(shè)備給進程P
40、 P不忙不忙不忙不忙分配此控制器給進程分配此控制器給進程P P分配此通道給進程分配此通道給進程P P啟動啟動I/O,I/O,進行進行具體的具體的I/OI/O操作操作忙忙進程進程P P的的PCBPCB放入放入此設(shè)備的等待隊列此設(shè)備的等待隊列YN忙忙進程進程 P P 的的 PCB PCB 放入放入此控制器的等待隊列此控制器的等待隊列YNY忙忙Y進程進程P P的的PCBPCB放入此放入此通道的等待隊列通道的等待隊列NYNN多通多通路設(shè)路設(shè)備分備分配流配流程示程示意圖意圖由由DCTDCT檢查該設(shè)備忙否檢查該設(shè)備忙否? ?檢查分配此設(shè)備的安全性檢查分配此設(shè)備的安全性? ?最后一個最后一個DCT?DCT?
41、最后一個最后一個COCT?COCT?最后一個最后一個DCT?DCT?此設(shè)備連接的此設(shè)備連接的COCTCOCT忙否忙否? ?此控制器連接的此控制器連接的CHCTCHCT忙否忙否? ?最后一個最后一個COCT?COCT?最后一個最后一個CHCT?CHCT?Operating SystemOperating SystemPage 522022-7-5q設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)q設(shè)備分配時應考慮的因素設(shè)備分配時應考慮的因素q設(shè)備獨立性設(shè)備獨立性q獨占設(shè)備的分配程序獨占設(shè)備的分配程序qSPOOLing技術(shù)技術(shù)Operating SystemOperating SystemPage 532
42、022-7-5硬件不斷發(fā)展,硬件不斷發(fā)展,CPU速度的提高、系統(tǒng)規(guī)模擴大,人機速度的提高、系統(tǒng)規(guī)模擴大,人機矛盾嚴重,如何解決?矛盾嚴重,如何解決?輸入設(shè)備外圍機磁盤主機外圍機輸出設(shè)備磁帶磁帶磁帶磁帶Operating SystemOperating SystemPage 542022-7-5q什么什么是是SPOOLing技術(shù)技術(shù)v為了緩和為了緩和CPU的高速性與的高速性與I/O設(shè)備低速性間的設(shè)備低速性間的矛盾而引入了矛盾而引入了脫機輸入脫機輸入、 脫機輸出脫機輸出技術(shù)技術(shù)v在多道程序環(huán)境下,其中的一道程序模擬脫在多道程序環(huán)境下,其中的一道程序模擬脫機輸入時的外圍控制機功能機輸入時的外圍控制機
43、功能v在主機的直接控制下,實現(xiàn)脫機輸入、在主機的直接控制下,實現(xiàn)脫機輸入、 輸出輸出功能,此時的外圍操作與功能,此時的外圍操作與CPU對數(shù)據(jù)的處理對數(shù)據(jù)的處理同時進行同時進行v把這種在聯(lián)機情況下實現(xiàn)的同時外圍操作稱把這種在聯(lián)機情況下實現(xiàn)的同時外圍操作稱為為SPOOLing(Simultaneaus Periphernal Operating On-Line),或稱為,或稱為假脫機操作假脫機操作Operating SystemOperating SystemPage 552022-7-5qSPOOLing系統(tǒng)的組成系統(tǒng)的組成v輸入井和輸出井輸入井和輸出井在磁盤上的兩個存儲空間在磁盤上的兩個存儲空
44、間輸入井模擬脫機輸入,暫存輸入數(shù)據(jù)輸入井模擬脫機輸入,暫存輸入數(shù)據(jù)輸出井模擬脫機輸出,暫存輸出數(shù)據(jù)輸出井模擬脫機輸出,暫存輸出數(shù)據(jù)v輸入緩沖區(qū)和輸出緩沖區(qū)輸入緩沖區(qū)和輸出緩沖區(qū)用來緩和用來緩和CPU與磁盤之間的速度的矛盾與磁盤之間的速度的矛盾v輸入進程輸入進程SPi和輸出進程和輸出進程SPo模擬脫機模擬脫機I/O時的外圍控制機時的外圍控制機Operating SystemOperating SystemPage 562022-7-5輸入設(shè)備外圍機磁盤主機外圍機輸出設(shè)備磁帶磁帶磁帶磁帶Operating SystemOperating SystemPage 572022-7-5輸入進程 輸入進程
45、 SPi輸入進程 輸入進程 SPo輸入緩沖區(qū) 輸入緩沖區(qū) Bi輸出緩沖區(qū) 輸出緩沖區(qū) Bo輸入井輸入井輸出井輸出井磁盤磁盤輸入設(shè)備輸入設(shè)備輸出設(shè)備輸出設(shè)備Operating SystemOperating SystemPage 582022-7-5q共享打印機共享打印機v打印機為打印機為獨占獨占設(shè)備,利用設(shè)備,利用SPOOLing技術(shù),技術(shù),可將之改造為可將之改造為共享共享設(shè)備設(shè)備v用戶請求打印時,用戶請求打印時,SPOOLing系統(tǒng)處理如下系統(tǒng)處理如下由輸出進程在輸出井中為之申請一個空閑由輸出進程在輸出井中為之申請一個空閑磁盤塊區(qū),磁盤塊區(qū), 并將要打印的數(shù)據(jù)送入其中并將要打印的數(shù)據(jù)送入其中
46、輸出進程再為用戶進程申請一張空白的用輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入戶請求打印表,并將用戶的打印要求填入其中,其中, 再再將該表掛到請求打印隊列上將該表掛到請求打印隊列上Operating SystemOperating SystemPage 592022-7-5qSPOOLing系統(tǒng)特點系統(tǒng)特點v提高了提高了I/O的速度的速度v將獨占設(shè)備改造為共享設(shè)備將獨占設(shè)備改造為共享設(shè)備v實現(xiàn)了虛擬設(shè)備功能實現(xiàn)了虛擬設(shè)備功能Operating SystemOperating SystemPage 602022-7-5SPOOLing技術(shù)今天仍被廣泛使用技術(shù)今天仍被
47、廣泛使用q網(wǎng)絡文件傳送網(wǎng)絡文件傳送 先把文件送到網(wǎng)絡先把文件送到網(wǎng)絡SPOOLing目錄,然后網(wǎng)絡值目錄,然后網(wǎng)絡值班進程把它取出并傳遞到目標地址班進程把它取出并傳遞到目標地址qInternet電子郵件系統(tǒng)電子郵件系統(tǒng) 為了寄郵,調(diào)用電子郵件程序為了寄郵,調(diào)用電子郵件程序 待發(fā)信存在待發(fā)信存在SPOOLing中供以后傳輸中供以后傳輸q注意:注意:SPOOLing只提高設(shè)備利用率,縮短用戶只提高設(shè)備利用率,縮短用戶程序執(zhí)行時間,并不提高程序執(zhí)行時間,并不提高CPU利用率利用率Operating SystemOperating SystemPage 612022-7-5qI/O系統(tǒng)系統(tǒng) qI/O控
48、制方式控制方式 q緩沖管理緩沖管理 q設(shè)備分配設(shè)備分配q設(shè)備處理設(shè)備處理q磁盤存儲器管理磁盤存儲器管理Operating SystemOperating SystemPage 622022-7-5q中斷處理程序的處理過程中斷處理程序的處理過程q設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的功能和特點q設(shè)備驅(qū)動程序的處理過程設(shè)備驅(qū)動程序的處理過程q獨立于設(shè)備的服務軟件獨立于設(shè)備的服務軟件Operating SystemOperating SystemPage 632022-7-5系統(tǒng)層次結(jié)構(gòu)系統(tǒng)層次結(jié)構(gòu)接收上層軟件發(fā)來接收上層軟件發(fā)來的抽象要求的抽象要求read/write,轉(zhuǎn),轉(zhuǎn)換成具體的要求,換成具
49、體的要求,發(fā)給設(shè)備控制器發(fā)給設(shè)備控制器將由設(shè)備控制將由設(shè)備控制器發(fā)來的信號器發(fā)來的信號送給上層軟件送給上層軟件Operating SystemOperating SystemPage 642022-7-5q中斷處理程序中斷處理程序v系統(tǒng)為每類設(shè)備設(shè)置一個中斷處理程系統(tǒng)為每類設(shè)備設(shè)置一個中斷處理程序,它們的序,它們的入口地址入口地址被存放在內(nèi)存的固定單被存放在內(nèi)存的固定單元中,元中, 稱為稱為中斷向量中斷向量。v 當某臺設(shè)備完成一次操作時,發(fā)出中當某臺設(shè)備完成一次操作時,發(fā)出中斷信號,接受中斷信號,暫停現(xiàn)行進斷信號,接受中斷信號,暫?,F(xiàn)行進程的執(zhí)行,根據(jù)中斷向量轉(zhuǎn)到相應的程的執(zhí)行,根據(jù)中斷向量轉(zhuǎn)
50、到相應的中斷處理程序執(zhí)行。中斷處理程序執(zhí)行。v中斷處理程序的中斷處理程序的基本工作基本工作包括:保留包括:保留現(xiàn)行進程的執(zhí)行現(xiàn)場;通知等待該操現(xiàn)行進程的執(zhí)行現(xiàn)場;通知等待該操作完成的進程;最終轉(zhuǎn)入進程調(diào)度程序進行作完成的進程;最終轉(zhuǎn)入進程調(diào)度程序進行重新調(diào)度。重新調(diào)度。Operating SystemOperating SystemPage 652022-7-5PSW程序狀態(tài)字程序狀態(tài)字PC(N1)程序計數(shù)器程序計數(shù)器R0Rn寄存器寄存器開始開始返回返回用戶程序用戶程序中斷服務子例程中斷服務子例程PSWPC(N1)中斷棧中斷棧TTM棧指針棧指針YNN1R0RnOperating SystemO
51、perating SystemPage 662022-7-5喚醒被阻塞的喚醒被阻塞的驅(qū)動程序進程驅(qū)動程序進程對被中斷進程的對被中斷進程的CPU環(huán)境進行保護環(huán)境進行保護分析中斷原因,轉(zhuǎn)入分析中斷原因,轉(zhuǎn)入相應的中斷處理程序相應的中斷處理程序終端中斷終端中斷處理程序處理程序打印機中斷打印機中斷處理程序處理程序磁盤中斷磁盤中斷處理程序處理程序恢復被中斷進恢復被中斷進程的程的CPU現(xiàn)場現(xiàn)場返回被中斷的進返回被中斷的進程,繼續(xù)執(zhí)行程,繼續(xù)執(zhí)行中斷請求信號中斷請求信號I/O完成后,驅(qū)動程完成后,驅(qū)動程序必須檢查本次序必須檢查本次I/O操作中是否發(fā)生了錯操作中是否發(fā)生了錯誤,并向上層軟件報誤,并向上層軟件報
52、告,最終向調(diào)用者報告,最終向調(diào)用者報告本次告本次I/O的執(zhí)行情的執(zhí)行情況況Operating SystemOperating SystemPage 672022-7-5q中斷處理程序的處理過程中斷處理程序的處理過程q設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的功能和特點q設(shè)備驅(qū)動程序的處理過程設(shè)備驅(qū)動程序的處理過程q獨立于設(shè)備的服務軟件獨立于設(shè)備的服務軟件Operating SystemOperating SystemPage 682022-7-5系統(tǒng)層次結(jié)構(gòu)系統(tǒng)層次結(jié)構(gòu)Operating SystemOperating SystemPage 692022-7-5q設(shè)備處理程序設(shè)備處理程序又稱為又稱
53、為設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序,是,是I/O進程進程與設(shè)備控制器之間的通信程序與設(shè)備控制器之間的通信程序q不論是哪種設(shè)備驅(qū)動程序,它的功能是相同的不論是哪種設(shè)備驅(qū)動程序,它的功能是相同的v接收接收用戶的用戶的I/O請求請求命令和參數(shù)命令和參數(shù),并將命令中的抽,并將命令中的抽象要求象要求轉(zhuǎn)換轉(zhuǎn)換為具體要求(為具體要求(I/O請求塊),例如,將請求塊),例如,將磁盤塊號轉(zhuǎn)換為磁盤的盤面、磁盤塊號轉(zhuǎn)換為磁盤的盤面、 磁道號及扇區(qū)號磁道號及扇區(qū)號v檢查檢查用戶用戶I/O請求的請求的合法性合法性,了解,了解I/O設(shè)備的狀態(tài),設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),傳遞有關(guān)參數(shù),設(shè)置設(shè)置設(shè)備的設(shè)備的工作方式工作方式v發(fā)出發(fā)
54、出I/O命令并檢查設(shè)備狀態(tài),空閑則啟動命令并檢查設(shè)備狀態(tài),空閑則啟動I/O完成完成指定的操作,忙碌則指定的操作,忙碌則將請求者的請求塊掛將請求者的請求塊掛到相應設(shè)到相應設(shè)備的備的I/O請求隊列請求隊列v及時及時響應響應由控制器或通道發(fā)來的由控制器或通道發(fā)來的中斷中斷請求并處理請求并處理v若計算機系統(tǒng)設(shè)置有通道,則驅(qū)動程序根據(jù)用戶的若計算機系統(tǒng)設(shè)置有通道,則驅(qū)動程序根據(jù)用戶的I/O請求,請求,自動地構(gòu)成通道程序自動地構(gòu)成通道程序Operating SystemOperating SystemPage 702022-7-5q注意注意v每類設(shè)備有一個每類設(shè)備有一個I/O請求隊列,在系統(tǒng)初始化時,請求
55、隊列,在系統(tǒng)初始化時,將系統(tǒng)中所有設(shè)備的將系統(tǒng)中所有設(shè)備的I/O請求隊列置為空請求隊列置為空v在系統(tǒng)初啟時,系統(tǒng)為每類設(shè)備創(chuàng)建一個進程在系統(tǒng)初啟時,系統(tǒng)為每類設(shè)備創(chuàng)建一個進程(其中的一種方式),執(zhí)行程序就是該設(shè)備的設(shè)(其中的一種方式),執(zhí)行程序就是該設(shè)備的設(shè)備驅(qū)動程序。由于系統(tǒng)初啟時,相應的備驅(qū)動程序。由于系統(tǒng)初啟時,相應的I/O請求請求隊列為空,則在該隊列上睡眠隊列為空,則在該隊列上睡眠v一旦有一旦有I/O請求塊掛入,喚醒該設(shè)備驅(qū)動進程。請求塊掛入,喚醒該設(shè)備驅(qū)動進程。它被調(diào)度到時,從隊列中取出一個它被調(diào)度到時,從隊列中取出一個I/O請求塊,請求塊,并按該塊的內(nèi)容執(zhí)行一次并按該塊的內(nèi)容執(zhí)行一
56、次I/O操作,發(fā)出操作,發(fā)出I/O完完成(或出錯)中斷信號。然后,檢查請求隊,若成(或出錯)中斷信號。然后,檢查請求隊,若為空,則進入睡眠狀態(tài),否則,取下一個請求塊為空,則進入睡眠狀態(tài),否則,取下一個請求塊Operating SystemOperating SystemPage 712022-7-5q在不同的系統(tǒng),設(shè)備驅(qū)動程序的運行方式在不同的系統(tǒng),設(shè)備驅(qū)動程序的運行方式v在在整個系統(tǒng)整個系統(tǒng)中設(shè)置中設(shè)置一個一個I/O進程進程,統(tǒng)一負責所,統(tǒng)一負責所有設(shè)備的驅(qū)動工作。專門用于執(zhí)行系統(tǒng)中所有設(shè)備的驅(qū)動工作。專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的有各類設(shè)備的I/O操作操作v為每為每一類設(shè)備一類設(shè)備設(shè)置設(shè)置一個進程一個進程,專門用于負責,專門用于負責該類設(shè)備的驅(qū)動工作(該類設(shè)備的驅(qū)動工作(I/O操作)操作) v為為每臺每臺設(shè)備建立設(shè)備建立一個一個設(shè)備驅(qū)動進程,它們分設(shè)備驅(qū)動進程,它們分別負責專門設(shè)備的驅(qū)動工作。同類設(shè)備的各別負責專門設(shè)備的驅(qū)動工作。同類設(shè)備的各驅(qū)動進程共享該類設(shè)備的設(shè)備驅(qū)動程序。驅(qū)動進程共享該類設(shè)備的設(shè)備驅(qū)動程序。v不設(shè)置專門的不設(shè)置專門的設(shè)備處理進程,而只為設(shè)備處理進程,而只為各類設(shè)各類設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年物業(yè)管理合同服務內(nèi)容擴展
- 2024年物資采購與銷售合同捆綁包
- 2024年科技園區(qū)門衛(wèi)服務協(xié)議
- 2025年度電子商務平臺場規(guī)則與格式規(guī)范合同3篇
- 2025版寵物領(lǐng)養(yǎng)與救助機構(gòu)合作協(xié)議范本大全3篇
- 2025年環(huán)保型交通工具銷售及售后服務協(xié)議3篇
- 2024年飛行員培養(yǎng)合同:飛行員委托培養(yǎng)協(xié)議2篇
- 《何謂自我概念》課件
- 生鮮豬肉知識培訓課件
- 2024年特種壓力容器定制安裝協(xié)議版B版
- 英語-山東省淄博市2024-2025學年第一學期高三期末摸底質(zhì)量檢測試題和答案
- 億歐智庫-2024中國智能駕駛城區(qū)NOA功能測評報告
- 甘肅2024年甘肅培黎職業(yè)學院引進高層次人才歷年參考題庫(頻考版)含答案解析
- 水利水電工程安全管理制度例文(三篇)
- 2025年超星爾雅學習通《勞動通論》章節(jié)測試題庫及參考答案(培優(yōu))
- 2024預防流感課件完整版
- 新疆烏魯木齊市(2024年-2025年小學六年級語文)統(tǒng)編版質(zhì)量測試(上學期)試卷及答案
- 人教版2024-2025學年第一學期八年級物理期末綜合復習練習卷(含答案)
- 靜脈治療??谱o士競聘
- 特殊教育多媒體教室方案
- 2024年第一季度醫(yī)療安全(不良)事件分析報告
評論
0/150
提交評論