2022年計算機操作系統(tǒng)chap5設備管理課程_第1頁
2022年計算機操作系統(tǒng)chap5設備管理課程_第2頁
2022年計算機操作系統(tǒng)chap5設備管理課程_第3頁
2022年計算機操作系統(tǒng)chap5設備管理課程_第4頁
2022年計算機操作系統(tǒng)chap5設備管理課程_第5頁
已閱讀5頁,還剩149頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 第5章 設備管理 設備管理是操作系統(tǒng)中最繁雜且與硬件關系最密切的部分。通過本章學習,讀者應該掌握以下內容:數(shù)據(jù)傳輸方式中斷技術緩沖技術設備分配技術設備獨立性設備驅動7/21/20225.1. I/O系統(tǒng) 5.2. I/O控制方式 5.3. 緩沖管理 5.4. I/O軟件 5.5. 設備分配 5.6. 磁盤存儲器的管理7/21/2022設備管理的目標 根據(jù)設備請求的情況,按照一定的算法,選擇和分配輸入輸出設備以便進行數(shù)據(jù)傳輸操作; 控制輸入輸入設備和CPU或內存之間交換數(shù)據(jù),同時提高設備和設備之間、CPU和設備之間,以及進程和進程之間的并行操作度,以使操作系統(tǒng)獲得最佳效率; 為用戶提供一個友好

2、的透明接口,把用戶和設備硬件特性分開,使得用戶在編制應用程序時不必涉及具體設備,系統(tǒng)按用戶要求控制設備工作。7/21/2022設備管理功能設備分配與回收緩沖管理設備處理虛擬設備7/21/2022511 I/O設備 計算機系統(tǒng)的外圍設備包括:顯示器、鍵盤、紙帶閱讀器、紙帶穿孔機、打印機、磁帶、磁盤、光盤、激光打印機、繪圖儀、圖形數(shù)字化儀、鼠標器、聲音輸入、聲音輸出設備以及辦公自動化設備等等,種類相當繁多,可從不同的角度對它們進行分類。 5.1 I/O系統(tǒng)7/21/2022系統(tǒng)設備:在操作系統(tǒng)生成時已配置好的的標準設備。 如:鍵盤、顯示器、打印機、磁盤等。 用戶設備:指系統(tǒng)設備之外的非標準設備,一

3、般由用戶提供設備及其處理程序,并通過適當?shù)氖侄伟阉鼈兗{入系統(tǒng)中,由系統(tǒng)實施管理。 如:網(wǎng)卡、調制解調器、繪圖儀等。 1設備的從屬關系分類7/21/2022塊設備:指以數(shù)據(jù)塊為單位存儲和傳輸數(shù)據(jù)的設備 如磁盤、磁帶等。字符設備:指以單個字符為單位來傳送信息的設備。 如鍵盤、顯示器、打印機等。2設備中的信息交換單位方式分類7/21/2022存儲設備:它是計算機用來存儲永久性信息的設備 如,磁帶、磁盤(軟盤、硬盤)、光盤等。輸入設備:將外部信息送給計算機的設備。 如,鍵盤、鼠標、掃描儀、手寫筆、數(shù)碼相機、麥克風、游戲手柄等輸出設備:將計算機加工后的信息傳送給外界的設備。 如,顯示器、打印機、投影儀等

4、。3按設備的使用特性分類7/21/2022獨占設備:這類設備在用戶作業(yè)的整個運行期間必須為此用戶所占有,即多個作業(yè)對某一外設的訪問應該是互斥的,一旦系統(tǒng)將這類設備分配給某個作業(yè),便由該設備獨占,直至釋放該資源。 大多數(shù)低速I/O設備,如用戶終端、打印機等共享設備:指在同一時間段內可以同時讓幾個作業(yè)使用的設備,當然,在某一時刻,該設備只能為一個作業(yè)服務。 適應于高速設備,如磁盤虛擬設備:根據(jù)設備的使用性質來決定一臺設備可以分給幾個進程以提高該設備的使用率。 如虛擬打印機4按資源分配的角度分類7/21/2022 1、按( )分類可將設備分為塊設備和字符設備。 A.從屬關系 B.操作特性 C.共享屬

5、性 D.信息交換單位 2、大多數(shù)低速設備都屬于( ) 設備。 A獨占 B共享 C虛擬 DSpooling3、從資源分配的角度看,可以把設備分為獨占設備、共享設備和 虛擬設備 ,打印機屬于_ 設備,而磁盤屬于_設備。7/21/2022 5.1.2 設備控制器1.設備控制器的概念 設備控制器是CPU與外圍設備之間的接口,是一個可編址設備,每一個地址對應一個設備。 它接收從CPU發(fā)來的命令,并去控制輸入輸出設備的工作,使CPU從繁雜的設備控制事務中解脫出來,提高CPU的使用效率。7/21/20222.作用:接收從CPU發(fā)來的命令,控制I/O設備工作3.功能:接收和識別命令數(shù)據(jù)交換地址識別標識和報告設

6、備的狀態(tài)差錯控制7/21/20224.設備控制器的組成(1).設備控制器與處理機的接口(2).設備控制器與設備的接口(3).I/O邏輯7/21/2022I/O系統(tǒng)的結構CPU磁盤控制器存儲器打印機控制器其他控制器一、微型機I/O系統(tǒng) :總線結構磁盤驅動器打印機7/21/2022二、主機系統(tǒng)輸入輸出結構當主機所配置的輸入輸出設備較多時,特別是配有較多的高速外設時,采用總線型輸入輸出系統(tǒng)結構會加重CPU與總線的負擔。 因此,在這樣的輸入輸出系統(tǒng)中不宜采用單總線結構,而是增加一級輸入輸出通道,用來代替CPU與各設備控制器進行通信,實現(xiàn)對控制器的控制。7/21/2022 7/21/20225.1.3

7、I/O通道1、通道的引入 為了提高計算機系統(tǒng)的運行效率,就要使CPU擺脫繁忙的I/O事務,而配置專門處理I/O事務的機構通道。 通道的引入是為了建立獨立的I/O操作。它不僅要求數(shù)據(jù)傳送獨立于CPU,而且要求I/O操作的組織、管理、結束等也盡量獨立,以保證CPU有更多的時間從事計算。這樣就可以實現(xiàn)CPU計算和I/O操作的并行工作。7/21/2022思考題一 什么是通道? 通道有哪些類型?7/21/20222、I/O通道概念 通道是一種硬件機構,又稱I/O處理機。輸入輸出通道是指專門負責輸入輸出工作的處理器。 它有自己的指令系統(tǒng)(包含數(shù)據(jù)傳送指令和設備控制指令),獨立執(zhí)行自己的通道程序來實現(xiàn)內存與

8、外設之間的數(shù)據(jù)傳輸,從而使系統(tǒng)獲得CPU與外設并行處理的能力。7/21/20223、通道的類型 根據(jù)信息交換方式的不同,可把通道分成字節(jié)多路通道、數(shù)組多路通道和選擇通道三種。(1)字節(jié)多路通道 通常都含有許多非分配型子通道,其數(shù)量可以從幾十到數(shù)百個,每一個子通道連接一臺輸入輸出設備,這些子通道按時間片輪轉方式共享主通道。 字節(jié)多路通道連接低速或中速設備時,不會丟失信息。7/21/2022 選擇通道的數(shù)據(jù)傳送是按成批的方式進行的,故傳送速率很高。(2)數(shù)據(jù)選擇通道選擇通道 它適用于連接高速I/O設備,如磁帶、磁盤等。選擇通道只有一個分配型子通道,即這個子通道可以連接多臺設備,但每次只能把子通道分

9、配給一臺設備使用。一旦分配給某臺設備,子通道就被它獨占,即使暫時出現(xiàn)空閑,也不允許其他設備利用該子通道。直到它被釋放,再選擇另一臺設備為其服務。因此選擇通道的利用率是很低的。7/21/2022 這種通道綜合了字節(jié)多路通道分時并行工作和選擇通道傳輸速率高的特點。 它具有多個非分配型子通道,每個子通道連接一臺中、高速I/O設備,如:磁帶、磁鼓、磁盤等,因而通道所連接的幾個設備可以并行工作。 數(shù)組多路通道技術相當于通道程序的多道程序設計技術。(3)數(shù)組多路通道7/21/2022 CPU字節(jié)多路通道 打印機1 打印機2 I/O控制器 I/O控制器 內存 選擇通道 成組多路通道 磁盤 I/O控制器 磁盤

10、 I/O控制器 I/O控 制器 I/O 控制器 磁帶 磁帶 存在這三種通道的計算機系統(tǒng)的各硬件的連接關系如圖所示:7/21/2022思考題二 設備管理中,什么是“瓶頸”現(xiàn)象? 如何解決?7/21/2022 通道命令和通道程序 通道有自己的指令系統(tǒng),為了與CPU的指令相區(qū)別,通道的指令被稱為“通道命令字”。通道命令字條數(shù)不多,主要涉及控制、轉移、讀、寫及查詢等功能。0 7 8 31 32 47 48 63 每條通道命令由四個字段組成: (1) 操作碼(07): 表示通道要執(zhí)行的命令; (2) 數(shù)據(jù)主存始址: 表示本命令要訪問的主存數(shù)據(jù)區(qū)的起始地址; (3) 特征位(3247, 只使用了 3236

11、 位, 其余未用): 3739 位必須置 0,否則認為通道命令錯。 7/21/2022 通道程序存放在內存中,由I/O指令啟動執(zhí)行。用戶請求I/O時,CPU對通道的通信是向通道發(fā)出查詢、啟動和停止通道程序工作,而通道向CPU的通信則采用中斷方式。其執(zhí)行過程如圖所示。7/21/2022用戶I/O請求 查詢設備忙閑? 調用通道程序 執(zhí)行通道程序 I/O操作完成,發(fā)中斷請求 CPU響應中斷,進行結束處理 以I/O指令啟動通道 結束通道工作 進入設備請求隊列,等待 忙 不忙 通道程序的執(zhí)行過程 7/21/20225、通道工作過程 (1) 當進程有I/O請求時,系統(tǒng)首先查詢設備狀態(tài)。若忙,進程進入設備請

12、求隊列等待;若閑,CPU發(fā)指令指明I/O操作、設備號和對應通道。 (2) 對應通道收到CPU發(fā)來的啟動指令后,讀出內存中的通道指令程序、設置對應設備的控制狀態(tài)寄存器的初值。 (3) 設備按通道指令的求,把數(shù)據(jù)送往內存指定區(qū)域。 (4) 若傳送結束,I/O控制器通過中斷請求線發(fā)中斷信號請求CPU做中斷處理。 (5) 中斷處理結束后,CPU返回到被中斷進程處繼續(xù)執(zhí)行。 (6) 當進程調度程序選中這個已得到數(shù)據(jù)的進程后,才能進行加工處理。7/21/2022思考題三 通道的作用是什么? 通道是一個獨立于CPU的專管輸入/輸出控制的處理器,它控制內存與外部設備直接進行數(shù)據(jù)交換。 它有自己的通道指令,這些

13、通道指令受CPU啟動,并在操作結束時向 CPU發(fā)中斷信號。 通道方式進一步減輕了CPU的工作負擔,增加了計算機系統(tǒng)的并行工作程度。 7/21/20225.1.4 總線系統(tǒng)1、總線基本概念 在計算機系統(tǒng)內各種子系統(tǒng),如CPU、內存、I/O設備等之間,構建公用的信號或數(shù)據(jù)傳輸通道 這種可共享的傳輸通道稱為總線。7/21/20222、總線的分類7/21/2022 當用戶進程通過系統(tǒng)調用提出I/O請求時,從系統(tǒng)響應此請求開始,至系統(tǒng)完成用戶要求的I/O操作,并喚醒相應的等待I/O完成的進程為止,這整個過程稱為I/O控制過程。52 I/O控制方式7/21/2022I/O控制過程包括以下步驟: (1)響應

14、I/O請求,為在具體物理設備上進行I/O操作做準備。包括將邏輯設備名轉換為物理設備名(設備分配)、I/O請求的合法性等。 (2)設備驅動,控制設備完成I/O操作,對每類設備分別設置不同的設備驅動程序。 (3)中斷處理,I/O操作完成之后,設備控制器向CPU發(fā)送中斷信號,CPU響應后轉向相應的中斷處理程序進行善后處理。7/21/2022I/O操作的控制方式一般有四種:查詢方式中斷方式直接內存存取方式通道方式 它們的主要差別在于處理器和外設并行工作的方式和程度的不同。7/21/2022查詢方式是最簡單的I/O控制方式。在設備控制器中有兩個寄存器,一個是狀態(tài)寄存器,由其中的一個狀態(tài)位的值反映設備的忙

15、或閑;另一個是數(shù)據(jù)緩沖寄存器。當設備啟動時,狀態(tài)寄存器的啟動位為1,此時外設把數(shù)據(jù)送往數(shù)據(jù)緩沖寄存器,并將狀態(tài)寄存器的狀態(tài)位置1。CPU執(zhí)行完一條指令后就測試狀態(tài)位,如果為1,就把數(shù)據(jù)寄存器中的數(shù)據(jù)取到內存;若狀態(tài)位為0,則再測試,直到狀態(tài)寄存器的狀態(tài)位為1,然后再讀取數(shù)據(jù)。所以此種方式也稱循環(huán)測試I/O方式521 查詢方式7/21/2022就緒向設備控制器發(fā)讀命令讀設備控制器的狀態(tài)檢查狀態(tài)從設備控制器中讀入字向存儲器中寫字傳送完成CPU-I/OCPU-內存I/O - CPU出錯I/O - CPU完成下條指令未完成未就緒7/21/2022步驟: (1) 當用戶需要輸入數(shù)據(jù)時,由處理器向設備控制

16、器發(fā)出一條輸入輸出指令,啟動設備進行輸入 (2) 當用戶進程需要向設備輸出數(shù)據(jù)時,也必須同樣發(fā)出啟動命令啟動設備輸出,并等待輸出操作完成。特點: 工作過程簡單,CPU的利用率低。在要求不高的場合下常被采用,而且不能支持多道程序。程序直接控制方式適用于早期的無中斷的計算機系統(tǒng)。7/21/2022 查詢方式是主機向外設詢問,而引入中斷后,每當設備完成I/O操作,它便以中斷請求方式主動向CPU匯報。 因此,CPU一旦啟動I/O設備后便可轉去處理其他程序,僅在接到I/O中斷信息請求時才花費極少時間去處理。 522 中斷方式7/21/20221、中斷概念 所謂中斷,是指處理機在執(zhí)行進程的過程中, 由于某

17、些事件的出現(xiàn), 中止當前進程的運行, 轉而去處理出現(xiàn)的事件, 待處理完畢后返回原來被中斷處繼續(xù)執(zhí)行或調度其他進程執(zhí)行。2、中斷源 引起中斷的事件稱為中斷源。 (1)強迫性中斷源 硬件故障、程序性錯誤、外部事件、I/O中斷事件(2)自愿性中斷源7/21/20223、步驟 (1)進程需要數(shù)據(jù)時,將允許啟動和允許中斷的控制字寫入設備控制狀態(tài)寄存器中,啟動該設備進行輸入操作。 (2)該進程放棄處理機,等待輸入的完成。操作系統(tǒng)進程調度程序調度其他就緒進程占用處理機。 (3)當輸入完成時,輸入設備通過中斷請求線向CPU發(fā)出中斷請求信號。CPU在接收到中斷信號之后,轉向中斷處理程序。 (4)中斷處理程序首先

18、保護現(xiàn)場,然后把輸入緩沖寄存器中的數(shù)據(jù)傳送到某一特定單元中去,同時將等待輸入完成的那個進程喚醒,進入就緒狀態(tài),最后恢復現(xiàn)場,并返回到被中斷的進程繼續(xù)執(zhí)行。 (5)在以后的某一時刻,操作系統(tǒng)進程調度程序選中提出的請求并得到獲取數(shù)據(jù)的進程,該進程從約定的內存特定單元中取出數(shù)據(jù)繼續(xù)工作7/21/2022向設備控制器發(fā)讀命令讀設備控制器的狀態(tài)檢查狀態(tài)從設備控制器中讀入字向存儲器中寫字傳送完成完成下條指令CPU-I/OCPU-內存I/O - CPU出錯I/O - CPU未完成CPU做其他中斷7/21/2022例如,打印機每打一行需要60ms,在查詢方式中,大約有59.99ms,CPU都處于循環(huán)等待中,而

19、以中斷方式處理的話,CPU僅花費0.1ms時間來處理I/O設備發(fā)來的中斷,其余的59.99ms都可以用來做別的事情。所以中斷方式比查詢方式節(jié)省CPU的時間。7/21/2022 中斷方式的方法是當設備完成I/O操作后,主動向CPU報告,CPU只用少量時間處理I/O中斷,并將數(shù)據(jù)取回。 在多道程序中的環(huán)境下,一個程序或進程啟動I/O設備并允許中斷后,不是自己主動去執(zhí)行別的程序或繼續(xù)執(zhí)行主流程,而是應當把自己掛起,控制權交還給進程調度程序。在中斷處理程序中,完成指定的I/O操作之后應把等待此結果的進程喚醒,而后由進程調度程序在適當時機把此進程投入運行。7/21/2022 某進程 其他進程輸入中斷處理

20、 中斷 調度 調度喚醒啟動I/O并允許中斷 阻塞等待 處理輸入的數(shù)據(jù) 保護現(xiàn)場 輸入處理 喚醒等待進程 恢復現(xiàn)場 多道程序下的中斷處理方式7/21/20224、特點 中斷控制方式比程序直接控制方式提高了CPU的利用率。每輸入輸出一個數(shù)據(jù)都會發(fā)生中斷,傳輸一組數(shù)據(jù)需要多次中斷,浪費了CPU的處理時間。中斷控制方式應用于現(xiàn)代計算機系統(tǒng)中。7/21/20221、DMA控制方式的引入 引入的原因:中斷處理方式提高了主機的利用率,但是每次中斷都要保存現(xiàn)場信息,恢復現(xiàn)場等,仍占用CPU時間。在傳送數(shù)據(jù)量大、速度高的情況下,中斷方式就不適應了。 為了進一步減少CPU對外設操作干預而引入直接存儲器訪問方式。

21、523 直接內存存取方式7/21/20222、DMA控制方式 是指對I/O設備的控制由DMA控制器完成,在DMA控制器的作用下,設備和主存之間可以成批地進行數(shù)據(jù)交換,而不用CPU的干涉。 523 直接內存存取方式7/21/20223、DMA控制器的組成: DMA控制器的組成命令控制器與設備接口主機控制器接口內存CPU系統(tǒng)總線I/O控制邏輯CRMARDCDRcount7/21/20224、DMA工作步驟: 當進程要求設備輸入一批數(shù)據(jù)時,CPU將設備存放輸入數(shù)據(jù)的內存始址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的地址寄存器和傳送字節(jié)計數(shù)器;另外,還要將中斷位和啟動位置為1,以啟動設備開始進行數(shù)據(jù)輸

22、入并允許中斷。 發(fā)出數(shù)據(jù)要求的進程進入等待狀態(tài),進程調度程序調度其他進程占據(jù)CPU。 輸入設備不斷地挪用CPU工作周期,將數(shù)據(jù)寄存器中的數(shù)據(jù)源源不斷地寫入內存,直到所要求的字節(jié)全部傳送完畢。 DMA控制器在傳送字節(jié)數(shù)完成時,通過中斷請求線發(fā)出中斷信號,CPU收到中斷信號后轉中斷處理程序,喚醒等待輸入完成的進程,并返回被中斷的程序。 在以后的某個時刻,進程調度程序選中提出請求輸入的進程,該進程從指定的內存始址取出數(shù)據(jù)做進一步處理。7/21/2022CPU向控制器發(fā)出啟動DMA通知和有關參數(shù)控制器向內存發(fā)出詢問請求訪問內存(讀、寫)計數(shù)器減1結束否發(fā)中斷NYDMA的實現(xiàn)流程7/21/20225、D

23、MA方式特點: (1) 數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊; (2) 所傳送的數(shù)據(jù)是從設備直接送入內存,或者相反; (3) 僅在傳送一個或多個數(shù)據(jù)塊的開始和結束時,才需中斷CPU,請求干預,整塊數(shù)據(jù)的傳送是在DMA控制器控制下完成的。 缺點: DMA方式只能完成簡單的數(shù)據(jù)傳送、計數(shù)、內存地址加1或減1等操作,不能滿足復雜的I/O操作要求。 7/21/20226、DMA方式與中斷的主要區(qū)別 (1) 中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請求,CPU進行中斷處理; DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結束時要求CPU進行中斷處理,大大減少了CPU進行中斷處理的次數(shù)。 (2) 中斷方式的數(shù)據(jù)傳送是由C

24、PU控制完成的; DMA方式則是在DMA控制器的控制下不經(jīng)過CPU控制完成的。7/21/20225.2.4 I/O通道控制方式1、概念 通道控制方式是一種以主存為中心,是設備與主存直接交換數(shù)據(jù)的控制方式。 CPU只需要發(fā)出啟動指令,指出通道相應的操作和輸入輸出設備,該指令就可以啟動通道并使該通道從主存中調出相應的通道指令執(zhí)行,完成一組數(shù)據(jù)塊的輸入/輸出。 7/21/20222、通道控制方式步驟 (1)當進程要求設備輸入時,CPU發(fā)指令指明I/O操作、設備號和對應通道。 (2)對應通道收到CPU發(fā)來的啟動指令后,讀出內存中的通道指令程序、設置對應設備的控制狀態(tài)寄存器的初值。 (3)設備按通道指令

25、的要求,把數(shù)據(jù)送往內存指定區(qū)域。 (4)若傳送結束,I/O控制器通過中斷請求線發(fā)中斷信號請求CPU做中斷處理。 (5)中斷處理結束后,CPU返回到被中斷進程處繼續(xù)執(zhí)行。 (6)當進程調度程序選中這個已得到數(shù)據(jù)的進程后,才能進行加工處理。7/21/20223、特點 通道所需要的CPU干預更少,并可以實現(xiàn)CPU、通道和輸入輸出設備三者之間的并行操作,從而更有效地提高整個系統(tǒng)資源的利用率。 通道控制方式適用于現(xiàn)代計算機系統(tǒng)中的大量數(shù)據(jù)交換。7/21/2022通道和DMA控制器的區(qū)別 (1)一個DMA控制器只能連接同類外設,且如果是多臺同類外設,則它們只能是以串行方式工作。 一個通道可以連接多個不同類

26、型的設備控制器,而一個設備控制器又可以管理一臺或多臺外圍設備,這就構成了典型的多級層次結構,眾多外設均可在通道控制下同時工作; (2)DMA控制是借助硬件完成數(shù)據(jù)交換的,而通道是執(zhí)行通道程序完成數(shù)據(jù)的; (3)DMA控制器需要CPU對多個外設進行初始化。CPU只需發(fā)一個I/O指令啟動通道,由通道自己完成外設的初始化。7/21/2022 綜上所述,在前三種I/O控制方式中,CPU直接對設備控制器和I/O接口編程,可以簡化接口的設計。 對于非DMA傳送,需要CPU實際去完成數(shù)據(jù)傳送。對于高速數(shù)據(jù)傳送可以使用DMA,但還是需要CPU設置設備控制器,初始化DMA操作和操作完畢去檢查端口傳送狀態(tài)。 而通

27、道不同于DMA控制器,它能夠去取和執(zhí)行它自己的指令; 而且這些指令的功能已不僅僅是數(shù)據(jù)傳送,還包括檢索、分支轉移,甚至一些簡單的算術、邏輯運算。7/21/2022 大、中型計算機系統(tǒng)普遍用通道方式去控制設備完成I/O操作,以提高CPU與外設,外設與外設并行的程度。一些小型機和絕大多數(shù)微型機都是以CPU直接控制設備接口和設備控制器以查詢、中斷或DMA方式完成I/O操作,以降低系統(tǒng)造價。7/21/2022思考題四 綜上所述的4種I/O控制方式,分別適合用于何種場合?7/21/2022課堂練習題1、從下面關于設備屬性的論述中,選擇一條正確的描述。( )A字符設備的一個基本特征是可尋址的,即能指定輸入

28、時的源地址和輸出時的目標地址B共享設備必須是可尋址的和隨機訪問的設備C共享設備是指在同一時刻,允許多個進程同時訪問的設備D在分配共享設備和獨占設備時,都可能引起進程死鎖2、( )在一般大型計算機系統(tǒng)中,主機對外圍設備的控制可通過通道、控制器和設備三個層次來實現(xiàn)。從下述敘述中選出一條正確的敘述。A 控制器可控制通道,設備在通道控制下工作B 通道控制控制器,設備在控制器控制下工作C 通道和控制器分別控制設備D 控制器控制通道和設備的工作7/21/20221、通過硬件和軟件的擴充,把原來獨立的設備改造成能為若干用戶共享的設備,這種設備稱為 ? 。 2、引起中斷發(fā)生的事件稱為 ? 。 3、如果I/O設

29、備與存儲設備進行數(shù)據(jù)交換不經(jīng)過CPU來完成,這種數(shù)據(jù)交換方式是 ? 。4、常用的I/O控制方式有程序I/O方式、 ? 、? 、?.5、DMA是指允許 ? 和 ? 之間直接交換數(shù)據(jù)的設備。在DMA中必須設置地址寄存器,用于存放 ? ,還必須設置 ? 寄存器,用來暫存交換的數(shù)據(jù)。 6、設備控制器是 ? 和 ? 之間的接口,它接受來自 ? 的I/O命令,并用于控制 ? 的工作。 7、按從屬關系對I/O設備分類,可分為系統(tǒng)設備和 ? 兩類。7/21/20225.3 緩沖管理5.3.1 緩沖的引入 1、引入的原因 (1)緩和CPU與輸入輸出設備間速度不匹配的矛盾 (2)減少對CPU的中斷頻率,放寬對中斷

30、響應時間的限制。 (3)提高CPU與輸入輸出設備間的并行性。7/21/20222、緩沖技術的實現(xiàn)思想 建立一個緩沖區(qū),當進程要執(zhí)行讀寫操作時,首先向申請一塊內存區(qū)域作為緩沖區(qū),然后,將要傳送的數(shù)據(jù)高速送到緩沖區(qū)。 如果是讀操作,則根據(jù)進程要求,把當前需要的邏輯記錄從緩沖區(qū)中選出并傳送給進程。若為寫操作,則不斷把數(shù)據(jù)填到緩沖區(qū),直到它被填滿為止。7/21/20223、實現(xiàn)緩沖的方法 (1) 硬件緩沖。硬件緩沖采用專用硬件緩沖器,一般由外設自帶的專用寄存器構成。 (2)軟件緩沖。在內存中專門開辟若干單元作為緩沖區(qū)為各種設備服務。7/21/20225.3.2 單緩沖和雙緩沖一、單緩沖 單緩沖即是在發(fā)

31、送者和接收者之間只有一個緩沖區(qū) 過程:當一個用戶進程要求輸入數(shù)據(jù)時,操作系統(tǒng)控制輸入設備將數(shù)據(jù)送往緩沖區(qū)存放,再送往用戶進程的數(shù)據(jù)存儲區(qū)。7/21/2022特點 在主存中只有一個緩沖區(qū)。對于塊設備,該緩沖區(qū)可以存放一塊數(shù)據(jù),對于字符設備,該緩沖區(qū)可以存放一行數(shù)據(jù)。設備和處理器對緩沖區(qū)的操作是串行的,傳輸速度慢。在任一時刻,只能進行單向的數(shù)據(jù)傳輸,并且傳輸數(shù)據(jù)量較少。 優(yōu)點是設計簡單,容易實現(xiàn) 缺點是發(fā)送者和接收者不能并行工作7/21/2022二、雙緩沖 雙緩沖可在發(fā)送者與接收者之間設兩個緩沖區(qū)緩沖區(qū)1和緩沖區(qū)2。 過程:發(fā)送者將數(shù)據(jù)送滿緩沖區(qū)1,接收者從緩沖區(qū)1取數(shù)據(jù)時,發(fā)送者則可將數(shù)據(jù)送入緩

32、沖區(qū)2,當接收者將緩沖區(qū)1取空后,又可到緩沖區(qū)2中取數(shù)據(jù),這時發(fā)送者再將數(shù)據(jù)送入緩沖區(qū)1。 于是,發(fā)送者和接收者交替使用兩個緩沖區(qū),達到了并行工作的目的。7/21/2022特點 在主存中設置兩個緩沖區(qū),完成數(shù)據(jù)的傳輸。兩個緩沖區(qū)可以交替使用,提高了處理器和輸入設備的并行操作能力。 在任一時刻,可以進行雙向的數(shù)據(jù)傳輸。一個緩沖區(qū)用于輸入,另一個用于輸出。 適用于輸入/輸出、生產(chǎn)者/消費者速度基本相匹配的情況。 當傳輸數(shù)據(jù)量較大,或者兩者的速度相差較遠時,雙緩沖區(qū)效率較低,還是不能解決兩者并行工作問題。7/21/2022三、循環(huán)緩沖 由于雙緩沖并不能真正解決實際系統(tǒng)中的并行操作,為了能夠進一步提高

33、系統(tǒng)操作的并行程度,可以通過增加緩沖區(qū)的個數(shù),即實現(xiàn)多緩沖區(qū)方式。為了更好地控制和使用這些緩沖區(qū),將多個緩沖區(qū)組成環(huán)形,稱為循環(huán)緩沖技術。 循環(huán)緩沖技術是在內存中分配大小相等的存儲區(qū)作為緩沖區(qū),并將這些緩沖區(qū)連接起來,每個緩沖區(qū)中有一個指向下一個緩沖區(qū)的指針,最后一個緩沖區(qū)的指針指向第一個緩沖區(qū)7/21/2022 為了充分利用這些緩沖資源,使進程的處理和I/O設備的工作具有較好的連續(xù)性,提高設備的利用率,將緩沖區(qū)分為以下兩種類型: (1) 空緩沖區(qū)。準備接收輸入的數(shù)據(jù)。 (2) 滿緩沖區(qū)。用于存放可供使用的數(shù)據(jù)。過程: 當循環(huán)緩沖接收數(shù)據(jù)時,將待傳送的數(shù)據(jù)送入EMPTY指向的空緩沖區(qū),填滿后,

34、讓EMPTY指向下一個空緩沖區(qū)。每次申請一個空緩沖區(qū)時,需要判斷EMPTY是否與FULL相等。若相等,表示系統(tǒng)中已沒有空緩沖區(qū),輸入進程需要等待;否則,可以繼續(xù)輸入。 若要從緩沖區(qū)取數(shù)據(jù)時,直接到FULL所指向的緩沖區(qū)中取,然后讓FULL指向下一個滿緩沖區(qū)。同樣,每次FULL指針移動時,需要判斷FULL是否與EMPTY相等。若相等,表示緩沖區(qū)已無數(shù)據(jù)可取,等待緩沖區(qū)滿后繼續(xù)操作。7/21/2022特點: 在主存中設置多個緩沖區(qū)。讀和寫可以并行處理,適用于某種特定的輸入輸出進程和計算進程,如輸入/輸出、生產(chǎn)者/消費者速度不相匹配的情況。 循環(huán)緩沖區(qū)屬于專用緩沖區(qū)。當系統(tǒng)較大時,使用多個這樣的緩沖

35、區(qū)要消耗大量的主存空間,降低緩沖區(qū)的使用效率。 兩個缺點: (1)當系統(tǒng)的資源較多時,就要占用大量的緩沖區(qū),增加內存開銷。 (2)可能會出現(xiàn)某個設備的緩沖不夠用,而其他設備有多個空閑緩沖區(qū)的情況,導致循環(huán)緩沖的利用率不高。7/21/2022四、緩沖池 上述的循環(huán)緩沖區(qū)僅適用于某特定的I/O進程和計算進程,是專用緩沖結構,而不是針對整個系統(tǒng)的公用緩沖結構。當系統(tǒng)較大時,會有很多這樣的緩沖結構,這不僅要消耗大量的內存空間,而且其利用率不高。 為了提高緩沖區(qū)的利用率,目前普遍采用公用緩沖池結構,在緩沖池中設置了可供多個并發(fā)進程共享的緩沖區(qū)。7/21/2022 如圖所示,緩沖池是由多個大小相同的緩沖區(qū)

36、組成,同管理程序統(tǒng)一對緩沖池進行管理。當某個進程需要使用緩沖區(qū)時,由管理程序將緩沖池中合適的緩沖區(qū)分配給它,使用完畢,再將緩沖區(qū)釋放回緩沖池。 7/21/2022 為便于管理,系統(tǒng)將相同類型的緩沖區(qū)鏈成一個隊列,緩沖池中共有三種隊列: (1) 空緩沖隊列。 (2) 輸入隊列。 (3) 輸出隊列。 這三種隊列各有指向其首緩沖區(qū)的隊首指針和指向尾緩沖區(qū)的隊尾指針。系統(tǒng)根據(jù)需要從這三種隊列中取出緩沖區(qū),對緩沖區(qū)進行存數(shù)據(jù)、取數(shù)據(jù)操作。這些緩沖區(qū)稱為工作緩沖區(qū)。緩沖池中有四種工作緩沖區(qū): (1) 收容輸入工作緩沖區(qū)。 (2) 提取輸入工作緩沖區(qū)。 (3) 收容輸出工作緩沖區(qū)。 (4) 提取輸出工作緩沖

37、區(qū)。7/21/2022對緩沖池管理提供兩個基本操作(過程): (1) getbuf(type):用于從type所指定的隊列的隊首, 摘下一個緩沖區(qū); (2) putbuf(type,number):用于將用參數(shù)number所指示的緩沖區(qū), 掛在type隊列上。7/21/2022 下面是緩沖池在具體的工作過程中,對緩沖池中的緩沖區(qū)實施管理和使用的情況: (1) 當輸入設備要進行數(shù)據(jù)輸入時,先從空緩沖區(qū)隊列的隊首摘取一個空緩沖區(qū),將它作為收容輸入工作緩沖區(qū),在其裝滿輸入數(shù)據(jù)后,再將它掛到輸入數(shù)據(jù)隊列的隊尾。 (2) 當某個計算進程需要輸入數(shù)據(jù)時,從輸入隊列中取出一個緩沖區(qū)作為輸入工作緩沖區(qū),進程從

38、中提取數(shù)據(jù),取空后,將該緩沖區(qū)掛到空緩沖區(qū)隊列的隊尾。 (3) 當某個計算進程想輸出數(shù)據(jù)時,從空緩沖區(qū)隊首摘下一個空緩沖區(qū)作為收容輸出工作緩沖區(qū),在其裝滿計算進程的輸出數(shù)據(jù)后,將它掛到輸出隊列的隊尾。 (4) 當輸出設備進行數(shù)據(jù)輸出時,從輸出隊列取下一個緩沖區(qū)作為提取輸出工作緩沖區(qū),當其數(shù)據(jù)全送到輸出設備后,再將它掛到空緩沖隊列尾。7/21/2022特點 緩沖池結構復雜,在主存中設置公用緩沖池,在池中設置多個可以供多個進程共享的緩沖區(qū)。緩沖區(qū)既可以用于輸入,又可以用于輸出(即共享)。緩沖池的設置,減少了主存空間的消耗,提高了主存的利用率,適應于現(xiàn)代操作系統(tǒng)。 無論是多緩沖,還是緩沖池,由于緩沖

39、器是臨界資源,因此在使用緩沖區(qū)時都有一個申請、釋放和互斥的問題。 7/21/2022緩沖和緩存的差異 緩沖與緩存的基本原理和作用是相似的,如果不加區(qū)分的話,都可以稱之為緩沖。 但兩者之間確實存在細微的差異: 緩沖的作用在于協(xié)調速度不匹配的I/O傳輸過程; 而緩存的作用在于減少對設備的實際訪問次數(shù)。這個差異導致了兩者的管理方法有所不同。7/21/2022 一般來說,緩沖區(qū)的生命期較短,當進程開始數(shù)據(jù)傳輸時建立,一旦數(shù)據(jù)傳輸完畢,將立即釋放緩沖區(qū),它只起暫存數(shù)據(jù)的作用。 而緩存區(qū)的生命期較長,緩存的數(shù)據(jù)可以長時間地保存在緩存區(qū)中,服務于各種應用目的。如文件系統(tǒng)中的i節(jié)點緩存、目錄項緩存等在整個系統(tǒng)

40、運行期間都存在于內存中,由文件系統(tǒng)管理和使用。 7/21/2022 另外,緩沖區(qū)的管理相對簡單,系統(tǒng)只需提供簡單的分配算法以及同步機制即可。 而緩存區(qū)的管理則需要利用更復雜的算法,以提高訪問的命中率,最大限度地發(fā)揮緩存的作用。例如,磁盤的緩存算法要確定哪些數(shù)據(jù)應存放在緩存中,哪些數(shù)據(jù)應從緩存中撤出等。 在應用上,進程間的通信多使用緩沖技術,而設備的I/O往 往使用緩沖兼緩存技術。7/21/20225.4I/O軟件 分層結構的底層是設備相關部分,稱為設備驅動程序。它們直接和相應的設備打交道,負責設備的具體驅動和控制。上層通常是和設備無關的,這個部分接受來自用戶層的訪問請求,并把這些訪問請求傳給具

41、體的設備驅動程序,再將驅動程序的執(zhí)行結果進行轉換,傳給用戶7/21/20225.4I/O軟件的設計目標和原則設備無關性錯誤處理同步/異步傳輸必須能處理獨占設備和共享設備的I/O操作7/21/2022 為實現(xiàn)以上四個目標, I/O系統(tǒng)應組織成以下四個層次: (1) 中斷處理程序 (2) 設備驅動程序 (3) 與設備無關的I/O軟件 (4) 用戶空間的I/O軟件7/21/20225.4.2中斷處理程序 中斷事件通常由硬件發(fā)現(xiàn)。對出現(xiàn)的事件進行處理的程序稱為中斷處理程序。 中斷處理程序是由操作系統(tǒng)處理的,屬于操作系統(tǒng)的組成部分。 中斷處理程序位于I/O系統(tǒng)的最低層。當進程需要進行I/O操作時,操作系

42、統(tǒng)應將該進程掛起,即進入阻塞,直至I/O操作結束并發(fā)生中斷。當中斷發(fā)生時,中斷處理程序執(zhí)行相應的操作,以解除相應進程的阻塞狀態(tài)。7/21/2022一個完整的中斷處理過程包括以下四步: (1) 中斷請求:由中斷源向CPU提出中斷請求(軟中斷除外)。 (2) 中斷響應:CPU在收到中斷請求并具備響應條件的情況下,進行中斷響應,以實現(xiàn)向中斷服務程序的過渡。 (3) 中斷服務:CPU在執(zhí)行中斷服務程序期間,要進行具體的中斷服務。 (4) 中斷返回:中斷服務程序的最后一條指令應是中斷返回指令。當執(zhí)行到該指令時,便返回到被終止的程序,從斷點處繼續(xù)執(zhí)行。7/21/2022中斷請求: 中斷源需要通過中斷線送到

43、中斷控制器的輸入端,這稱為中斷請求。 中斷控制器是一個硬件裝置,它負責捕獲中斷請求,并以一定的方式向CPU提交中斷。由于同時可能會有多個中斷信號產(chǎn)生,它們需要共用有限的中斷線。 因此,當設備要使用中斷線時就要先進行中斷請求(IRQ),以獲得中斷線的使用權。7/21/2022中斷響應 對中斷請求的整個處理過程是由硬件和軟件相結合的一整套中斷機構實施的。中斷響應由硬件實施,中斷處理主要由軟件實施。 中斷響應是CPU對中斷源中斷請求的響應,包括保護斷點和將程序轉向中斷服務程序的入口地址。 在處理器執(zhí)行完一條指令后,硬件的中斷裝置就立即檢查有無中斷事件發(fā)生。若無,繼續(xù)執(zhí)行下一條指令;若有,則停止現(xiàn)行進

44、程,由操作系統(tǒng)中的中斷處理程序占用處理器,這一過程稱為“中斷響應”。7/21/2022一般說來,中斷響應過程順序執(zhí)行下述動作: (1) 中止當前進程的執(zhí)行; (2) 對被響應的中斷進行應答; (3) 保存當前進程的斷點信息(主要是程序狀態(tài)字PSW和程序計數(shù)器PC); (4) 轉到中斷處理程序入口。7/21/2022中斷處理 中斷處理主要由軟件實施。響應中斷后,CPU轉去執(zhí)行相應的中斷處理程序。每個中斷都對應一個特定的中斷處理程序,因而系統(tǒng)中會有許多中斷處理程序,如時鐘中斷處理程序、鍵盤中斷處理程序等。在設備的驅動程序中包含了對該設備所有中斷的處理程序。7/21/2022中斷處理過程: 當中斷裝

45、置發(fā)現(xiàn)中斷事件后,先把中斷事件存放到程序狀態(tài)字寄存器中的中斷碼位置。 把程序狀態(tài)字寄存器中的“當前PSW”作為“舊 PSW”保存到預先約定的主存的固定單元中。 根據(jù)中斷碼,把該類事件處理程序的“新PSW”送入程序狀態(tài)字寄存器。 處理器按新PSW控制處理該事件的中斷處理程序執(zhí)行。 當中斷程序處理完后,再恢復現(xiàn)場,繼續(xù)執(zhí)行原先被中斷的進程7/21/2022中斷處理程序的處理過程如下: 1喚醒被阻塞的驅動程序進程 2保護被中斷進程的現(xiàn)場 3分析中斷原因、轉入相應的設備中斷處理程序 4進行中斷處理 5恢復被中斷進程的現(xiàn)場 中斷處理程序的工作是對傳輸?shù)慕Y果進行必要的處理。7/21/2022多中斷的處理

46、對于中斷處理過程中又發(fā)生中斷,引起多中斷處理的問題,通常有兩種處理方法。 (1) 處理一個中斷時禁止中斷對任何新中斷置之不理,在此期間發(fā)生的中斷將保持掛起狀態(tài),當再次允許中斷時,新中斷信號被處理器檢測到再予以處理 (2) 中斷按照優(yōu)先權分級允許優(yōu)先級高的中斷打斷優(yōu)先級低的中斷處理過程7/21/20225.4.3 設備驅動程序 設備驅動程序是驅動物理設備直接進行各種操作的軟件,它可看作I/O系統(tǒng)和物理設備的接口。 設備驅動程序包括了所有與設備有關的代碼。每一個設備驅動程序只處理一種設備或者一類密切相關的設備。 7/21/2022設備驅動程序的功能: (1)實現(xiàn)邏輯設備到物理設備的轉換。 (2)發(fā)

47、出I/O命令,啟動相應的I/O設備,完成相應的I/O操作。7/21/2022設備驅動程序與設備控制器交互的大致過程 驅動程序將控制命令發(fā)到控制器的命令寄存器中,控制器啟動設備進行I/O操作。 當數(shù)據(jù)準備好后,驅動程序負責與控制器交互,完成數(shù)據(jù)傳輸工作。 控制器將設備產(chǎn)生的狀態(tài)信息存入狀態(tài)寄存器中,供驅動程序查詢。 當有設備中斷事件發(fā)生時,控制器發(fā)出中斷請求信號,系統(tǒng)進入中斷處理程序進行處理。7/21/2022設備處理方式有三類: 一是為每一類設備設置一個進程,專門執(zhí)行這類設備的輸入輸出操作。 二是在整個系統(tǒng)中設置一個輸入輸出進程,專門負責對系統(tǒng)中所有各類設備的輸入輸出操作。 三是不設置專門的設

48、備處理進程,只為各類設備設置相應的設備處理程序,供用戶進程或系統(tǒng)進程調用。7/21/2022設備驅動程序的特點 (1) 驅動程序主要是在請求輸入輸出的進程與設備控制器之間的一個通信程序。 (2) 驅動程序與輸入輸出設備的特性密切相關。因而對不同類型的設備應配置不同的驅動程序 (3) 驅動程序與輸入輸出控制方式緊密相關。 (4) 驅動程序與硬件緊密相關,其部分被固化在ROM 中。7/21/2022設備驅動程序的處理過程: 1將抽象要求轉化為具體要求 2檢查輸入輸出請求的合法性 3讀出和檢查設備的狀態(tài) 4傳送必要的參數(shù) 5設置工作方式 6啟動輸入輸出設備7/21/20225.4.4 設備獨立性軟件

49、 為了實現(xiàn)設備獨立性而引入了邏輯設備和物理設備這兩個概念。 在應用程序中, 使用邏輯設備名稱來請求使用某類設備;而系統(tǒng)在實際執(zhí)行時, 還必須使用物理設備名稱。 因此,系統(tǒng)須具有將邏輯設備名稱轉換為某物理設備名稱的功能,這非常類似于存儲器管理中所介紹的邏輯地址和物理地址的概念。 7/21/20221 邏輯設備與物理設備的概念 物理設備是一個具體的設備。系統(tǒng)為了能識別全部外設,給每臺外設分配一個唯一不變的名字,稱為物理設備名。系統(tǒng)在實際工作時使用物理設備名。 邏輯設備是對實際物理設備屬性的抽象,它并不限于某個具體設備。用戶在編程時,不用關心系統(tǒng)具體配置了哪些設備,也不需要了解各種設備的物理特性,而

50、只是按照慣例為所用的設備起個邏輯名字,稱為邏輯設備名。7/21/20222 設備獨立性 設備獨立性也稱設備無關性,指用戶編程時所使用的設備與實際使用的設備無關。 為此,要求用戶程序對輸入輸出設備的請求采用邏輯設備名; 而在程序實際執(zhí)行時使用物理設備名,它們之間的關系類似存儲管理中的邏輯地址和物理地址的關系。7/21/2022 用戶程序以邏輯設備名來請求使用某類設備時,系統(tǒng)將在該類設備中,根據(jù)設備的使用情況,將任一臺合適的物理設備分配給程序。 在實現(xiàn)了設備獨立性的功能后, 可帶來以下兩方面的好處: 1) 設備分配時的靈活性 2) 易于實現(xiàn)I/O重定向7/21/20225.4.5 用戶層I/O軟件

51、 盡管大部分I/O軟件屬于操作系統(tǒng),但是也有一小部分是與用戶程序鏈接在一起的庫例程,甚至是在核心外運行的完整程序。 系統(tǒng)調用, 包括I/O系統(tǒng)調用,通常是庫例程調用。在如下C語句: count=write(fd, buffer, nbyte); 中, 所調用的庫函數(shù)write( )將與用戶程序鏈接在一起, 并包含在運行時的二進制代碼中。這一類庫例程顯然也是I/O系統(tǒng)的一部分。標準I/O庫包含相當多涉及I/O的庫例程,它們作為用戶程序的一部分運行。 7/21/2022總結I/O系統(tǒng)各層的主要功能如下: (1) 用戶進程層執(zhí)行輸入/輸出系統(tǒng)調用,對I/O數(shù)據(jù)進行格式化,為假脫機輸入/輸出做準備。

52、(2) 獨立于設備的軟件實現(xiàn)設備的命名、設備的保護、成塊處理、緩沖技術和設備分配。 (3) 設備驅動程序設置設備寄存器、檢查設備的執(zhí)行狀態(tài)。 (4) 中斷處理程序負責I/O完成時,喚醒設備驅動程序進程,進行中斷處理。 (5) 硬件層實現(xiàn)物理I/O的操作。7/21/20225.5 設備分配 設備分配是由I/O系統(tǒng)中的設備分配程序完成的。 每當進程提出I/O請求時,設備分配程序便按照一定的策略把所需的設備分配給進程使用。 設備分配的原則是要盡可能地讓設備忙碌,充分發(fā)揮設備的使用效率。7/21/20225.5.1 設備分配中的數(shù)據(jù)結構設備控制表 DCT控制器控制表 COCT系統(tǒng)設備表 SDT通道控制

53、表CHCT(有時有)7/21/20221.設備控制表 系統(tǒng)為每個設備配置一張設備控制表,用于記錄設備的特性及與輸入輸出控制器連接的情況。 該表在系統(tǒng)生成時或在該設備和系統(tǒng)連接時創(chuàng)建,但表中的內容則根據(jù)系統(tǒng)執(zhí)行情況而被動態(tài)地修改。7/21/2022表目1 設備控制表集合 設備控制表 設備控制表 7/21/20222.系統(tǒng)設備表SDT 系統(tǒng)設備表也稱為設備類表,整個系統(tǒng)配置一張。它記錄了已被連接到系統(tǒng)中的所有物理設備的情況,并為每個物理設備設一個表項。7/21/2022表目1 系統(tǒng)設備表 7/21/20223.控制器控制表COCT 系統(tǒng)為每個控制器配置了一張控制器控制表,以反映控制器的使用狀態(tài)。7

54、/21/2022表目1 控制器表 控制器表 其中控制器表中包括:控制器標識符、控制器狀態(tài)、與控制器連接的通道表指針、控制器隊列的隊首指針和隊尾指針。與設備控制表的表目類似,不再重復。7/21/20224.通道控制表CHCT 系統(tǒng)為每個通道配置一張通道控制表,以反映通道的使用狀態(tài)。 該表只在通道控制方式的系統(tǒng)中存在,每個通道一張。7/21/2022表目1 通道表通道表 其中通道表中包括:通道標識符、通道狀態(tài)、與通道連接的控制器表首址、通道隊列的隊首指針和隊尾指針。與設備控制表的表目類似,不再重復。7/21/2022這幾張表的關系: 在系統(tǒng)設備表中有指向設備控制表的指針,在設備控制表中有指向該設備

55、控制器控制表的指針,在控制器控制表中有指向與該控制器連接的通道控制表的指針。系統(tǒng)就是通過這種關系進行設備的分配與回收的。7/21/20225.5.2 設備分配時應考慮的因素1設備的使用性質 按照設備自身的使用性質,可以采用以下三種不同的分配方式:獨享分配、共享分配、虛擬分配。 獨享分配適用于大多數(shù)低速設備,如打印機。 共享分配適應于高速設備,如磁盤。 虛擬分配適應于虛擬設備。根據(jù)設備的使用性質來決定一臺設備可以分給幾個進程。7/21/20222.設備分配的算法 當有多個進程同時請求設備時,系統(tǒng)應采用某種策略決定將設備分配給哪個進程使用。主要的分配策略有先來先服務和優(yōu)先級兩種。 (1)先來先服務

56、算法根據(jù)進程對某設備提出請求的先后次序,將這些進程排成一個設備請求隊列,設備分配程序總是把設備首先分配給隊首的進程。先來先服務的算法簡單、公平,但無法滿足某些緊迫進程對I/O響應時間的要求。 (2)優(yōu)先級算法的策略是對高優(yōu)先權進程的I/O請求也賦予高優(yōu)先權,這有助于這種進程盡快完成。在利用該算法形成設備隊列時,將優(yōu)先級高的進程排在設備請求隊列的前面,而對于同優(yōu)先級的I/O請求,則按先來先服務的原則排隊。7/21/20223. 設備分配的安全性 設備分配的安全性是指在設備分配中應防止發(fā)生進程的死鎖。設備分配的安全性采用的方法有靜態(tài)分配策略和動態(tài)分配策略,它們可以防止進程死鎖。 (1)靜態(tài)分配策略

57、。靜態(tài)分配策略是在作業(yè)級進行的,用戶作業(yè)開始執(zhí)行前,由系統(tǒng)一次分配給該作業(yè)所要求的全部設備、控制器和通道,直到該作業(yè)撤消為止。靜態(tài)分配不會出現(xiàn)死鎖,但是,設備利用率低。 (2)動態(tài)分配策略。動態(tài)分配策略是在進程執(zhí)行過程中,根據(jù)執(zhí)行的需要所進行的設備分配。動態(tài)分配提高了設備的利用率,但是分配不當,會造成進程的死鎖。7/21/20224. 設備的獨立性 設備的獨立性是指用戶在編制程序時所使用的設備與實際使用的設備無關。為此,要求用戶程序對輸入輸出設備的請求采用邏輯設備名,而在程序實際執(zhí)行時使用物理設備名,它們之間的關系類似存儲管理中的邏輯地址和物理地址的關系。7/21/20225.5.3 獨占設備

58、的分配程序 在一個具有I/O通道的系統(tǒng)中,當進程提出I/O請求時,對獨占設備的分配過程是: 首先為其進行分配合適的設備,然后分配控制器,最后分配通道。7/21/20221分配設備 分配設備的過程如圖示: 當進程提出I/O請求后,首先根據(jù)進程提出的邏輯設備名,查找到與之對應的物理設備名,檢索系統(tǒng)設備表SDT,以獲得該設備的設備控制表DCT。查看設備控制表中設備的狀態(tài)。 若設備忙,將該進程PCB放入設備請求隊列中; 否則,系統(tǒng)可根據(jù)一定的算法判定分配此設備給進程是否安全。 若不安全,將進程的PCB塊也放入設備請求隊列。 若有設備空閑,且分配安全,就將該設備分配給進程。7/21/2022121第七章

59、 設備管理 2分配控制器 在系統(tǒng)把設備分配給請求輸入輸出的進程后, 再到設備控制表中找到與該設備相連的控制器控制表,從該表的狀態(tài)字段中可知該控制器是否忙碌。 若控制器忙,則將進程插入到等待該控制器的隊列; 否則,將該控制器分配給進程,即修改控制器控制表,把狀態(tài)字段的值由“0”改為進程名。7/21/2022122第七章 設備管理 3分配通道 在分配完設備控制器后,從控制器控制表中找到與該控制器相連的通道控制表,從該表的狀態(tài)字段中可知該通道是否忙碌。 若通道處于忙碌狀態(tài),則將該進程插入到等待該通道的隊列; 否則,將該通道分配給進程,即修改通道控制表,把狀態(tài)字段的值由“0”改為進程名。7/21/20

60、22123第七章 設備管理 設備回收 當進程撤消或設備使用完畢后,要進行設備的回收,設備回收的過程如圖所示。設備回收的步驟:(1)系統(tǒng)根據(jù)進程名在設備分配表中找到相應的記錄,把設備狀態(tài)修改為“0”表示未分配,若該設備的等待隊列不空,則喚醒隊首進程,進行設備分配;(2)到該設備的控制器控制表中,把其狀態(tài)由進程名改為“0”,若該控制器的等待隊列不空,則喚醒隊首進程,進行控制器分配;(3)到該控制器的通道控制表中,把其狀態(tài)由進程名改為“0”,若該通道的等待隊列不空,則喚醒隊首進程,進行通道分配;(4)在系統(tǒng)設備表中,把回收設備臺數(shù)添加到“現(xiàn)存設備臺數(shù)”中。 7/21/2022124第七章 設備管理

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論