




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Operating SystemOperating SystemPage 12022-7-3Operating SystemOperating SystemPage 22022-7-3qI/O系統系統 qI/O控制方式控制方式 q緩沖管理緩沖管理 q設備分配設備分配q設備處理設備處理q磁盤存儲器管理磁盤存儲器管理Operating SystemOperating SystemPage 32022-7-3q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環緩沖循環緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 4202
2、2-7-3q緩和緩和CPU與與I/O設備間速度不匹配的矛盾設備間速度不匹配的矛盾 數據到達速率與其離去速率不同數據到達速率與其離去速率不同q減少對減少對CPU的中斷頻率,放寬對的中斷頻率,放寬對CPU中斷響應時中斷響應時間的限制間的限制1位緩沖位緩沖9.6 Kb/s(a)中斷中斷CPU的頻的頻率為率為9.6Kb/s,每每100 s中斷中斷一次一次CPUCPU必須在必須在100 s內響內響應,否則數據應,否則數據會被沖掉會被沖掉8位緩沖寄存器位緩沖寄存器送內存送內存9.6 Kb/s(b)中斷中斷CPU的頻率降的頻率降低為低為9.6Kb/8 Operating SystemOperating Sy
3、stemPage 52022-7-38位緩沖寄存器位緩沖寄存器9.6 Kb/s送內存送內存(c)q提高提高CPU和和I/O設備之間的并行性設備之間的并行性v提高系統的吞吐量和設備的利用率提高系統的吞吐量和設備的利用率每每800 s中斷一中斷一次次CPUOperating SystemOperating SystemPage 62022-7-3q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環緩沖循環緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 72022-7-3q 單緩沖單緩沖(Single Buffer) 工作
4、區工作區處理處理(C)緩沖區緩沖區傳送傳送(M)輸入輸入(T)I/O設備設備(a)T1M1C1T2M2C2T3M3C3T4t(b)用戶進程用戶進程CT時時,每塊數據每塊數據的處理時間是的處理時間是M+T;反之,為;反之,為M+C,即,即由于由于C和和T可并行,可并行,M和和C或或M和和T不能并行不能并行因此處理一塊數據時間:因此處理一塊數據時間:Max(C,T)+MOperating SystemOperating SystemPage 82022-7-32. 雙緩沖雙緩沖(Double Buffer) 為了加快輸入、輸出速度和提高設備利用率,又引入了雙緩沖工作方式,也稱為緩沖對換(Buffe
5、r Swapping)方式。在設備輸入時,先將數據輸入第一緩沖區,裝滿后便轉向第二緩沖區。操作系統可從第一緩沖區中移出數據送用戶進程區,接著由CPU對數據進行計算。 Operating SystemOperating SystemPage 92022-7-3q 雙緩沖雙緩沖(Double Buffer) 工作區工作區用戶進程用戶進程緩沖區緩沖區1緩沖區緩沖區2I/O 設備設備T1(緩沖1)M1C1M2C2M3C3T2(緩沖2)T3(緩沖3)M4C4T4(緩沖4)(a)(b)效率有所提高,且進一步平滑了傳輸峰值。效率有所提高,且進一步平滑了傳輸峰值。系統處理一塊數據的時間約為:系統處理一塊數據的
6、時間約為:MAX(C,T)Operating SystemOperating SystemPage 102022-7-3緩緩沖沖區區緩緩沖沖區區A機機B機機(a) 單單緩緩沖沖發發送送緩緩沖沖區區接接收收緩緩沖沖區區接接收收緩緩沖沖區區發發送送緩緩沖沖區區A機機B機機(b) 雙雙緩緩沖沖只能實現單向只能實現單向的數據傳輸的數據傳輸為了實現雙向數據傳輸,必須在兩臺機器中都設置兩個緩沖區,一個用作發送緩沖區,另一個用作接收緩沖區。Operating SystemOperating SystemPage 112022-7-3q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環緩沖循環緩沖q緩沖
7、池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 122022-7-3q循環緩沖的引入循環緩沖的引入v當輸入與輸出速度基本匹配時,雙緩沖能獲得較好效當輸入與輸出速度基本匹配時,雙緩沖能獲得較好效果;當速度相差較大時,可引入多個(大小相等)緩果;當速度相差較大時,可引入多個(大小相等)緩沖,組織成循環緩沖的形式沖,組織成循環緩沖的形式q循環緩沖的組成循環緩沖的組成v多個緩沖區多個緩沖區用于裝輸入數據的用于裝輸入數據的空緩沖區空緩沖區R已裝滿數據的已裝滿數據的滿緩沖區滿緩沖區G計算進程計算進程正在使用正在使用的現行工作緩沖區的現行工作緩沖
8、區Cv多個指針多個指針指示計算進程下一指示計算進程下一可用緩沖區可用緩沖區Nextg指示輸入進程下一指示輸入進程下一可用空緩沖區可用空緩沖區Nexti指示計算進程指示計算進程正在使用正在使用的緩沖區的緩沖區CurrentOperating SystemOperating SystemPage 132022-7-3RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent類型:類型:R:空緩沖;空緩沖;G:滿緩沖;:滿緩沖;C:當前緩沖:當前緩沖Operating SystemOperating SystemPage 142022-7-3q循環緩沖區的
9、使用循環緩沖區的使用vGetbuf過程過程為計算進程和輸入進程提供緩沖區,并移動指針為計算進程和輸入進程提供緩沖區,并移動指針vReleasebuf過程過程當計算進程或輸入使用完緩沖區后,調用過程將緩當計算進程或輸入使用完緩沖區后,調用過程將緩沖區釋放沖區釋放q進程同步進程同步輸入、計算進程并行輸入、計算進程并行vNexti指針追趕上指針追趕上Nextg指針指針輸入進程速度大于計算進程,全部空緩沖區已滿,輸入進程速度大于計算進程,全部空緩沖區已滿,無可用緩沖區,輸入進程阻塞(無可用緩沖區,輸入進程阻塞(系統受計算限制系統受計算限制)vNextg指針追趕上指針追趕上Nexti指針指針計算進程速度
10、大于輸入進程,全部緩沖區空,無可計算進程速度大于輸入進程,全部緩沖區空,無可用數據,計算進程阻塞(用數據,計算進程阻塞(系統受系統受I/O限制限制)Operating SystemOperating SystemPage 152022-7-3q緩沖的引入緩沖的引入q單緩沖和雙緩沖單緩沖和雙緩沖q循環緩沖循環緩沖q緩沖池(緩沖池(Buffer Pool)Operating SystemOperating SystemPage 162022-7-3q緩沖池的組成緩沖池的組成v專用緩沖的利用率不高,與環形緩沖不同的是緩沖池專用緩沖的利用率不高,與環形緩沖不同的是緩沖池中的緩沖區是系統的中的緩沖區是系
11、統的公用資源公用資源,可供,可供多個進程共享多個進程共享,既能用于既能用于輸入輸入,也能用于,也能用于輸出輸出v緩沖區類型緩沖區類型空空(閑閑)緩沖區緩沖區裝滿輸入數據的緩沖區裝滿輸入數據的緩沖區裝滿輸出數據的緩沖區裝滿輸出數據的緩沖區v緩沖隊列:按其使用情況緩沖隊列:按其使用情況空緩沖隊列空緩沖隊列emq輸入隊列輸入隊列inq輸出隊列輸出隊列outqOperating SystemOperating SystemPage 172022-7-3q緩沖池的組成緩沖池的組成v四種工作緩沖區四種工作緩沖區用于收容輸入數據的工作緩沖區(用于收容輸入數據的工作緩沖區(hin)用于提取輸入數據的工作緩沖區
12、(用于提取輸入數據的工作緩沖區(sin)用于收容輸出數據的工作緩沖區(用于收容輸出數據的工作緩沖區(hout)用于提取輸出數據的工作緩沖區(用于提取輸出數據的工作緩沖區(sout)Operating SystemOperating SystemPage 182022-7-3q兩個對緩沖區操作的過程兩個對緩沖區操作的過程vGetbuf(type),type-隊列類型隊列類型 vPutbuf(type,number),number-指某緩沖區指某緩沖區v隊列是臨界資源需設置隊列是臨界資源需設置互斥信號量互斥信號量MS,每個隊列一個,每個隊列一個MS(type)資源信號量資源信號量RS ,每個隊列一
13、個,每個隊列一個RS(type)v隊列操作過程隊列操作過程Takebuf(type) :取:取type所指隊列隊首緩沖區所指隊列隊首緩沖區Addbuf(type,number):將:將number所指緩沖所指緩沖區加到區加到type所指隊列尾所指隊列尾Operating SystemOperating SystemPage 192022-7-3 Procedure Getbuf(type) begin Wait(RS(type); Wait(MS(type); B(number):=Takebuf(type); /從隊首摘下一個緩沖區從隊首摘下一個緩沖區 Signal(MS(type); en
14、d Procedure Putbuf(type, number) begin Wait(MS(type); Addbuf(type, number); /將指定緩沖區掛在將指定緩沖區掛在type指定隊列上指定隊列上 Signal(MS(type); Signal(RS(type); end 互斥信號量MS(type)資源信號量RS(type)Operating SystemOperating SystemPage 202022-7-3q緩沖池的組成緩沖池的組成v四種工作緩沖區四種工作緩沖區用于收容輸入數據的工作緩沖區(用于收容輸入數據的工作緩沖區(hin)用于提取輸入數據的工作緩沖區(用于提取
15、輸入數據的工作緩沖區(sin)用于收容輸出數據的工作緩沖區(用于收容輸出數據的工作緩沖區(hout)用于提取輸出數據的工作緩沖區(用于提取輸出數據的工作緩沖區(sout)Operating SystemOperating SystemPage 212022-7-3q緩沖區工作方式緩沖區工作方式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-33. 緩沖區的工作方式緩沖區的工作方式 圖 5-15 緩沖區的工作方式 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-3q無緩沖時問題分析:無緩沖時問題分析:設備直接向進程地址設備直接向進程地址空間傳送數據空間傳送數據(如用戶從磁帶中讀數據塊的如用戶從磁帶中讀數據塊的操作),則進程要么忙等待,要么阻塞。操作),則進程要么忙等待,要么阻塞。v如果用如果用忙等待方式忙等待方式,則浪費大量,則浪費大量CPU時間;時間;v如果是如果是阻塞方式阻塞方式,則進程阻塞在設備的,則進程阻塞在設備的I/O請求隊列中。這時,請求隊列中。這時,不能將進程全部換出,不能將進程全部換出,還可能出現單進程還可能出現單進程死鎖死鎖。(進程在等待。(進程在等待I/O操操作結果之前被換出,等待作結果之
18、前被換出,等待I/O事件,而事件,而I/O操操作也被阻塞,等待該進程被換入。)作也被阻塞,等待該進程被換入。)Operating SystemOperating SystemPage 242022-7-3qI/O系統系統 qI/O控制方式控制方式 q緩沖管理緩沖管理 q設備分配設備分配q設備處理設備處理q磁盤存儲器管理磁盤存儲器管理Operating SystemOperating SystemPage 252022-7-3q設備分配中的數據結構設備分配中的數據結構q設備分配時應考慮的因素設備分配時應考慮的因素q設備獨立性設備獨立性q獨占設備的分配程序獨占設備的分配程序qSPOOLing技術技
19、術Operating SystemOperating SystemPage 262022-7-3q在多道程序環境下,系統中的設備所有進程共享,在多道程序環境下,系統中的設備所有進程共享,為為防止防止進程對系統資源的進程對系統資源的無序競爭無序競爭,必須由系統,必須由系統統一分配統一分配設備設備q某進程向系統提出某進程向系統提出I/O請求時,設備分配程序按請求時,設備分配程序按一定策略一定策略分配設備、控制器和通道,形成一條數分配設備、控制器和通道,形成一條數據傳輸通路,以供主機和設備間信息交換據傳輸通路,以供主機和設備間信息交換q為實現設備分配,系統中應設置相應的數據結構,為實現設備分配,系統
20、中應設置相應的數據結構,對每臺設備、通道、控制器的情況進行登記對每臺設備、通道、控制器的情況進行登記Operating SystemOperating SystemPage 272022-7-35.4 設設 備備 分分 配配 5.4.1 設備分配中的數據結構設備分配中的數據結構 設備控制表設備控制表DCT控制器控制表控制器控制表COCT通道控制表通道控制表CHCT系統設備表系統設備表SDT Operating SystemOperating SystemPage 282022-7-3q設備控制表設備控制表DCT設備類型設備類型 type設備標識符:設備標識符:deviceid設備狀態:等待設備
21、狀態:等待/ /不等待不等待 忙忙/ /閑閑指向控制器表指向控制器表COCTCOCT的指針的指針重復執行次數或時間重復執行次數或時間設備隊列的隊首指針設備隊列的隊首指針DCT 1DCT 2DCT n設設備備控控制制表表集集合合每個設備一張,記錄本設備的情況每個設備一張,記錄本設備的情況正使用,則忙標志正使用,則忙標志置置1;若與其相連的;若與其相連的控制器或通道忙,控制器或通道忙,則等待標志置則等待標志置1請求本設備未滿請求本設備未滿足的進程足的進程PCB隊隊列列Operating SystemOperating SystemPage 292022-7-3q控制器控制表、控制器控制表、 通道控
22、制表通道控制表控制器標識符:控制器標識符:controllerid控制器狀態:忙控制器狀態:忙/ /閑閑與控制器連接的通道表指針與控制器連接的通道表指針控制器隊列的隊首指針控制器隊列的隊首指針控制器隊列的隊尾指針控制器隊列的隊尾指針通道標識符:通道標識符:channelid通道狀態:忙通道狀態:忙/ /閑閑與通道連接的控制器表首址與通道連接的控制器表首址通道隊列的隊首指針通道隊列的隊首指針通道隊列的隊尾指針通道隊列的隊尾指針(a) 控制器表控制器表COCT(b) 通道表通道表CHCT一個控制器一張一個控制器一張一個通道一張一個通道一張Operating SystemOperating Syst
23、emPage 302022-7-3q系統設備表系統設備表SDT 系統系統設備表設備表SDT表目表目 1表目表目 i設備類設備類設備標識符設備標識符DCT驅動程序入口驅動程序入口整個系統一張,記錄已被連接到系統中的所有物理設備的情況整個系統一張,記錄已被連接到系統中的所有物理設備的情況Operating SystemOperating SystemPage 312022-7-3q設備分配中的數據結構設備分配中的數據結構q設備分配時應考慮的因素設備分配時應考慮的因素q設備獨立性設備獨立性q獨占設備的分配程序獨占設備的分配程序qSPOOLing技術技術Operating SystemOperatin
24、g SystemPage 322022-7-35.4.2 設備分配時應考慮的因素設備分配時應考慮的因素 為了使系統有條不紊地工作,系統在進行設備分配時,應考慮這樣幾個因素:(1)設備的固有屬性;(2)設備分配算法;(3)設備分配的安全性;(4)設備獨立性。Operating SystemOperating SystemPage 332022-7-3q設備的固有屬性設備的固有屬性v獨占性獨占性一段時間內,只允許一個進程獨占,大多數低度速一段時間內,只允許一個進程獨占,大多數低度速/ /設備都屬于獨享設備設備都屬于獨享設備v共享性共享性允許多個進程同時共享,如磁盤、磁鼓之類的外存允許多個進程同時共
25、享,如磁盤、磁鼓之類的外存儲器,既具有很能大的存儲容量,其定位操作的時儲器,既具有很能大的存儲容量,其定位操作的時間又短間又短v可虛擬性可虛擬性獨占設備經某種技術處理,改造成虛擬設備,把一獨占設備經某種技術處理,改造成虛擬設備,把一臺輸入機虛擬為幾臺臺輸入機虛擬為幾臺“虛擬虛擬”的輸入機。例如:為的輸入機。例如:為了提高設備利用率引入了脫機輸入輸出或采用了提高設備利用率引入了脫機輸入輸出或采用SPOOLing技術,變一臺為技術,變一臺為“多臺設備多臺設備”缺點:設備得缺點:設備得不到充分利用,不到充分利用,可能產生死鎖可能產生死鎖Operating SystemOperating System
26、Page 342022-7-3q設備分配設備分配v獨占設備獨占設備防止死鎖防止死鎖v共享設備共享設備由于同時有多個進程同時訪問,且訪問頻繁,就會由于同時有多個進程同時訪問,且訪問頻繁,就會影響整個設備使用效率,影響系統效率。因此要考影響整個設備使用效率,影響系統效率。因此要考慮多個訪問請求到達時服務的順序,使平均服務時慮多個訪問請求到達時服務的順序,使平均服務時間越短越好。間越短越好。注意各進程的訪問次序進行合理調度注意各進程的訪問次序進行合理調度v虛擬設備虛擬設備Operating SystemOperating SystemPage 352022-7-3q設備分配算法設備分配算法v先來先服
27、務先來先服務v優先級高者優先優先級高者優先q設備分配中的安全性設備分配中的安全性v安全分配方式安全分配方式每當進程發出每當進程發出I/O請求后,便進入阻塞狀態,請求后,便進入阻塞狀態,I/O操作完成后喚醒操作完成后喚醒優點:摒棄了優點:摒棄了 “請求和保持請求和保持”條件,不會產生死鎖條件,不會產生死鎖v不安全分配方式不安全分配方式 進程發出進程發出I/O請求后仍繼續運行,繼續申請請求后仍繼續運行,繼續申請I/O設設備備優點:可操作多個設備,推進迅速優點:可操作多個設備,推進迅速缺點:推進缺點:推進速度緩慢速度緩慢缺點:可能缺點:可能產生死鎖產生死鎖Operating SystemOperat
28、ing SystemPage 362022-7-3q緩和緩和CPU與與I/O設備間速度不匹配的矛盾設備間速度不匹配的矛盾v數據到達速率與其離去速率不同數據到達速率與其離去速率不同q減少對減少對CPU的中斷頻率,放寬對的中斷頻率,放寬對CPU中斷響應時中斷響應時間的限制間的限制q提高提高CPU和和I/O設備之間的并行性設備之間的并行性v提高系統的吞吐量和設備的利用率提高系統的吞吐量和設備的利用率Operating SystemOperating SystemPage 372022-7-3q無緩沖時問題分析:無緩沖時問題分析:設備直接向進程地址設備直接向進程地址空間傳送數據空間傳送數據(如用戶從磁
29、帶中讀數據塊的如用戶從磁帶中讀數據塊的操作),則進程要么忙等待,要么阻塞。操作),則進程要么忙等待,要么阻塞。v如果用如果用忙等待方式忙等待方式,則浪費大量,則浪費大量CPU時間;時間;v如果是如果是阻塞方式阻塞方式,則進程阻塞在設備的,則進程阻塞在設備的I/O請求隊列中。這時,請求隊列中。這時,不能將進程全部換出,不能將進程全部換出,還可能出現還可能出現單進程死鎖單進程死鎖。v進程在等待進程在等待I/O操作結果之前被換出,等待操作結果之前被換出,等待I/O事件,而事件,而I/O操作也被阻塞,等待該進程操作也被阻塞,等待該進程被換入。被換入。Operating SystemOperating
30、SystemPage 382022-7-3q設備分配中的數據結構設備分配中的數據結構q設備分配時應考慮的因素設備分配時應考慮的因素q設備獨立性設備獨立性q獨占設備的分配程序獨占設備的分配程序qSPOOLing技術技術Operating SystemOperating SystemPage 392022-7-3q設備獨立性設備獨立性(Device Independence)的概念的概念v為了提高為了提高OS的可適應性和可擴展性,在現代的可適應性和可擴展性,在現代OS中都中都毫無例外地實現了設備獨立性,也稱為設備無關性毫無例外地實現了設備獨立性,也稱為設備無關性v定義:是指用戶在編制程序時所使用的
31、設備與實際定義:是指用戶在編制程序時所使用的設備與實際使用的設備無關。即使用的設備無關。即 應用程序獨立于具體使用的物應用程序獨立于具體使用的物理設備理設備v為了實現設備獨立性而引入了為了實現設備獨立性而引入了邏輯設備邏輯設備和和物理設備物理設備這兩個概念這兩個概念v在應用程序中,在應用程序中, 使用使用邏輯設備邏輯設備名稱來請求使用某類名稱來請求使用某類設備;而系統在實際執行時,設備;而系統在實際執行時, 還必須使用還必須使用物理設備物理設備名稱名稱v系統須具有將邏輯設備名稱轉換為某物理設備名稱系統須具有將邏輯設備名稱轉換為某物理設備名稱的功能,這非常類似于存儲器管理中所介紹的的功能,這非常
32、類似于存儲器管理中所介紹的邏輯邏輯地址地址和和物理地址物理地址的概念的概念Operating SystemOperating SystemPage 402022-7-3q設備獨立性的優點設備獨立性的優點v設備分配時的靈活性設備分配時的靈活性系統可將該邏輯設備類中的任一臺分配給進系統可將該邏輯設備類中的任一臺分配給進程使用程使用所有設備均占用時才阻塞所有設備均占用時才阻塞v易于實現易于實現I/O重定向重定向所謂所謂I/O重定向,指用于重定向,指用于I/O操作的設備可操作的設備可以更換,而不必改變應用程序以更換,而不必改變應用程序如調試程序時輸出到屏幕,而實際應用時改如調試程序時輸出到屏幕,而實際
33、應用時改為輸出到打印機為輸出到打印機Operating SystemOperating SystemPage 412022-7-3q設備獨立性軟件設備獨立性軟件v設備驅動程序是一個與硬件(或設備)緊密相關的軟設備驅動程序是一個與硬件(或設備)緊密相關的軟件。件。v設備驅動程序一方面可以定制以適合各種設備,另一設備驅動程序一方面可以定制以適合各種設備,另一方面也提供了一組標準接口。方面也提供了一組標準接口。v設備驅動程序的作用是為內核設備驅動程序的作用是為內核I/O子系統隱藏設備控子系統隱藏設備控制器之間的差異制器之間的差異v為了實現設備獨立性,必須在設備驅動程序上設置一為了實現設備獨立性,必須
34、在設備驅動程序上設置一層軟件,稱為設備獨立性軟件層軟件,稱為設備獨立性軟件Operating SystemOperating SystemPage 422022-7-32. 設備獨立性軟件設備獨立性軟件 為了實現設備獨立性,必須再將驅動程序之上設備一層軟件,稱為設備獨立性軟件,其主要功能可分為以下兩個方面: (1)執行所有設備的公有操作 (2)向用戶層(或文件層)軟件提供統一接口。Operating SystemOperating SystemPage 432022-7-32. 設備獨立性軟件設備獨立性軟件 1) 執行所有設備的公有操作 對獨立設備的分配與回收分配與回收; 將邏輯設備名映射設備
35、名映射為物理設備名,進一步可以找到相應物理設備的驅動程序; 對設備進行保護設備進行保護,禁止用戶直接訪問設備; 緩沖管理緩沖管理,即對字符設備和塊設備的緩沖區進行有效的管理,以提高I/O的效率; 差錯控制差錯控制。由于在I/O操作中的絕大多數錯誤都與設備無關,故主要由設備驅動程序處理,而設備獨立性軟件只處理那些設備驅動程序無法處理的錯誤。Operating SystemOperating SystemPage 442022-7-3 2) 向用戶層(或文件層)軟件提供統一接口 無論何種設備, 它們向用戶所提供的接口應該是相同的。 例如, 對各種設備的讀操作,在應用程序中都使用read;而對各種設
36、備的寫操作,也都使用write。 Operating SystemOperating SystemPage 452022-7-3q 邏輯設備名到物理設備名映射的實現邏輯設備名到物理設備名映射的實現 v邏輯設備表(邏輯設備表(Lgical Unit Table)用于實現將應用程序中的邏輯設備名映射為物理設用于實現將應用程序中的邏輯設備名映射為物理設備名備名邏輯設備名邏輯設備名物理設備名物理設備名驅動程序驅動程序入口地址入口地址/dev/tty/dev/printer3510242046邏輯設備名邏輯設備名/dev/tty/dev/printer系統設備表指針系統設備表指針35(a)(b) LUT
37、的設置可采取兩種方式: 整個系統設置一張整個系統設置一張LUT。不允許在LUT中具有相同的邏輯設備名,這就是要求所有用戶不使用相同的邏輯設備名。 為每個用戶設置一張為每個用戶設置一張LUT。用戶建立一個進程,同時也為之建立一張LUT。Operating SystemOperating SystemPage 462022-7-3q設備分配中的數據結構設備分配中的數據結構q設備分配時應考慮的因素設備分配時應考慮的因素q設備獨立性設備獨立性q獨占設備的分配程序獨占設備的分配程序qSPOOLing技術技術Operating SystemOperating SystemPage 472022-7-3q基
38、本的設備分配程序基本的設備分配程序v分配設備分配設備v分配控制器分配控制器v分配通道分配通道Operating SystemOperating SystemPage 482022-7-3設備設備1設備設備2設備設備3設備設備4設備設備5設備設備6設備設備7控制器控制器1控制器控制器2控制器控制器3控制器控制器4通道通道1通道通道2存儲器存儲器分配設備分配設備1分配控制器分配控制器1分配通道分配通道1申請設備申請設備1按設備物理名查按設備物理名查SDT設備忙?設備忙?根據安全策略進行分配根據安全策略進行分配由由DCT查查COCT分配控制器分配控制器由由COCT查查CHCT分配通道分配通道否是由由
39、SDT查設備查設備 DCTOperating SystemOperating SystemPage 502022-7-3q設備分配程序的改進設備分配程序的改進v基本分配程序的問題基本分配程序的問題進程以物理設備名提出進程以物理設備名提出I/O請求請求采用單通路采用單通路I/O系統結構,容易產生瓶頸系統結構,容易產生瓶頸v改進方案改進方案增加設備獨立性增加設備獨立性 考慮多通路情況考慮多通路情況為進程為進程P P分配所需的分配所需的I/OI/O設備設備從從SDTSDT表查該類設備的控制表表查該類設備的控制表DCTDCT不忙不忙不安全不安全分配此設備給進程分配此設備給進程P P不忙不忙不忙不忙分配
40、此控制器給進程分配此控制器給進程P P分配此通道給進程分配此通道給進程P P啟動啟動I/O,I/O,進行進行具體的具體的I/OI/O操作操作忙忙進程進程P P的的PCBPCB放入放入此設備的等待隊列此設備的等待隊列YN忙忙進程進程 P P 的的 PCB PCB 放入放入此控制器的等待隊列此控制器的等待隊列YNY忙忙Y進程進程P P的的PCBPCB放入此放入此通道的等待隊列通道的等待隊列NYNN多通多通路設路設備分備分配流配流程示程示意圖意圖由由DCTDCT檢查該設備忙否檢查該設備忙否? ?檢查分配此設備的安全性檢查分配此設備的安全性? ?最后一個最后一個DCT?DCT?最后一個最后一個COCT
41、?COCT?最后一個最后一個DCT?DCT?此設備連接的此設備連接的COCTCOCT忙否忙否? ?此控制器連接的此控制器連接的CHCTCHCT忙否忙否? ?最后一個最后一個COCT?COCT?最后一個最后一個CHCT?CHCT?Operating SystemOperating SystemPage 522022-7-3q設備分配中的數據結構設備分配中的數據結構q設備分配時應考慮的因素設備分配時應考慮的因素q設備獨立性設備獨立性q獨占設備的分配程序獨占設備的分配程序qSPOOLing技術技術Operating SystemOperating SystemPage 532022-7-3硬件不斷發
42、展,硬件不斷發展,CPU速度的提高、系統規模擴大,人機速度的提高、系統規模擴大,人機矛盾嚴重,如何解決?矛盾嚴重,如何解決?輸入設備外圍機磁盤主機外圍機輸出設備磁帶磁帶磁帶磁帶Operating SystemOperating SystemPage 542022-7-3q什么是什么是SPOOLing技術技術v為了緩和為了緩和CPU的高速性與的高速性與I/O設備低速性間的設備低速性間的矛盾而引入了矛盾而引入了脫機輸入脫機輸入、 脫機輸出脫機輸出技術技術v在多道程序環境下,其中的一道程序模擬脫在多道程序環境下,其中的一道程序模擬脫機輸入時的外圍控制機功能機輸入時的外圍控制機功能v在主機的直接控制下
43、,實現脫機輸入、在主機的直接控制下,實現脫機輸入、 輸出輸出功能,此時的外圍操作與功能,此時的外圍操作與CPU對數據的處理對數據的處理同時進行同時進行v把這種在聯機情況下實現的同時外圍操作稱把這種在聯機情況下實現的同時外圍操作稱為為SPOOLing(Simultaneaus Periphernal Operating On-Line),或稱為,或稱為假脫機操作假脫機操作Operating SystemOperating SystemPage 552022-7-3qSPOOLing系統的組成系統的組成v輸入井和輸出井輸入井和輸出井在磁盤上的兩個存儲空間在磁盤上的兩個存儲空間輸入井模擬脫機輸入,暫
44、存輸入數據輸入井模擬脫機輸入,暫存輸入數據輸出井模擬脫機輸出,暫存輸出數據輸出井模擬脫機輸出,暫存輸出數據v輸入緩沖區和輸出緩沖區輸入緩沖區和輸出緩沖區用來緩和用來緩和CPU與磁盤之間的速度的矛盾與磁盤之間的速度的矛盾v輸入進程輸入進程SPi和輸出進程和輸出進程SPo模擬脫機模擬脫機I/O時的外圍控制機時的外圍控制機Operating SystemOperating SystemPage 562022-7-3輸入設備外圍機磁盤主機外圍機輸出設備磁帶磁帶磁帶磁帶Operating SystemOperating SystemPage 572022-7-3輸輸入入進進程程 SPi輸輸入入進進程程
45、SPo輸輸入入緩緩沖沖區區 Bi輸輸出出緩緩沖沖區區 Bo輸輸入入井井輸輸出出井井磁磁盤盤輸輸入入設設備備輸輸出出設設備備Operating SystemOperating SystemPage 582022-7-3q共享打印機共享打印機v打印機為打印機為獨占獨占設備,利用設備,利用SPOOLing技術,技術,可將之改造為可將之改造為共享共享設備設備v用戶請求打印時,用戶請求打印時,SPOOLing系統處理如下系統處理如下由輸出進程在輸出井中為之申請一個空閑由輸出進程在輸出井中為之申請一個空閑磁盤塊區,磁盤塊區, 并將要打印的數據送入其中并將要打印的數據送入其中輸出進程再為用戶進程申請一張空白
46、的用輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入戶請求打印表,并將用戶的打印要求填入其中,其中, 再將該表掛到請求打印隊列上再將該表掛到請求打印隊列上Operating SystemOperating SystemPage 592022-7-3qSPOOLing系統特點系統特點v提高了提高了I/O的速度的速度v將獨占設備改造為共享設備將獨占設備改造為共享設備v實現了虛擬設備功能實現了虛擬設備功能Operating SystemOperating SystemPage 602022-7-3SPOOLing技術今天仍被廣泛使用技術今天仍被廣泛使用q網絡文件傳送網絡文件傳
47、送 先把文件送到網絡先把文件送到網絡SPOOLing目錄,然后網絡值目錄,然后網絡值班進程把它取出并傳遞到目標地址班進程把它取出并傳遞到目標地址qInternet電子郵件系統電子郵件系統 為了寄郵,調用電子郵件程序為了寄郵,調用電子郵件程序 待發信存在待發信存在SPOOLing中供以后傳輸中供以后傳輸q注意:注意:SPOOLing只提高設備利用率,縮短用戶只提高設備利用率,縮短用戶程序執行時間,并不提高程序執行時間,并不提高CPU利用率利用率Operating SystemOperating SystemPage 612022-7-3qI/O系統系統 qI/O控制方式控制方式 q緩沖管理緩沖管
48、理 q設備分配設備分配q設備處理設備處理q磁盤存儲器管理磁盤存儲器管理Operating SystemOperating SystemPage 622022-7-3q中斷處理程序的處理過程中斷處理程序的處理過程q設備驅動程序的功能和特點設備驅動程序的功能和特點q設備驅動程序的處理過程設備驅動程序的處理過程q獨立于設備的服務軟件獨立于設備的服務軟件Operating SystemOperating SystemPage 632022-7-3系統層次結構系統層次結構接收上層軟件發來接收上層軟件發來的抽象要求的抽象要求read/write,轉,轉換成具體的要求,換成具體的要求,發給設備控制器發給設備
49、控制器將由設備控制將由設備控制器發來的信號器發來的信號送給上層軟件送給上層軟件Operating SystemOperating SystemPage 642022-7-3q中斷處理程序中斷處理程序v系統為每類設備設置一個中斷處理程系統為每類設備設置一個中斷處理程序,它們的序,它們的入口地址入口地址被存放在內存的固定單被存放在內存的固定單元中,元中, 稱為稱為中斷向量中斷向量。v 當某臺設備完成一次操作時,發出中當某臺設備完成一次操作時,發出中斷信號,接受中斷信號,暫停現行進斷信號,接受中斷信號,暫停現行進程的執行,根據中斷向量轉到相應的程的執行,根據中斷向量轉到相應的中斷處理程序執行。中斷處
50、理程序執行。v中斷處理程序的中斷處理程序的基本工作基本工作包括:保留包括:保留現行進程的執行現場;通知等待該操現行進程的執行現場;通知等待該操作完成的進程;最終轉入進程調度程序進行作完成的進程;最終轉入進程調度程序進行重新調度。重新調度。Operating SystemOperating SystemPage 652022-7-3PSW程序狀態字程序狀態字PC(N1)程序計數器程序計數器R0Rn寄存器寄存器開始開始返回返回用戶程序用戶程序中斷服務子例程中斷服務子例程PSWPC(N1)中斷棧中斷棧TTM棧指針棧指針YNN1R0RnOperating SystemOperating SystemP
51、age 662022-7-3喚醒被阻塞的喚醒被阻塞的驅動程序進程驅動程序進程對被中斷進程的對被中斷進程的CPU環境進行保護環境進行保護分析中斷原因,轉入分析中斷原因,轉入相應的中斷處理程序相應的中斷處理程序終端中斷終端中斷處理程序處理程序打印機中斷打印機中斷處理程序處理程序磁盤中斷磁盤中斷處理程序處理程序恢復被中斷進恢復被中斷進程的程的CPU現場現場返回被中斷的進返回被中斷的進程,繼續執行程,繼續執行中斷請求信號中斷請求信號I/O完成后,驅動程完成后,驅動程序必須檢查本次序必須檢查本次I/O操作中是否發生了錯操作中是否發生了錯誤,并向上層軟件報誤,并向上層軟件報告,最終向調用者報告,最終向調用
52、者報告本次告本次I/O的執行情的執行情況況Operating SystemOperating SystemPage 672022-7-3q中斷處理程序的處理過程中斷處理程序的處理過程q設備驅動程序的功能和特點設備驅動程序的功能和特點q設備驅動程序的處理過程設備驅動程序的處理過程q獨立于設備的服務軟件獨立于設備的服務軟件Operating SystemOperating SystemPage 682022-7-3系統層次結構系統層次結構Operating SystemOperating SystemPage 692022-7-3q設備處理程序設備處理程序又稱為又稱為設備驅動程序設備驅動程序,是,
53、是I/O進程進程與設備控制器之間的通信程序與設備控制器之間的通信程序q不論是哪種設備驅動程序,它的功能是相同的不論是哪種設備驅動程序,它的功能是相同的v接收接收用戶的用戶的I/O請求請求命令和參數命令和參數,并將命令中的抽,并將命令中的抽象要求象要求轉換轉換為具體要求(為具體要求(I/O請求塊),例如,將請求塊),例如,將磁盤塊號轉換為磁盤的盤面、磁盤塊號轉換為磁盤的盤面、 磁道號及扇區號磁道號及扇區號v檢查檢查用戶用戶I/O請求的請求的合法性合法性,了解,了解I/O設備的狀態,設備的狀態,傳遞有關參數,傳遞有關參數,設置設置設備的設備的工作方式工作方式v發出發出I/O命令并檢查設備狀態,空閑
54、則啟動命令并檢查設備狀態,空閑則啟動I/O完成完成指定的操作,忙碌則指定的操作,忙碌則將請求者的請求塊掛將請求者的請求塊掛到相應設到相應設備的備的I/O請求隊列請求隊列v及時及時響應響應由控制器或通道發來的由控制器或通道發來的中斷中斷請求并處理請求并處理v若計算機系統設置有通道,則驅動程序根據用戶的若計算機系統設置有通道,則驅動程序根據用戶的I/O請求,請求,自動地構成通道程序自動地構成通道程序Operating SystemOperating SystemPage 702022-7-3q注意注意v每類設備有一個每類設備有一個I/O請求隊列,在系統初始化時,請求隊列,在系統初始化時,將系統中所
55、有設備的將系統中所有設備的I/O請求隊列置為空請求隊列置為空v在系統初啟時,系統為每類設備創建一個進程在系統初啟時,系統為每類設備創建一個進程(其中的一種方式),執行程序就是該設備的設(其中的一種方式),執行程序就是該設備的設備驅動程序。由于系統初啟時,相應的備驅動程序。由于系統初啟時,相應的I/O請求請求隊列為空,則在該隊列上睡眠隊列為空,則在該隊列上睡眠v一旦有一旦有I/O請求塊掛入,喚醒該設備驅動進程。請求塊掛入,喚醒該設備驅動進程。它被調度到時,從隊列中取出一個它被調度到時,從隊列中取出一個I/O請求塊,請求塊,并按該塊的內容執行一次并按該塊的內容執行一次I/O操作,發出操作,發出I/
56、O完完成(或出錯)中斷信號。然后,檢查請求隊,若成(或出錯)中斷信號。然后,檢查請求隊,若為空,則進入睡眠狀態,否則,取下一個請求塊為空,則進入睡眠狀態,否則,取下一個請求塊Operating SystemOperating SystemPage 712022-7-3q在不同的系統,設備驅動程序的運行方式在不同的系統,設備驅動程序的運行方式v在在整個系統整個系統中設置中設置一個一個I/O進程進程,統一負責所,統一負責所有設備的驅動工作。專門用于執行系統中所有設備的驅動工作。專門用于執行系統中所有各類設備的有各類設備的I/O操作操作v為每為每一類設備一類設備設置設置一個進程一個進程,專門用于負責,專門用于負責該類設備的驅動工作(該類設備的驅動工作(I/O操作)操作) v為為每臺每臺設備建立設備建立一個一個設備驅動進程,它們分設備驅動進程,它們分別負責專門設備的驅動工作。同類設備的各別負責專門設備的驅動工作。同類設備的各驅動進程共享該類設備的設備驅動程序。驅動進程共享該類設備的設備驅動程序。v不設置專門的不設置專門的設備處理進程,而只為設備處理進程,而只為各類設各類設備設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CNFAGS 1-2021煤制合成氨、尿素行業清潔生產水平分級標準(大氣污染物)
- T/CNAEC 0203-2023液化天然氣接收站工程項目可行性研究報告編制指南
- T/CMA-RQ 119-2023燃氣表用電機控制閥
- T/CIQA 46-2022紅花種植與采集技術規范
- T/CIE 150-2022現場可編程門陣列(FPGA)芯片時序可靠性測試規范
- T/CIE 132-2022磁控濺射設備薄膜精度測試方法
- T/CIE 115-2021電子元器件失效機理、模式及影響分析(FMMEA)通用方法和程序
- T/CHTS 10118-2023雄安新區高速公路智慧服務區建設指南
- T/CHINABICYCLE 4-2021電助力自行車用傳感器
- T/CETA 004-2023舞臺機械薄型旋轉臺
- 智慧礦山行業洞察研究報告 2023
- 《體態與健康》課件
- 《國有企業采購操作規范》【2023修訂版】
- 熱水供水系統運營維護服務投標方案(技術標)
- 軸承安裝施工方案
- 職業生涯規劃與求職就業指導智慧樹知到課后章節答案2023年下中南大學
- 封頭下料尺寸表新
- 在線教育學習平臺的設計與實現
- 辯論賽PPT模板模板
- 五年級道德與法治下冊 (富起來到強起來)百年追夢 復興中華教學課件
- 中醫適宜技術操作規程及評分標準
評論
0/150
提交評論