




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、操作系統(tǒng)設(shè)備管理1 第五章 設(shè)備管理 在現(xiàn)代計算機(jī)系統(tǒng)中,為了實(shí)現(xiàn)與外界間的信息交往,更好地方便用戶使用計算機(jī),一般都配置了一系列各種類型的外圍設(shè)備,例如:鍵盤,打印機(jī),顯示器,磁帶機(jī),卡片機(jī),磁盤,磁鼓等。這些外圍設(shè)備,由于其構(gòu)造和物理特性各異,故在應(yīng)用方式上風(fēng)格各不相同,在管理方法上也有很大差別。操作系統(tǒng)設(shè)備管理1磁帶機(jī)硬盤光盤繪圖儀掃描儀鍵盤打印機(jī)操作系統(tǒng)設(shè)備管理1 為了有效地完成對各類外圍設(shè)備的管理,更好地提高外設(shè)資源的利用率,并在用戶面前提供一種方便、統(tǒng)一的接口界面,在操作系統(tǒng)的設(shè)備管理子系統(tǒng)中,承擔(dān)了各種設(shè)備的分配、管理及I/O操作控制任務(wù)。讓用戶使用的設(shè)備與系統(tǒng)中實(shí)際連接的物理設(shè)
2、備分離開,使用戶在不需要了解底層設(shè)備資源的狀況下,就可以采用邏輯設(shè)備名方便地使用外圍設(shè)備,而邏輯設(shè)備到物理設(shè)備的轉(zhuǎn)換工作則由系統(tǒng)自己完成。操作系統(tǒng)設(shè)備管理1引言設(shè)備類型 在計算機(jī)系統(tǒng)中,除了作為操作處理時使用的CPU以及存儲信息時用的存儲器之外,還有一類比較重要的硬件資源I/O設(shè)備。I/O設(shè)備是計算機(jī)與外界進(jìn)行信息交換的裝置,因此,在各種類型的計算機(jī)中都配置有一定數(shù)量的I/O設(shè)備,這些設(shè)備可以從不同的角度進(jìn)行分類。操作系統(tǒng)設(shè)備管理1常見I/O設(shè)備分類I/O類外設(shè):顯示器、鍵盤、打印機(jī)、掃 描儀、 傳感器、控制桿、鼠標(biāo)存儲類型的設(shè)備:磁盤設(shè)備、磁帶設(shè)備、光盤等網(wǎng)絡(luò)通信設(shè)備:網(wǎng)絡(luò)接口、調(diào)制解調(diào)器等
3、操作系統(tǒng)設(shè)備管理1存儲設(shè)備輸入輸出設(shè)備終端設(shè)備脫機(jī)設(shè)備外部設(shè)備圖1 按使用特性對外部設(shè)備的分類操作系統(tǒng)設(shè)備管理1常見的分類有下列幾種:1.以設(shè)備的隸屬關(guān)系劃分:1)系統(tǒng)設(shè)備(System Device):這類設(shè)備屬于計算機(jī)中最基本的標(biāo)準(zhǔn)配置設(shè)備,常常在操作系統(tǒng)啟動時自動完成設(shè)備的登錄。如打印機(jī)、鍵盤、顯示器和磁盤驅(qū)動器等都屬于這種類型的設(shè)備。2)用戶設(shè)備(User Device):這類設(shè)備屬于非標(biāo)準(zhǔn)配置,可由用戶根據(jù)實(shí)際需要連入系統(tǒng),在使用之前通過運(yùn)行對應(yīng)的驅(qū)動程序進(jìn)行安裝、登錄。如繪圖儀、掃描儀等。操作系統(tǒng)設(shè)備管理12 2按信息組織方式劃分:按信息組織方式劃分:1 1)字塊設(shè)備)字塊設(shè)備(B
4、lock DeviceBlock Device):這種設(shè)備也):這種設(shè)備也稱為存儲型設(shè)備,在其上信息的組織、安排,稱為存儲型設(shè)備,在其上信息的組織、安排,都以塊為單位進(jìn)行,在進(jìn)行存取訪問時,也是都以塊為單位進(jìn)行,在進(jìn)行存取訪問時,也是以塊進(jìn)行計量的。常見的有磁盤驅(qū)動器、磁帶以塊進(jìn)行計量的。常見的有磁盤驅(qū)動器、磁帶機(jī)、磁鼓等。機(jī)、磁鼓等。2 2)字符設(shè)備)字符設(shè)備(Character DeviceCharacter Device):字符設(shè)):字符設(shè)備上的信息,是以字符為單位來組織安排的備上的信息,是以字符為單位來組織安排的, ,這類設(shè)備也稱為輸入這類設(shè)備也稱為輸入/ /輸出型設(shè)備輸出型設(shè)備. .
5、在信息存取在信息存取調(diào)用時調(diào)用時, ,都是以字符為單位來訪問的。如鍵盤、都是以字符為單位來訪問的。如鍵盤、紙帶輸入機(jī)、磁卡機(jī)等紙帶輸入機(jī)、磁卡機(jī)等 屬于該類型設(shè)備。屬于該類型設(shè)備。操作系統(tǒng)設(shè)備管理13.從資源分配角度進(jìn)行劃分1)1)獨(dú)占設(shè)備獨(dú)占設(shè)備(Independence Device):一次只允許分給一個用戶作業(yè)使用的設(shè)備。設(shè)備一旦被分出去后,在作業(yè)的整個執(zhí)行期間都被單獨(dú)占用,別的作業(yè)不能與之共用,必須等占用釋放后才可再用。這類設(shè)備如果分配不當(dāng),可能會造成死鎖。多數(shù)是一些慢速設(shè)備,如磁卡機(jī)、打印機(jī)、A/D、D/A轉(zhuǎn)換器等。操作系統(tǒng)設(shè)備管理12)2)共享設(shè)備共享設(shè)備(Share Device
6、):一次可以允許多個作業(yè)同時進(jìn)行訪問的設(shè)備。各作業(yè)在執(zhí)行期間內(nèi),可以交替分時地對共享設(shè)備進(jìn)行占用。常見的有磁盤、磁鼓等。3)3)虛擬設(shè)備虛擬設(shè)備(Virtual Device):嚴(yán)格來講,虛擬設(shè)備是一種設(shè)備管理的技術(shù)。采用該技術(shù)可以使慢速獨(dú)占設(shè)備的使用方式變?yōu)楣蚕碓O(shè)備的使用方式,以利于獨(dú)占設(shè)備使用效率的提高。在現(xiàn)代計算機(jī)系統(tǒng)中,主要采用了SPOOLING系統(tǒng)來實(shí)現(xiàn)以完成此功能。操作系統(tǒng)設(shè)備管理14按傳輸速率分類:1 1 低速設(shè)備低速設(shè)備:它是指傳輸速率為每秒鐘幾個字節(jié)至數(shù)百個字節(jié)的一類設(shè)備。屬于低速率的典型設(shè)備有鍵盤、鼠標(biāo)器、語音的輸入和輸出設(shè)備;2 2 中速設(shè)備中速設(shè)備:它指傳輸速率在每秒鐘
7、數(shù)千個字節(jié)至數(shù)十千個字節(jié)的一類設(shè)備。屬于中速率的典型設(shè)備有行式打印機(jī)、激光打印機(jī)等;3 3 高速設(shè)備高速設(shè)備:它指傳輸速率在每秒鐘數(shù)百千個字節(jié)至數(shù)兆個字節(jié)的一類設(shè)備。屬于高速率的典型設(shè)備有:磁帶機(jī)、磁盤機(jī)、光盤機(jī)等。操作系統(tǒng)設(shè)備管理1設(shè)備管理的主要功能設(shè)備管理的主要功能 設(shè)備管理屬于操作系統(tǒng)中最煩瑣、最具復(fù)設(shè)備管理屬于操作系統(tǒng)中最煩瑣、最具復(fù)雜性的部分。為了有效的提高系統(tǒng)中設(shè)備的效雜性的部分。為了有效的提高系統(tǒng)中設(shè)備的效率,在設(shè)備管理中應(yīng)追求如下的目標(biāo):率,在設(shè)備管理中應(yīng)追求如下的目標(biāo): (1)(1)建立方便、一致的用戶界面建立方便、一致的用戶界面 (2)(2)盡量使盡量使CPUCPU與外圍設(shè)
8、備、外設(shè)與外設(shè)之與外圍設(shè)備、外設(shè)與外設(shè)之間的并行處理能力提高間的并行處理能力提高 (3)(3)充分發(fā)揮充分發(fā)揮 I/OI/O設(shè)備的效率設(shè)備的效率操作系統(tǒng)設(shè)備管理1 為實(shí)現(xiàn)目標(biāo)要求,作為設(shè)備管理子系統(tǒng),應(yīng)具備以下功能: 1)完成設(shè)備的分配和回收。 2)實(shí)現(xiàn)緩沖區(qū)的管理。 3)控制I/O設(shè)備的啟動。 4)進(jìn)行I/O事件的中斷處理。 5)管理共享設(shè)備的驅(qū)動調(diào)度。 6)提供虛擬設(shè)備。操作系統(tǒng)設(shè)備管理1I/O設(shè)備通常包含:一個機(jī)械部件和一個電子部件電子部分稱為I/O部件或設(shè)備控制器,在個人計算機(jī)中它常常是一塊可以插入主板擴(kuò)展槽的印刷電路板。大多數(shù)小型和微型機(jī)的CPU /內(nèi)存和設(shè)備控制器之間的通路采用多總
9、線模型處理機(jī)處理機(jī)主存主存顯卡總線控制器外設(shè)控制器SCSI控制器控制器控制器磁盤磁盤磁盤PCI外設(shè)總線主板總線操作系統(tǒng)設(shè)備管理1設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序接口函數(shù)一般包含下列子程序:1、驅(qū)動程序初始化函數(shù)2、驅(qū)動程序卸載函數(shù)3、申請設(shè)備函數(shù)4、釋放設(shè)備函數(shù)5、I/O操作函數(shù)6、中斷處理函數(shù)設(shè)備驅(qū)動程序通常都是在核心狀態(tài)下運(yùn)行的,但是驅(qū)動程序代碼常位于核心之外。操作系統(tǒng)設(shè)備管理1顯示器的類型 字符顯示器 圖形顯示器 矢量顯示器 位映象顯示器CRT(陰極射線管顯示器Cathode Ray Tube)發(fā)光二極管顯示器(LDD)液晶顯示器(LCD)等離子顯示器(PD)顯示驅(qū)動程序的功能: 將用戶程序送來
10、的輸出數(shù)據(jù)轉(zhuǎn)換寫入視頻緩存。 ASCII (GB) 字型數(shù)組 (存儲編碼) (字庫中)操作系統(tǒng)設(shè)備管理1 漢字交換碼是指不同的具有漢字處理功能的計算機(jī)系統(tǒng)之間在交換漢字信息時所使用的代碼標(biāo)準(zhǔn)。自國家標(biāo)準(zhǔn)GB231280公布以來,我國一直延用該標(biāo)準(zhǔn)所規(guī)定的國標(biāo)碼作為統(tǒng)一的漢字信息交換碼。 GB231280標(biāo)準(zhǔn)包括了67636763個漢字個漢字,按其使用頻度分為一級漢字37553755個和二級漢字30083008個。一級漢字按拼音排序,二級漢字按部首排序。此外,該標(biāo)準(zhǔn)還包括標(biāo)點(diǎn)符號、數(shù)種西文字母、圖形、數(shù)碼等符號682個。 字形存儲碼 字形存儲碼是指供計算機(jī)輸出漢字(顯示或打印)用的二進(jìn)制信息,也
11、稱字模。通常,采用的是數(shù)字化點(diǎn)陣字模。一般的點(diǎn)陣規(guī)模有1616,2424,6464等,每一個點(diǎn)在存儲器中用一個二進(jìn)制位(bit)存儲。 為了節(jié)省存儲空間,普遍采用了字形數(shù)據(jù)壓縮技術(shù)。所謂的矢量漢字是指用矢量方法將漢字點(diǎn)陣字模進(jìn)行壓縮后得到的漢字字形的數(shù)字化信息。字模點(diǎn)陣只能用來構(gòu)成漢字庫,而不能用于機(jī)內(nèi)存儲。字庫中存儲了每個漢字的點(diǎn)陣代碼。當(dāng)顯示輸出或打印輸出時才檢索字庫,輸出字模點(diǎn)陣,得到字形。 操作系統(tǒng)設(shè)備管理1CRTCRT顯示器的工作原理顯示器的工作原理由電子槍(Electron gun)、偏轉(zhuǎn)線圈(Deflection coils)、蔭罩(Shadow mask)、熒光粉層(phosp
12、hor)和玻璃外殼五部分組成。 燈絲加熱陰極,陰極發(fā)射電子,然后在加速極電場的作用下,經(jīng)聚焦集聚成很細(xì)的電子束,在陽極高壓作用下,獲得巨大的能量,以極高的速度去轟擊熒光粉層。這些電子束轟擊的目標(biāo)就是熒光屏上的三原色。為此,電子槍發(fā)射的電子束不是一束,而是三束,它們分別受電腦顯卡R、 G、 B三個基色視頻信號電壓的控制,去轟擊各自的熒光粉單元。 操作系統(tǒng)設(shè)備管理1 液晶是一種介于固體與液體之間,具有規(guī)則性分子排列的有機(jī)化合物,一般最常用的液晶型式為向列液晶,分子形狀為細(xì)長棒形,長寬約1nm10nm,在不同電流電場作用下,液晶分子會做規(guī)則旋轉(zhuǎn)90度排列,產(chǎn)生透光度的差別,如此在電源ON/OFF下產(chǎn)
13、生明暗的區(qū)別,依此原理控制每個像素,便可構(gòu)成所需圖像。 液晶顯示器需要強(qiáng)大的背光系統(tǒng)。背光模組的作用就是把線光源發(fā)出的光通過漫反射使之成為面光源在得到均勻的面光源之后,緊貼在背光模組上的液晶面板就負(fù)責(zé)對光線進(jìn)行調(diào)制以得到最終畫面.因?yàn)橐壕姘灞容^脆弱,所以需要加入幾層玻璃基板來增加強(qiáng)度并起到保護(hù)作用。 上下兩層相互垂直的偏振膜和被扭轉(zhuǎn)的液晶分子相配合使光線得以被顯示信號調(diào)制成不同強(qiáng)度的輸出信號,液晶上的RGB濾色片(Color Filter,CF)把可見光濾成三原色,進(jìn)而組成各種顏色來還原畫面。操作系統(tǒng)設(shè)備管理1鍵盤驅(qū)動程序的功能1、對鍵入的數(shù)據(jù)進(jìn)行加工處理2、將鍵入數(shù)據(jù)送至顯示器進(jìn)行回顯 打
14、印機(jī)針式打印機(jī)(點(diǎn)陣打印機(jī)):9針、24針、7針、8針 80列(A4)、132列(A3)噴墨打印機(jī) 水性噴墨打印機(jī) 油性噴墨打印機(jī)激光打印機(jī)硬字庫操作系統(tǒng)設(shè)備管理1常見的存儲外設(shè)1磁帶存儲設(shè)備一條寬1/2英寸,長約700米的磁帶,表面平行的涂有79條磁道源盤接受盤操作系統(tǒng)設(shè)備管理1硬盤當(dāng)容量不足時,通常最多可以接4臺硬盤盤片:5.25 3.5 2.5 1.8 0.9重要數(shù)據(jù)的存放位置 0面0道 1面0道磁頭復(fù)位時才接觸盤片邏輯扇區(qū) 物理扇區(qū)0 1面0道1扇區(qū)1 1面0道2扇區(qū). .62 1面0道63扇區(qū)63 2面0道1扇區(qū)64 2面0道2扇區(qū). . 128 3面0道1扇區(qū)操作系統(tǒng)設(shè)備管理1I/
15、O系統(tǒng)中數(shù)據(jù)的傳輸控制 在一個完整的I/O系統(tǒng)內(nèi),包含了I/O設(shè)備、設(shè)備控制器、通道及相關(guān)的管理軟件。由于計算機(jī)應(yīng)用領(lǐng)域的拓寬,使得信息的輸入輸出工作量加大,I/O操作在計算機(jī)中占有了重要的地位。好的I/O控制方式,不但有利于提高計算機(jī)中CPU與外圍設(shè)備的并行處理效率,而且還可以形成多種外設(shè)間的并行操作。特別是在多通道程序設(shè)計環(huán)境下,I/O操作控制能力已經(jīng)成為計算機(jī)系統(tǒng)綜合處理能力的重要構(gòu)成因素。操作系統(tǒng)設(shè)備管理1 一般選取衡量I/O控制方式的好壞時應(yīng)考慮如下因素: 1)信息傳輸效率盡量高,以形成大的吞吐量。 2)I/O系統(tǒng)資源利用率好,實(shí)現(xiàn)資源的均衡使用。 3)盡量減少CPU用于進(jìn)行I/O處
16、理的開銷,使CPU效率得以充分發(fā)揮。操作系統(tǒng)設(shè)備管理1 為此,按照I/O數(shù)據(jù)傳輸控制能力的強(qiáng)弱程度,以及CPU與外設(shè)并行處理程度的不同,將I/O系統(tǒng)中信息的傳輸控制方式分為四類:1)程序直接控制方式(CPU直接詢問方式)2)中斷方式3)DMA方式4)通道方式 這四種方式代表了計算機(jī)系統(tǒng)中I/O控制的四個不同的發(fā)展階段。每個階段的發(fā)展都受到計算機(jī)硬件組織結(jié)構(gòu)發(fā)展變遷的影響。操作系統(tǒng)設(shè)備管理1程序直接控制方式程序直接控制方式(CPU(CPU直接詢問方式直接詢問方式) ) 適用于簡單的、外設(shè)很少的計算機(jī)系統(tǒng),缺點(diǎn)耗適用于簡單的、外設(shè)很少的計算機(jī)系統(tǒng),缺點(diǎn)耗費(fèi)大量的費(fèi)大量的CPUCPU時間,且設(shè)備和時
17、間,且設(shè)備和CPUCPU、設(shè)備和設(shè)備之間只、設(shè)備和設(shè)備之間只能串行工作,現(xiàn)在已較少使用能串行工作,現(xiàn)在已較少使用。中斷方式中斷方式 引入了中斷機(jī)構(gòu),在某種程度上使引入了中斷機(jī)構(gòu),在某種程度上使CPUCPU擺脫了等擺脫了等待待I/OI/O設(shè)備空轉(zhuǎn)現(xiàn)象,主機(jī)和外設(shè)可并行工作,提高設(shè)備空轉(zhuǎn)現(xiàn)象,主機(jī)和外設(shè)可并行工作,提高了主機(jī)的利用率。缺點(diǎn)中斷次數(shù)多,每次中斷都要作了主機(jī)的利用率。缺點(diǎn)中斷次數(shù)多,每次中斷都要作現(xiàn)場保護(hù)和恢復(fù)工作,系統(tǒng)開銷大,占據(jù)現(xiàn)場保護(hù)和恢復(fù)工作,系統(tǒng)開銷大,占據(jù)CPUCPU時間仍時間仍然較多,且能并行操作的設(shè)備的臺數(shù)也受到中斷處理然較多,且能并行操作的設(shè)備的臺數(shù)也受到中斷處理時間
18、的限制。時間的限制。操作系統(tǒng)設(shè)備管理1DMADMA方式方式( (直接存取方式直接存取方式) ) 采用了外存與內(nèi)存直接交換數(shù)據(jù)的方式。只有在一采用了外存與內(nèi)存直接交換數(shù)據(jù)的方式。只有在一段數(shù)據(jù)傳送結(jié)束時,才發(fā)出中斷信號要求段數(shù)據(jù)傳送結(jié)束時,才發(fā)出中斷信號要求CPUCPU做善后處做善后處理,從而大大減少理,從而大大減少CPUCPU的負(fù)擔(dān)。的負(fù)擔(dān)。通道方式通道方式 采用了外設(shè)和內(nèi)存直接交換數(shù)據(jù)的方式。采用了外設(shè)和內(nèi)存直接交換數(shù)據(jù)的方式。DMADMA方式方式與通道方式的區(qū)別在于:與通道方式的區(qū)別在于:DMADMA方式要求方式要求CPUCPU執(zhí)行設(shè)備驅(qū)動執(zhí)行設(shè)備驅(qū)動程序啟動設(shè)備,給出存放數(shù)據(jù)的內(nèi)存起始地
19、址以及操作程序啟動設(shè)備,給出存放數(shù)據(jù)的內(nèi)存起始地址以及操作方式和傳送字節(jié)長度等;通道則是在方式和傳送字節(jié)長度等;通道則是在CPUCPU發(fā)出發(fā)出I/OI/O啟動命啟動命令后,由通道程序來完成這些工作。令后,由通道程序來完成這些工作。操作系統(tǒng)設(shè)備管理1 通道也稱為I/O處理機(jī),在通道機(jī)構(gòu)中含有通道指令,每一條通道命令規(guī)定了設(shè)備的一種操作,由通道指令可構(gòu)成指揮外設(shè)工作的通道程序。不同的計算機(jī)系統(tǒng)中,通道的命令格式和命令碼可能不同,所以通道程序的編制方式上也是不同的。操作系統(tǒng)設(shè)備管理1 在計算機(jī)中,按信息交換方式不同,通道可分為三類:1)字節(jié)多路通道:它連接控制的是大量的慢速設(shè)備,如終端、打印機(jī)、磁卡
20、機(jī)、紙帶機(jī)等。2)數(shù)組選擇通道:對于磁盤、磁鼓這樣的快速設(shè)備,用按成批方式傳送數(shù)據(jù)的選擇通道。選擇通道雖然可連接多臺高速設(shè)備,但一段時間內(nèi)只能為一臺設(shè)備服務(wù),只有一個輸入或輸出請求完成后釋放了通道,通道才可再轉(zhuǎn)向另一臺設(shè)備服務(wù)。其工作方式是獨(dú)占的,利用效率也不高。操作系統(tǒng)設(shè)備管理13)數(shù)組多路通道:這種通道是將前兩者的優(yōu)點(diǎn)抽取出來所設(shè)計的一種效率很高的通道。其信息量的交換按成批方式進(jìn)行,而通道的占用選用了分時交叉使用的辦法,從而在數(shù)據(jù)傳輸率及通道利用率兩方面都獲得了滿意的效果。它被認(rèn)為是多道程序設(shè)計技術(shù)思想在通道中的體現(xiàn),廣泛用于中、高速外設(shè)的連接中。 操作系統(tǒng)設(shè)備管理1設(shè)備管理中的兩種支撐技
21、術(shù)中斷技術(shù)中斷(中斷(Interrupt) :Interrupt) :指計算機(jī)在執(zhí)行期間,系統(tǒng)內(nèi)指計算機(jī)在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得CPUCPU暫存中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的暫存中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回原來被中斷處事件處理程序,待處理完畢后又返回原來被中斷處繼續(xù)執(zhí)行或調(diào)度新的進(jìn)程執(zhí)行過程。引起中斷發(fā)生繼續(xù)執(zhí)行或調(diào)度新的進(jìn)程執(zhí)行過程。引起中斷發(fā)生的事件稱為中斷源。中斷源向的事件稱為中斷源。中斷源向CPUCPU發(fā)出的請求中斷處發(fā)出的請求中斷處理信號稱為中斷請求,而
22、理信號稱為中斷請求,而CPUCPU收到中斷請求后轉(zhuǎn)相應(yīng)收到中斷請求后轉(zhuǎn)相應(yīng)的事件處理程序稱為中斷響應(yīng)。的事件處理程序稱為中斷響應(yīng)。操作系統(tǒng)設(shè)備管理1開中斷開中斷關(guān)中斷關(guān)中斷(開中斷、關(guān)中斷是為了保證某些程序執(zhí)行的原子(開中斷、關(guān)中斷是為了保證某些程序執(zhí)行的原子性。)性。)中斷屏蔽中斷屏蔽:是通過每一類中斷源設(shè)置一個中斷屏蔽是通過每一類中斷源設(shè)置一個中斷屏蔽觸發(fā)器來屏蔽它們的中斷請求而實(shí)現(xiàn)的。不過,觸發(fā)器來屏蔽它們的中斷請求而實(shí)現(xiàn)的。不過,有些中斷是不能屏蔽中斷的甚至不能禁止的。有些中斷是不能屏蔽中斷的甚至不能禁止的。操作系統(tǒng)設(shè)備管理1中斷的分類和優(yōu)先級中斷的分類和優(yōu)先級根據(jù)中斷產(chǎn)生的條件,可把
23、中斷分為外中斷和內(nèi)中斷。根據(jù)中斷產(chǎn)生的條件,可把中斷分為外中斷和內(nèi)中斷。外中斷外中斷是指來自處理機(jī)和內(nèi)存外部的中斷,在狹義上是指來自處理機(jī)和內(nèi)存外部的中斷,在狹義上外中斷一般被稱為中斷。外中斷一般被稱為中斷。內(nèi)中斷內(nèi)中斷主要指在處理機(jī)和內(nèi)主要指在處理機(jī)和內(nèi)存內(nèi)部產(chǎn)生的中斷,一般稱為陷阱存內(nèi)部產(chǎn)生的中斷,一般稱為陷阱traptrap。為了按中斷。為了按中斷源的輕重緩急處理響應(yīng)中斷,操作系統(tǒng)對不同的中斷源的輕重緩急處理響應(yīng)中斷,操作系統(tǒng)對不同的中斷賦予不同的優(yōu)先級。賦予不同的優(yōu)先級。操作系統(tǒng)設(shè)備管理1軟中斷軟中斷:來源于:來源于UNIXUNIX系統(tǒng),是通信進(jìn)程之間用來模擬系統(tǒng),是通信進(jìn)程之間用來模
24、擬硬中斷(中斷和陷阱都可以看成是硬中斷)的一種硬中斷(中斷和陷阱都可以看成是硬中斷)的一種信號通信方式。信號通信方式。中斷處理過程中斷處理過程:一旦:一旦CPUCPU響應(yīng)中斷,轉(zhuǎn)入中斷處理程響應(yīng)中斷,轉(zhuǎn)入中斷處理程序,系統(tǒng)就開始進(jìn)行中斷處理,過程為:序,系統(tǒng)就開始進(jìn)行中斷處理,過程為: 1 CPU 1 CPU檢查響應(yīng)中斷的條件是否滿足,如果條件不檢查響應(yīng)中斷的條件是否滿足,如果條件不滿足,則中斷處理無法進(jìn)行。滿足,則中斷處理無法進(jìn)行。 2 2 如果如果CPUCPU響應(yīng)中斷,則響應(yīng)中斷,則CPUCPU關(guān)中斷,使其進(jìn)入不可關(guān)中斷,使其進(jìn)入不可再次響應(yīng)中斷的狀態(tài)。再次響應(yīng)中斷的狀態(tài)。操作系統(tǒng)設(shè)備管理
25、13 3 保存被中斷進(jìn)程現(xiàn)場。保存被中斷進(jìn)程現(xiàn)場。4 4 分析中斷原因,調(diào)用中斷處理子程序。在多個中斷分析中斷原因,調(diào)用中斷處理子程序。在多個中斷請求同時發(fā)生時,處理優(yōu)先級最高的中斷源發(fā)出的請求同時發(fā)生時,處理優(yōu)先級最高的中斷源發(fā)出的中斷請求。中斷請求。5 5 執(zhí)行中斷處理子程序。執(zhí)行中斷處理子程序。6 6 退出中斷,恢復(fù)被中斷進(jìn)程的現(xiàn)場或調(diào)度新進(jìn)程占退出中斷,恢復(fù)被中斷進(jìn)程的現(xiàn)場或調(diào)度新進(jìn)程占據(jù)處理機(jī)。據(jù)處理機(jī)。7 7 開中斷,開中斷,CPUCPU繼續(xù)執(zhí)行。繼續(xù)執(zhí)行。操作系統(tǒng)設(shè)備管理1緩沖技術(shù)引入緩沖的原因引入緩沖的原因 在設(shè)備管理中,引入緩沖的原因可歸結(jié)為:在設(shè)備管理中,引入緩沖的原因可歸
26、結(jié)為:1 1 緩緩和和CPUCPU和和I/OI/O設(shè)備間速度不匹配的矛盾;設(shè)備間速度不匹配的矛盾;2 2 減少中斷減少中斷CPUCPU的次數(shù),放寬對中斷響應(yīng)的要求;的次數(shù),放寬對中斷響應(yīng)的要求;3 3提高提高CPUCPU、通、通道和道和I/OI/O設(shè)備間的并行性,設(shè)備間的并行性,從而使系統(tǒng)的資源利用率及吞吐量增高。緩沖的種類緩沖的種類 按組織方式分為單緩沖、雙緩沖、多緩沖及緩沖按組織方式分為單緩沖、雙緩沖、多緩沖及緩沖池。按使用方式可將緩沖區(qū)設(shè)置為:專用緩沖區(qū)和通池。按使用方式可將緩沖區(qū)設(shè)置為:專用緩沖區(qū)和通用緩沖區(qū)。用緩沖區(qū)。操作系統(tǒng)設(shè)備管理1緩沖技術(shù)的實(shí)現(xiàn)原理緩沖技術(shù)的實(shí)現(xiàn)原理 當(dāng)某個進(jìn)程
27、進(jìn)行數(shù)據(jù)輸出操作時,先將數(shù)據(jù)送入緩沖區(qū),當(dāng)緩沖區(qū)滿時再將緩沖區(qū)的內(nèi)容送到輸出設(shè)備上;反之,當(dāng)一個進(jìn)程完成輸入操作時,先將輸入設(shè)備上的數(shù)據(jù)送入緩沖區(qū),當(dāng)緩沖區(qū)滿時,再由CPU將數(shù)據(jù)取走。在緩沖管理中必須建立緩沖區(qū),緩沖區(qū)設(shè)定有兩種方式:可以采用專門的硬件方法來實(shí)現(xiàn),但會增加硬件成本,除了在關(guān)鍵的地方采用少量必要的硬件緩沖器外,在許多OS中都采用另一種稱為軟件緩沖的方式,即從主存空間中劃定出一個特殊的內(nèi)存區(qū)域作為緩沖區(qū)。操作系統(tǒng)設(shè)備管理1單緩沖單緩沖: :是在系統(tǒng)的CPU與外設(shè)之間只設(shè)立一個緩沖區(qū),輸入與輸出操作全部經(jīng)該緩沖區(qū)來完成。當(dāng)輸入設(shè)備占用緩沖區(qū)時,輸出設(shè)備必須處于等待狀態(tài);而當(dāng)輸出設(shè)備正
28、在緩沖區(qū)將數(shù)據(jù)取走時,輸入設(shè)備也必須等待,其工作方式是串行完成的。此時,緩沖區(qū)成了可共享的臨界資源,必須互斥占用,不可能實(shí)現(xiàn)并行工作。操作系統(tǒng)設(shè)備管理1單緩沖的結(jié)構(gòu)如圖單緩沖的結(jié)構(gòu)如圖單緩沖單緩沖CPU緩沖區(qū)輸入設(shè)備輸出設(shè)備操作系統(tǒng)設(shè)備管理1雙緩沖管理雙緩沖管理 為避免單緩沖造成的設(shè)備利用率不高的狀況,可引入雙緩沖技術(shù)。為輸入或輸出分配兩個緩沖區(qū),并讓兩個緩沖區(qū)交替工作,形成并行操作的方式。當(dāng)輸入或是輸出時,外設(shè)先占用一個緩沖區(qū),等當(dāng)該緩沖區(qū)滿后,再轉(zhuǎn)去占用另一個緩沖區(qū),同時第一個緩沖區(qū)中的數(shù)據(jù)可被取走,緩沖區(qū)可以釋放,當(dāng)另一個緩沖區(qū)滿后,設(shè)備又可轉(zhuǎn)過來占用被釋放的緩沖區(qū)。這樣交替占用的緩沖區(qū)
29、,可以使CPU與外設(shè)間的并行度進(jìn)一步提高。操作系統(tǒng)設(shè)備管理1x-2 雙緩沖操作系統(tǒng)設(shè)備管理1 雙緩沖技術(shù)提高了I/O設(shè)備的并行度,但由于在計算機(jī)系統(tǒng)中,CPU的速度總是比外設(shè)快得多,真正要實(shí)現(xiàn)CPU與外設(shè)的并行操作,雙緩沖技術(shù)還不能達(dá)到要求。由于計算機(jī)中配備有多種外圍設(shè)備,CPU與外設(shè)的速度匹配全部由雙緩沖來承擔(dān)是不實(shí)現(xiàn)的。為此,必須使用多緩沖或是緩沖池結(jié)構(gòu)來解決并行問題。操作系統(tǒng)設(shè)備管理1多緩沖及緩沖池管理多緩沖及緩沖池管理 多緩沖是把主存中的多個緩沖區(qū)組織成兩部分,多緩沖是把主存中的多個緩沖區(qū)組織成兩部分,一部分作為輸入緩沖區(qū),另一部分作為輸出緩沖區(qū)。一部分作為輸入緩沖區(qū),另一部分作為輸出
30、緩沖區(qū)。緩沖池則是將多個緩沖區(qū)連接成一個完整的區(qū)域,其緩沖池則是將多個緩沖區(qū)連接成一個完整的區(qū)域,其中每個區(qū)既可以作為輸入又可以作為輸出用。多緩沖中每個區(qū)既可以作為輸入又可以作為輸出用。多緩沖及緩沖池是系統(tǒng)中的共享資源,可供各進(jìn)程使用,由及緩沖池是系統(tǒng)中的共享資源,可供各進(jìn)程使用,由系統(tǒng)統(tǒng)一分配和管理,其使用必須互斥。系統(tǒng)統(tǒng)一分配和管理,其使用必須互斥。 操作系統(tǒng)設(shè)備管理1緩沖池緩沖池是若干緩沖區(qū)的集合,每一個緩沖區(qū)有兩部是若干緩沖區(qū)的集合,每一個緩沖區(qū)有兩部分:一部分是標(biāo)識緩沖器和用于管理緩沖首部,分:一部分是標(biāo)識緩沖器和用于管理緩沖首部,另一部分是保存信息的緩沖體。這兩部分有一一另一部分是
31、保存信息的緩沖體。這兩部分有一一對應(yīng)的映射關(guān)系。緩沖池中所有緩沖區(qū),按存儲對應(yīng)的映射關(guān)系。緩沖池中所有緩沖區(qū),按存儲信息的性質(zhì),可以分成空緩沖區(qū)、輸入緩沖區(qū)和信息的性質(zhì),可以分成空緩沖區(qū)、輸入緩沖區(qū)和輸出緩沖區(qū),分別組成三個隊列:空緩沖區(qū)隊列輸出緩沖區(qū),分別組成三個隊列:空緩沖區(qū)隊列列,輸入緩沖區(qū)隊列及輸出緩沖區(qū)隊列列,輸入緩沖區(qū)隊列及輸出緩沖區(qū)隊列 。對每個。對每個緩沖區(qū)隊列可以由緩沖區(qū)隊列可以由getbufgetbuf和和putbufputbuf過程實(shí)現(xiàn)從某過程實(shí)現(xiàn)從某種類型緩沖區(qū)隊列取出緩沖區(qū)和將緩沖區(qū)加入某種類型緩沖區(qū)隊列取出緩沖區(qū)和將緩沖區(qū)加入某種類型緩沖區(qū)隊列的操作。種類型緩沖區(qū)隊
32、列的操作。操作系統(tǒng)設(shè)備管理1I/O類外設(shè):顯示器、鍵盤、打印機(jī)、掃 描儀、傳感器、 控制桿、鼠標(biāo)等存儲類型的設(shè)備:磁盤設(shè)備、磁帶設(shè)備、光盤等網(wǎng)絡(luò)通信設(shè)備:網(wǎng)絡(luò)接口、調(diào)制解調(diào)器等總線結(jié)構(gòu)、驅(qū)動程序、顯示器、打印機(jī)、光驅(qū)按設(shè)備的隸屬關(guān)系:系統(tǒng)設(shè)備、用戶設(shè)備按信息組織方式:字符設(shè)備、字塊設(shè)備從資源分配角度:獨(dú)占設(shè)備、共享設(shè)備、虛擬設(shè)備按傳輸速率角度:低速設(shè)備、中速設(shè)備、高速設(shè)備操作系統(tǒng)設(shè)備管理11)程序直接控制方式(CPU直接詢問方式)2)中斷方式3)DMA方式4)通道方式中斷:中斷源、中斷請求、中斷響應(yīng)、中斷的處理過程緩沖:單緩沖、雙緩沖、多緩沖、緩沖池操作系統(tǒng)設(shè)備管理1I/O軟件1.I/O軟件的
33、設(shè)計目標(biāo): 提高主機(jī)和外設(shè)的并行工作能力,提高效率;為用戶提供一個簡便、易用的邏輯設(shè)備接口,保證用戶安全、方便地使用各類設(shè)備。 與設(shè)備無關(guān) 統(tǒng)一命名 對錯誤的處理 緩沖技術(shù) 設(shè)備的分配和釋放 I/O控制方式操作系統(tǒng)設(shè)備管理1用戶層軟件設(shè)備獨(dú)立性軟件設(shè)備驅(qū)動程序中斷處理程序硬件中斷處理程序I/O應(yīng)答產(chǎn)生I/O請求、格式化I/O、Spooling映射、保護(hù)、分塊、緩沖、分配設(shè)置寄存器、檢查寄存器狀態(tài)執(zhí)行I/O操作I/O系統(tǒng)的層次及功能操作系統(tǒng)設(shè)備管理12.2.中斷處理流程中斷處理流程終端中斷終端中斷處理程序處理程序磁盤中斷磁盤中斷處理程序處理程序放回被中斷放回被中斷進(jìn)程繼續(xù)執(zhí)行進(jìn)程繼續(xù)執(zhí)行分析中斷
34、原因,轉(zhuǎn)分析中斷原因,轉(zhuǎn)入入相應(yīng)的中斷處理程相應(yīng)的中斷處理程序序打印機(jī)中斷打印機(jī)中斷處理程序處理程序恢復(fù)被中斷進(jìn)恢復(fù)被中斷進(jìn)程的程的CPU現(xiàn)場現(xiàn)場喚醒被阻塞的喚醒被阻塞的驅(qū)動程序進(jìn)程驅(qū)動程序進(jìn)程對被中斷進(jìn)程的對被中斷進(jìn)程的CPU環(huán)境進(jìn)行保護(hù)環(huán)境進(jìn)行保護(hù)中斷請求信號中斷請求信號操作系統(tǒng)設(shè)備管理13.設(shè)備驅(qū)動程序 設(shè)備驅(qū)動(設(shè)備處理程序),是進(jìn)程與設(shè)備控制器之間的通信程序,也簡稱為設(shè)備驅(qū)動進(jìn)程。用于接受上層軟件發(fā)來的抽象的I/O要求,轉(zhuǎn)換為具體要求后發(fā)送給設(shè)備控制器,啟動設(shè)備去執(zhí)行,也將由設(shè)備控制器發(fā)來的信號傳送給上層軟件。操作系統(tǒng)設(shè)備管理1設(shè)備驅(qū)動程序的功能: 接受由設(shè)備獨(dú)立性軟件發(fā)來的命令和參
35、數(shù),并將命令中的抽象要求轉(zhuǎn)換為具體要求。 檢查用戶I/O請求的合法性,了解設(shè)備狀態(tài),傳遞參數(shù),設(shè)置設(shè)備的工作方式 發(fā)出I/O命令。如果設(shè)備空閑將立即啟動設(shè)備去完成指定的I/O操作;如果設(shè)備處于忙碌狀態(tài),則將請求者的請求塊掛在設(shè)備隊列上等待。 及時響應(yīng)由設(shè)備控制器或通道發(fā)出的請求,并進(jìn)行中斷處理操作系統(tǒng)設(shè)備管理1設(shè)備處理方式1.為每一類設(shè)備設(shè)置一個進(jìn)程,專門用于執(zhí)行這類設(shè)備的I/O操作。(如:為所有的交互式終端設(shè)置一個交互式終端進(jìn)程,為同一類型的打印機(jī)設(shè)置一個打印進(jìn)程。)2.在整個操作系統(tǒng)中設(shè)置一個I/O進(jìn)程,專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的I/O操作,也可以設(shè)置一個輸入進(jìn)程和一個輸出進(jìn)程,分別
36、處理系統(tǒng)中所有設(shè)備的輸入或者輸出操作。3.不設(shè)置專門的設(shè)備處理進(jìn)程,而只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序,供用戶進(jìn)程或系統(tǒng)進(jìn)程調(diào)用。操作系統(tǒng)設(shè)備管理1設(shè)備驅(qū)動程序特點(diǎn): 驅(qū)動程序是在請求I/O的進(jìn)程與設(shè)備控制器之間的一個通信和轉(zhuǎn)換程序。 驅(qū)動程序與設(shè)備控制器和I/O設(shè)備的硬件特性緊密相關(guān),不同類型的設(shè)備配置不同的驅(qū)動程序。 驅(qū)動程序與I/O設(shè)備所采用的I/O控制方式緊密相關(guān),常用的I/O控制方式是中斷驅(qū)動和DMA方式。 因驅(qū)動程序和硬件緊密相關(guān),其中一部分用匯編語言編寫,目前很多驅(qū)動程序已經(jīng)固化在ROM中。 驅(qū)動程序應(yīng)允許可重入。一個正在運(yùn)行的驅(qū)動程序常會在一次調(diào)用完成前被再次調(diào)用 驅(qū)動程序不
37、允許系統(tǒng)調(diào)用。操作系統(tǒng)設(shè)備管理1設(shè)備獨(dú)立(無關(guān))性 在計算機(jī)系統(tǒng)中,可以配置的外設(shè)品種繁多。而且在小型機(jī)以上的計算機(jī)系統(tǒng)中,可以同時接入多臺同樣的外設(shè)。為了便于對這些外設(shè)進(jìn)行管理,系統(tǒng)對每臺進(jìn)入計算機(jī)系統(tǒng)中的設(shè)備都給定一個對應(yīng)的編號,作為調(diào)用時識別和區(qū)分設(shè)備用。這種編號無任何重復(fù),一般被稱為設(shè)備的絕對號(或物理設(shè)備名)設(shè)備的絕對號(或物理設(shè)備名)。設(shè)備分配 操作系統(tǒng)設(shè)備管理1 有了設(shè)備的絕對號,系統(tǒng)在管理過程中對設(shè)備的調(diào)用變得簡單而方便。但作為用戶而言,如果直接讓其用絕對號來申請設(shè)備,就會造成用戶在使用中極不方便。特別是在多通道程序環(huán)境下,用戶想查找哪臺設(shè)備是空閑的,哪臺是被占用的,根本是不可
38、能的。有時申請的設(shè)備可能剛好很忙,而未被申請的其他同類設(shè)備即使處于空閑狀態(tài)也不能使用,造成了設(shè)備使用的靈活性降低,設(shè)備利用率差。所以在系統(tǒng)中一般不允許用戶用絕對號來直接申請所需的設(shè)備。操作系統(tǒng)設(shè)備管理1 為了方便用戶,也為了提高外設(shè)利用率,在計算機(jī)中規(guī)定用戶申請外設(shè)時,只需要向系統(tǒng)說明所需用的某類設(shè)備,至于真正在實(shí)際中使用哪臺設(shè)備,由系統(tǒng)根據(jù)這類設(shè)備的應(yīng)用情況作出分配。即使用戶所需多臺同樣的設(shè)備,系統(tǒng)也允許用戶按自己的使用要求提出編號,這種由用戶申請設(shè)備時所用的編號稱為設(shè)備相對號(或稱邏輯設(shè)備名)設(shè)備相對號(或稱邏輯設(shè)備名)操作系統(tǒng)設(shè)備管理1 用戶編制程序使用的邏輯設(shè)備獨(dú)立于系統(tǒng)實(shí)際用戶編制程
39、序使用的邏輯設(shè)備獨(dú)立于系統(tǒng)實(shí)際配置的物理設(shè)備,這就是設(shè)備的獨(dú)立性配置的物理設(shè)備,這就是設(shè)備的獨(dú)立性。具備設(shè)備。具備設(shè)備獨(dú)立性的計算機(jī)系統(tǒng)中,用戶編程時只考慮邏輯設(shè)獨(dú)立性的計算機(jī)系統(tǒng)中,用戶編程時只考慮邏輯設(shè)備,系統(tǒng)調(diào)用的是物理設(shè)備,邏輯設(shè)備與物理設(shè)備備,系統(tǒng)調(diào)用的是物理設(shè)備,邏輯設(shè)備與物理設(shè)備間的轉(zhuǎn)化工作由設(shè)備分配程序來完成。當(dāng)某臺設(shè)備間的轉(zhuǎn)化工作由設(shè)備分配程序來完成。當(dāng)某臺設(shè)備壞了,只要系統(tǒng)改變分配就行了,而程序本身不必壞了,只要系統(tǒng)改變分配就行了,而程序本身不必做任何修改。這對方便用戶,改善資源利用率、提做任何修改。這對方便用戶,改善資源利用率、提高系統(tǒng)的可擴(kuò)展性和可適應(yīng)性都有極大的好處。
40、高系統(tǒng)的可擴(kuò)展性和可適應(yīng)性都有極大的好處。操作系統(tǒng)設(shè)備管理1 例如,有、號打印機(jī),作業(yè)J1要申請其中兩臺,如果讓J1直接申請?zhí)枴⑻柎蛴C(jī),此時,如果號打印機(jī)為另一作業(yè)J2占用,或者是其中一臺打印機(jī)壞了,即使系統(tǒng)中還有兩臺可用,J1也必須等待,造成資源浪費(fèi)。如能讓作業(yè)J1按相對號來申請設(shè)備,則可以避免這種缺陷。J1只要提出某類設(shè)備兩臺,系統(tǒng)可將剩下的兩臺分給J1,J1就可運(yùn)行。設(shè)備得到充分利用。操作系統(tǒng)設(shè)備管理1 設(shè)備分配算法的數(shù)據(jù)結(jié)構(gòu) 任何算法的實(shí)現(xiàn)都離不開數(shù)據(jù)結(jié)構(gòu)的支撐,在設(shè)備分配算法中也不例外.不同的系統(tǒng)中對設(shè)備分配算法的建立方式上有所不同, 可能會導(dǎo)致所選擇的數(shù)據(jù)基不同。 但作為在多道環(huán)
41、境下的設(shè)備分配,不僅只是對設(shè)備的分配,而且還要實(shí)現(xiàn)與設(shè)備相聯(lián)的通道及設(shè)備控制器的分配。操作系統(tǒng)設(shè)備管理14.設(shè)備獨(dú)立性軟件 現(xiàn)代OS中都實(shí)現(xiàn)了設(shè)備獨(dú)立性(Device Independence),也稱為設(shè)備無關(guān)性:應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。在應(yīng)用程序中使用邏輯設(shè)備名稱來請求使用某類設(shè)備;而系統(tǒng)在實(shí)際執(zhí)行時,必須使用物理設(shè)備名稱,因此系統(tǒng)具有將邏輯設(shè)備名轉(zhuǎn)換為物理設(shè)備名的功能。 設(shè)備獨(dú)立性的好處: 設(shè)備分配的靈活性 易于重定向操作系統(tǒng)設(shè)備管理1設(shè)備獨(dú)立性軟件為了實(shí)現(xiàn)設(shè)備獨(dú)立性在驅(qū)動程序上設(shè)置的軟件稱為設(shè)備獨(dú)立性軟件 主要功能:邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)1.邏輯設(shè)備表(Logical
42、 Unit Table)邏輯設(shè)備名物理設(shè)備名驅(qū)動程序入口地址/dev/tty31024/dev/printer52046執(zhí)行所有設(shè)備的公有操作向用戶層軟件提供統(tǒng)一接口。邏輯設(shè)備名系統(tǒng)設(shè)備表指針/dev/tty3/dev/printer5邏輯設(shè)備表邏輯設(shè)備表操作系統(tǒng)設(shè)備管理1 在分配算法的實(shí)現(xiàn)中,常采用的數(shù)據(jù)基主要含下述四張表,即 1)系統(tǒng)設(shè)備表SDT, 2)設(shè)備控制表DCT, 3)控制器控制表COCT, 4)通道控制表CHCT 。 這四張表在分配算法中形成了一個有機(jī)整體,有效地記錄了外設(shè)資源在系統(tǒng)中的情況,設(shè)備的每一次分配調(diào)用都與這四張表有關(guān)。 操作系統(tǒng)設(shè)備管理11.系統(tǒng)設(shè)備表SDT(Syst
43、em Device Table): 在在SDTSDT表中,每個接入系統(tǒng)中的外圍設(shè)備都占有表中,每個接入系統(tǒng)中的外圍設(shè)備都占有一個表目項。登錄了該設(shè)備的名稱、標(biāo)識及設(shè)備控制一個表目項。登錄了該設(shè)備的名稱、標(biāo)識及設(shè)備控制表表DCTDCT的入口地址等相關(guān)的信息。的入口地址等相關(guān)的信息。SDTSDT表在整個系統(tǒng)中表在整個系統(tǒng)中只有一張,全面反映了系統(tǒng)中的外設(shè)資源的類型、數(shù)只有一張,全面反映了系統(tǒng)中的外設(shè)資源的類型、數(shù)量、占用情況等。每個表項的內(nèi)容有量、占用情況等。每個表項的內(nèi)容有:1 DCT:1 DCT指針,該指針,該指針指向有關(guān)設(shè)備的設(shè)備控制表;指針指向有關(guān)設(shè)備的設(shè)備控制表;2 2 正在使用設(shè)備的正
44、在使用設(shè)備的進(jìn)程標(biāo)識;進(jìn)程標(biāo)識;3 3 設(shè)備類型和設(shè)備標(biāo)識符。設(shè)備類型和設(shè)備標(biāo)識符。操作系統(tǒng)設(shè)備管理12.設(shè)備控制表DCT(Device Control Table) :系統(tǒng)中的每臺設(shè)備都有一張DCT。在DCT中充分體現(xiàn)出了設(shè)備的各方面特征,以及與該設(shè)備相連的I/O控制器的情況,。其內(nèi)容如下:1、設(shè)備標(biāo)識符,用來區(qū)別設(shè)備;2、設(shè)備類型,反映設(shè)備的特性; 3、設(shè)備地址和設(shè)備號;4、設(shè)備狀態(tài);5、等待隊列指針;6、I/O控制器指針。操作系統(tǒng)設(shè)備管理1 3.3.控制器控制表控制器控制表COCT(Controller Control Table)COCT(Controller Control Tabl
45、e) : :每個控制器都有一張每個控制器都有一張COCTCOCT,它反映,它反映I/OI/O控制器的使用控制器的使用狀態(tài)以及和通道的連接情況等(在狀態(tài)以及和通道的連接情況等(在DMADMA方式時,該項方式時,該項是沒有的)。具體表項如下:控制器標(biāo)識;控制器狀是沒有的)。具體表項如下:控制器標(biāo)識;控制器狀態(tài);態(tài);CHCTCHCT指針指針; ;控制器等待隊列首;控制器等待隊列控制器等待隊列首;控制器等待隊列尾等。尾等。4.4.通道控制表通道控制表CHCT(Channel Control Table)CHCT(Channel Control Table):CHCT CHCT 表反映了通道的情況,系統(tǒng)
46、中的每個通道一張表反映了通道的情況,系統(tǒng)中的每個通道一張CHCTCHCT。其內(nèi)容如下:通道標(biāo)識符;其內(nèi)容如下:通道標(biāo)識符; 通道狀態(tài);通道等待隊通道狀態(tài);通道等待隊列首;通道等待隊列尾等。列首;通道等待隊列尾等。操作系統(tǒng)設(shè)備管理1表目表目i設(shè)備類型設(shè)備標(biāo)識符DCT驅(qū)動入口DCT1DCT2DCTn設(shè)備類型:type設(shè)備標(biāo)識符:deviceid設(shè)備狀態(tài):等待/不等待 忙/閑指向控制器表的指針重復(fù)執(zhí)行次數(shù)或時間設(shè)備隊列的隊首指針控制器標(biāo)識符:controllerid控制器狀態(tài):忙/閑與控制器相連的通道表指針控制器隊列的隊首指針控制器隊列的隊尾指針通道標(biāo)識符:channelid通道狀態(tài)與通道相連的控制
47、器表首址通道隊列的隊首指針通道隊列的隊尾指針操作系統(tǒng)設(shè)備管理1設(shè)備分配原則1設(shè)備分配原則:1)1)充分發(fā)揮設(shè)備的使用效率;充分發(fā)揮設(shè)備的使用效率;2)2)避免不合理分配算法造成進(jìn)程死鎖;避免不合理分配算法造成進(jìn)程死鎖;3)3)把用戶程序和具體的物理設(shè)備隔離開來。把用戶程序和具體的物理設(shè)備隔離開來。 操作系統(tǒng)設(shè)備管理12.設(shè)備分配方式: 在設(shè)備分配中分配方式主要有兩種:靜態(tài)分配與動態(tài)分配。 靜態(tài)分配方式主要適用對獨(dú)占型設(shè)備的分配,這種類型的分配在使用上必須是互斥地占用。通常是在某個作業(yè)執(zhí)行之前,根據(jù)作業(yè)需求,全部一次性分出,當(dāng)作業(yè)撤離時,再由系統(tǒng)收回。由于是預(yù)分配,一般不會出現(xiàn)死鎖,但設(shè)備使用效
48、率低,不符合設(shè)備分配的總原則。操作系統(tǒng)設(shè)備管理1 動態(tài)分配的方式則是由進(jìn)程在執(zhí)行中再來動態(tài)申請,資源分配的靈活性大,利用率高。在此方式下,設(shè)備不是進(jìn)行預(yù)分配,而是用時向系統(tǒng)提出設(shè)備請求,一旦用完便立即釋放,缺點(diǎn)是如果分配算法使用不當(dāng),則有可能造成進(jìn)程死鎖。 系統(tǒng)對設(shè)備分配的常見措施:1先請求先分配;2 優(yōu)先級高者先分配。操作系統(tǒng)設(shè)備管理1(1)(1)先請求先分配先請求先分配:當(dāng)若干進(jìn)程對某一設(shè)備提出I/O請求時,得不到滿足須排入等待隊列中。這些進(jìn)程由于申請的有先后次序,故排入等待隊列的次序也是不相同的。當(dāng)該設(shè)備被歸還給系統(tǒng)后,就可以重新分配,此時,系統(tǒng)根據(jù)進(jìn)程在等待隊列中排隊的先后次序進(jìn)行設(shè)備
49、分配。(2)(2)優(yōu)先級高優(yōu)先分配優(yōu)先級高優(yōu)先分配:在分配中,進(jìn)程的優(yōu)先級起了決定作用,即進(jìn)程的優(yōu)先級高,它的I/O請求也優(yōu)先考慮。當(dāng)從等待某設(shè)備的進(jìn)程隊列中挑選下一個可占用設(shè)備的進(jìn)程時,按進(jìn)程的優(yōu)先級來處理。高優(yōu)先級的進(jìn)程先分配,同優(yōu)先級的,先申請先分配。操作系統(tǒng)設(shè)備管理13.3.獨(dú)占設(shè)備分配程序獨(dú)占設(shè)備分配程序( (算法):算法): 在具有通道的I/O系統(tǒng)中,基本的設(shè)備分配程序(對各資源的分配順序)步驟為: (a)分配設(shè)備 ;(b )分配控制器;( c )分配通道。 4 4 影響設(shè)備分配的因素:影響設(shè)備分配的因素:1 1)I/OI/O設(shè)備的固有屬性:對于不同屬性的設(shè)備,通設(shè)備的固有屬性:對
50、于不同屬性的設(shè)備,通常采用相應(yīng)的分配算法。常采用相應(yīng)的分配算法。2 2)設(shè)備分配算法。)設(shè)備分配算法。3 3)設(shè)備分配的安全性:即避免死鎖的發(fā)生。)設(shè)備分配的安全性:即避免死鎖的發(fā)生。4 4)設(shè)備的獨(dú)立性)設(shè)備的獨(dú)立性操作系統(tǒng)設(shè)備管理1共享設(shè)備的驅(qū)動調(diào)度配置在計算機(jī)中的共享設(shè)備,由于在使用特征上表現(xiàn)為在同一時間段內(nèi)允許多作業(yè)的進(jìn)程交替占用,故這類設(shè)備在分配方式上就不可能將設(shè)備只分給某個進(jìn)程使用。所以,對共享設(shè)備的分配,實(shí)質(zhì)上變成了決定設(shè)備在某一時刻到底被誰啟動、為誰服務(wù)的問題,也就是常說的驅(qū)動調(diào)度問題。不同的共享設(shè)備,由于其構(gòu)造特征不同,所采用的驅(qū)動調(diào)度策略也會有差別。以共享設(shè)備磁盤來討論驅(qū)動
51、調(diào)度問題。操作系統(tǒng)設(shè)備管理1操作系統(tǒng)設(shè)備管理1磁盤的訪問時間構(gòu)成 磁盤的物理構(gòu)造決定了一次磁盤的磁盤的物理構(gòu)造決定了一次磁盤的I/OI/O操作,物理操作,物理記錄的位置必須由柱面號,磁頭號(盤面號),扇區(qū)記錄的位置必須由柱面號,磁頭號(盤面號),扇區(qū)號三個參數(shù)共同確定,如何確定這三個參數(shù)是磁盤訪號三個參數(shù)共同確定,如何確定這三個參數(shù)是磁盤訪問成功的關(guān)鍵。對磁盤的訪問時間包括以下三部分:問成功的關(guān)鍵。對磁盤的訪問時間包括以下三部分:查找(尋道)時間:磁頭在移動臂帶動下移到指定柱查找(尋道)時間:磁頭在移動臂帶動下移到指定柱面所需的時間。面所需的時間。旋轉(zhuǎn)延遲(延遲)時間:指定的扇區(qū)旋轉(zhuǎn)到磁頭位置
52、旋轉(zhuǎn)延遲(延遲)時間:指定的扇區(qū)旋轉(zhuǎn)到磁頭位置所需的時間。所需的時間。傳輸時間:由磁頭把扇區(qū)中信息讀到主存儲器或把主傳輸時間:由磁頭把扇區(qū)中信息讀到主存儲器或把主存儲器中信息寫到扇區(qū)中所需的時間。存儲器中信息寫到扇區(qū)中所需的時間。操作系統(tǒng)設(shè)備管理1 由由上述上述三三個時間個時間之和構(gòu)成了一次磁盤之和構(gòu)成了一次磁盤I/OI/O訪問的時訪問的時間。要使磁盤利用率高,應(yīng)盡量減少每次間。要使磁盤利用率高,應(yīng)盡量減少每次I/OI/O操作的訪操作的訪問時間,增加單位時間內(nèi)的問時間,增加單位時間內(nèi)的I/OI/O操作吞吐量。為操作吞吐量。為此此系統(tǒng)系統(tǒng)應(yīng)采用一定的管理對策,決定當(dāng)有多個訪問請求發(fā)生應(yīng)采用一定的
53、管理對策,決定當(dāng)有多個訪問請求發(fā)生時,讓哪個訪問者被先訪問,這個管理對策被稱為時,讓哪個訪問者被先訪問,這個管理對策被稱為“驅(qū)動調(diào)度驅(qū)動調(diào)度”。具體的磁盤驅(qū)動調(diào)度算法分為兩部分:具體的磁盤驅(qū)動調(diào)度算法分為兩部分:移臂調(diào)度算法和旋轉(zhuǎn)調(diào)度算法。移臂調(diào)度控制的是查移臂調(diào)度算法和旋轉(zhuǎn)調(diào)度算法。移臂調(diào)度控制的是查找操作的先后次序;而旋轉(zhuǎn)調(diào)度控制的是哪個扇區(qū)先找操作的先后次序;而旋轉(zhuǎn)調(diào)度控制的是哪個扇區(qū)先被訪問的問題。磁盤工作時,應(yīng)先完成移臂調(diào)度,然被訪問的問題。磁盤工作時,應(yīng)先完成移臂調(diào)度,然后再進(jìn)行旋轉(zhuǎn)調(diào)度。后再進(jìn)行旋轉(zhuǎn)調(diào)度。操作系統(tǒng)設(shè)備管理1移臂調(diào)度移臂調(diào)度 目前廣泛使用的查找策略有:目前廣泛使用的
54、查找策略有: 1先來先服務(wù)查找算法(FCFS) 這是一種最簡單的移臂調(diào)度算法,它只考慮對磁盤請求的先后次序,而不考慮訪問的物理位置,所有對磁盤有I/O請求的進(jìn)程先去等待隊列中排隊,排在先的先給予服務(wù)。該算法對于訪問進(jìn)程是平等的。這種算法當(dāng)訪問請求分布不好時,可能會造成磁臂反復(fù)來回移動,增加總的訪問時間,無法實(shí)現(xiàn)查找優(yōu)化,只適用于訪問請求不太多的情況。操作系統(tǒng)設(shè)備管理1 圖 FCFS算法操作系統(tǒng)設(shè)備管理12最短查找時間優(yōu)先的算法(SSFT,Shortest-Seek-Time-First) 這個算法是FCFS算法的改進(jìn)。它總是選擇請求隊列中離當(dāng)前磁頭所在柱面最近的下一個柱面作為即將訪問的對象,而
55、不管請求訪問者到達(dá)請求隊列的先后次序。此算法克服了FCFS算法中磁臂大幅度來回移動的缺陷,在吞吐量上有所提高。但對訪問者的服務(wù)機(jī)會是不均衡的,有時會造成內(nèi)外邊緣磁道上的請求被無限推遲響應(yīng)的現(xiàn)象。操作系統(tǒng)設(shè)備管理13掃描算法(SCAN): 該算法是為了克服SSTF算法的缺點(diǎn)而提出的一種查找優(yōu)化的算法,在SSTF算法中只考慮了請求訪問的柱面與磁頭當(dāng)前所處位置的距離,而不考慮磁臂的移動方向。而SCAN算法則既要考慮距離,也要考慮方向,且方向優(yōu)先考慮。SCAN算法在選下一個訪問者時,先選與磁臂移動方向一致的訪問請求,在此基礎(chǔ)上,選出與磁頭當(dāng)前柱面最近距離的柱面作為下一個訪問對象。此方法與自然界中電梯工
56、作的方式極為相象,故也稱“電梯調(diào)度”算法。 操作系統(tǒng)設(shè)備管理1 SCAN算法是一種高效率的算法。它很好地解決了磁頭來回移動浪費(fèi)時間的現(xiàn)象,使系統(tǒng)吞吐量增大,資源利用率好。在實(shí)際的磁盤調(diào)度策略的使用中,多以SCAN算法為主。在此基礎(chǔ)上又演變出了下面的兩種算法:N步掃描法與循環(huán)掃描法。操作系統(tǒng)設(shè)備管理1.N步掃描(N-Step-SCAN)與循環(huán)掃描(CSCAN)法 N步掃描算法將磁盤請求隊列分成若干個長度為N的子隊列,磁盤調(diào)度將按FCFS算法一次處理這些子隊列。而每處理一個隊列時又是按SCAN算法,對一個隊列處理完之后,再處理其他隊列。當(dāng)正在處理某子隊列時,如果出現(xiàn)新的磁盤請求,就將其放入其他隊列
57、,可以避免出現(xiàn)粘著現(xiàn)象。 CSCAN循環(huán)掃描法也稱單向掃描,它對請求者的服務(wù)總是每次從柱面號開始,然后移動至最大柱面。遇著訪問進(jìn)行服務(wù)。一次完后,磁頭再次返回號柱面,又重復(fù)上述步驟。操作系統(tǒng)設(shè)備管理1圖(a)N步掃描操作系統(tǒng)設(shè)備管理1(b)循環(huán)掃描操作系統(tǒng)設(shè)備管理1旋轉(zhuǎn)調(diào)度 通過移臂調(diào)度后,確定了訪問的柱面號,當(dāng)在同一柱面上有多個訪問者等待訪問時,如何安排訪問者的訪問次序?這就是旋轉(zhuǎn)調(diào)度應(yīng)解決的問題。旋轉(zhuǎn)調(diào)度應(yīng)以盡量減少旋轉(zhuǎn)延遲時間為目的。下面介紹一種常見的“最短延遲時間優(yōu)化”的策略。該方法以時間為衡量指標(biāo),對同一柱面上扇區(qū)的訪問請求不是按申請的先后次序來讀寫,而是經(jīng)過重新排序后再處理,使時間
58、上大大縮短。操作系統(tǒng)設(shè)備管理1例如:假設(shè)號柱面上有四個訪問者,它們的訪問請求次序如下: 請求次序柱面號磁頭號扇區(qū)號請求次序柱面號磁頭號扇區(qū)號()() ()() ()() ()() 操作系統(tǒng)設(shè)備管理1 若如不進(jìn)行優(yōu)化處理,處理完這四個訪問請求若如不進(jìn)行優(yōu)化處理,處理完這四個訪問請求可能需要兩周的旋轉(zhuǎn)時間。而采用(),(),可能需要兩周的旋轉(zhuǎn)時間。而采用(),(),(),()的次序處理,一周就可全部訪問完(),()的次序處理,一周就可全部訪問完畢,節(jié)省了一半的時間。畢,節(jié)省了一半的時間。有時幾個訪問請求所需的可能是同一柱面,有時幾個訪問請求所需的可能是同一柱面,不同磁頭號所對應(yīng)的同一扇區(qū),這樣會造成這些扇不同磁頭號所對應(yīng)的同一扇區(qū),這樣會造成這些扇區(qū)同時到達(dá)磁頭位置下,這時候可以按請求的先后區(qū)同時到達(dá)磁頭位置下,這時候可以按請求的先后次序,先請求的先讀寫(也可次序,先請求的先讀寫(也可從中任選一個磁頭從中任選一個磁頭進(jìn)行讀寫操作)。進(jìn)行讀寫操作)。操作系統(tǒng)設(shè)備管理1FCFSFCFS算法算法例:從例:從5353# #磁道開始磁道
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年四川省稅務(wù)系統(tǒng)遴選面試真題附詳解含答案
- 內(nèi)科疾病診療成本控制分析
- 化妝品衛(wèi)生知識培訓(xùn)考核試題(含答案)
- 遼師大版(三起)小升初考試英語試卷
- 2025年上海市高級技工學(xué)校招聘考試筆試試題(含答案)
- 基因疾病的探究與治療方法
- 老師愛崗敬業(yè)課件
- 服裝品牌代理經(jīng)銷合同范本
- 專業(yè)市場場地租賃履約保證金合同
- 拆除工程風(fēng)險規(guī)避與免責(zé)合同
- EPC總承包項目中的進(jìn)度控制與資源分配
- 最全看圖猜成語 課件
- 腫瘤中心建設(shè)計劃書
- 快題設(shè)計課件
- 工程居間保密協(xié)議
- 成都市2021級(2024屆)高中畢業(yè)班第一次診斷性檢測(一診)英語試卷(含答案)
- 多鐵性材料應(yīng)用
- 住院病歷點(diǎn)評匯總表
- 摩登家庭第一季臺詞中英對照
- 社會經(jīng)濟(jì)咨詢服務(wù)合同范本
評論
0/150
提交評論