




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第五章設備管理5.1 I/O系統5.2 I/O控制方式5.3 緩沖管理5.4 設備分配5.5 設備處理5.6 磁盤存儲器管理I/O系統中,包括用于實現輸入、輸出和存儲功能的設備和相應的設備控制器。在大中型機中,還有I/O通道或I/O處理機。設備管理的基本任務是完成用戶提出的I/O請求,提高I/O速率、改善I/O設備的利用率。設備管理的主要功能有,緩沖區管理、設備分配,設備處理,虛 擬設備以及實現設備獨立性。5.1 I/O系統I/O系統是用于實現數據的輸入、輸出及數據存儲的系統。它除了需要直接用于I/O和存儲信息的設備外還需要相應的設備控制器和高速總線。I/O 設備設備控制器I/O通道I/O總線
2、1 I/O設備設備的類型1)按數據傳輸率分高速設備 速率在每秒數百千個字節至數十兆字節。例如光盤機、磁帶機、磁盤機等。中速設備速率在每秒數千個字節至數萬個字節。如打印機等。低速設備速率在每秒幾個字節至數百個字節之間。如鍵盤、鼠標等。2) 按信息交換的單位分塊設備以數據塊為單位存儲、傳輸信息。典型的塊設備是磁盤,每個盤塊的大小為512B4B。磁盤設備的基本特征是傳輸速率較高。另一特征是可尋址,即對它可隨機地讀寫任一塊。字符設備以字符為單位存儲、傳輸信息。字符設備的基本特征是速率慢,不可尋址。3) 按設備的共享屬性分獨占設備 在一段時間內只能有一個進程使用的設備,一般為低速I/O設備。(如打印機,
3、磁帶等)設備與控制器之間的接口通常,設備并不直接與Cpu進行通信,而是與設備控制器通信。因此,在設備與設備控制器之間應有一接口,在該接口中有三種類型的信號,各對應一根信號線。A 數據信號線這類信號線用于在設備和設備控制器之間傳輸數據信號。B 控制信號線這是設備控制器向I/O設備發送控制信號時的通路。C 狀態信號線該信號線用于傳送指示設備當前狀態的信號。2 設備控制器設備控制器是計算機中的一個實體,其主要職責是控制一個或多個I/O設備,以實現I/O設備與計算機之間的數據交換。設備控制器是Cpu與I/O設備之間的接口,它接受從Cpu發來的命令,并去控制I/O 設備工作,以便使處理器從繁重的設備控制
4、事務中解脫出來。設備控制器是一個可編址的設備,當它僅控制一個設備時,它只有一個唯一的設備地址。若控制器可連多個設備時,則應含有多個設備地址,使每個設備地址對應一個設備。設備控制器可分為兩類,一是用于控制字符設備的控制器,另一個是控制塊設備的控制器。2 設備控制器的組成設備控制器由三部分組成。1)設備控制器與處理機的接口該接口用于實現Cpu與設備控制器之間的通信。2)設備控制器與設備之間的接口3)I/O邏輯用于實現對設備的控制。3 I/O通道1 通道的引入雖然在Cpu與外設之間有設備控制器,但當外設很多時,Cpu的負擔仍然很重。為此,在Cpu與設備控制器之間又增設了通道。使用通道的目的是為了建立
5、獨立的I/O操作,不僅使數據的傳輸獨立于Cpu,而且盡可能地對I/O操作的組織、管理、及其結束也獨立,使Cpu從繁雜的I/O任務中解脫出來。I/O通道是一種特殊的處理機,它具有執行I/O指令的能力,并能通過執行通道程序來控制I/O操作。I/O通道不同于一般的處理機,主要表現在2個方面:指令類型簡單通道沒有自己的內存通道類型A 字節多路通道這是一種按字節交叉方式工作的通道。它有多個子通道,每個子通道連接一臺I/O設備,并控制該設備的I/O操作。這些子通道輪流方式共享主通道。當一個通道程序控制某臺設備傳送一個字節后,通道硬件就控制轉去執行另一個通道程序,控制另一臺設備傳送信息。主要連接以字節為單位
6、的低速I/O設備。如打印機等。以字節為單位交叉傳輸,當一臺傳送一個字節后,立即轉去為另一臺傳送字節B 數組選擇通道以成組方式進行數據傳輸,即每次傳輸一批數據。其傳送速率較高,主要用于連接高速I/O設備。由于數據選擇通道在一段時間內只能執行一個通道程序,控制一臺設備,因此通道的利用率很低。當這臺設備數據傳輸完成后,再選擇與通道連接的另一臺設備,執行它的相應的通道程序。 主要連接磁盤,磁帶等高速I/O設備。選擇通道C 數組多路通道數組多路通道是將數組選擇通道傳輸率高和字節多路通道能使各個子通道分時并行操作的優點結合起來而形成的一種新通道。它既具有很高的數據傳輸率,又能獲得令人滿意的通道利用率。該通
7、道廣泛用于連接多臺高速、中速的外設。硬件連接結構 3 “瓶頸問題”由于通道少而外設多,造成整個系統吞吐量下降,形成瓶頸問題。解決的辦法是把外設連接到多個控制器上,而一個控制器又連接到多個通道上。這樣,不僅解決了瓶頸問題,而且提高了系統的可靠性。多媒體技術的興起,要求總線具有更高的傳輸率。EISA已難于滿足要求,局部總線應運而生。所謂局部總線,是指將多媒體卡、高速Lan網卡、圖形卡等從ISA上卸下來,再通過局部總線控制器直接連到Cpu總線上,而打印機、CDROM等仍掛在ISA總線上。VESA 總線總線帶寬32位,最高傳輸率132MB/s,廣泛用于486微機中。PCI 總線這種總線支持64位系統。
8、廣泛用于奔騰系列計算機。5.2 I/O控制方式隨著計算機的發展,I/O控制方式經歷了四種形式,分別是程序I/O方式,中斷驅動I/O方式,DMA方式和通道方式。程序I/O方式早期的計算機系統中,處理機對I/O設備的控制采取程序I/O方式,或稱忙等待方式。處理機向控制器發出一條I/O指令啟動輸入設備輸入數據時,把狀態寄存器的忙/閑標準busy置為1,然后不斷地循環測試busy。當busy1時,表示設備還沒輸入完,處理機應繼續對busy進行測試,直至busy=0,表明輸入機已將數據送入控制器的數據寄存器中。于是cpu將數據寄存器的數據讀出,送入內存指定單元中。接著處理機繼續啟動控制器,讀下一個數據。
9、 向I/O控制器發讀命令讀I/O控制器狀態 檢查狀態從I/O控制器讀入字 向存儲器寫字流程完成?未就緒由于cpu高速而I/O設備低速,造成cpu極大浪費。2 中斷驅動I/O方式當某進程要啟動I/O設備工作時,便由cpu向設備控制器發出一條I/O指令,然后cpu繼續執行原來的任務。設備控制器按照命令的要求控制設備。此時,cpu與設備并行工作。當設備工作完成時,才需要cpu花費極短的時間去做些中斷出理。在中斷方式中,cpu和I/O設備都處于忙碌狀態,從而提高整個系統的資源利用率。在I/O中斷方式下,數據的輸入(或輸出)步驟如下:設備驅動程序工作:1、要求輸入數據的進程把一個啟動命令和允許中斷位“1
10、”寫入相應設備的控制狀態寄存器中,從而啟動了該設備;2、該進程因等待輸入的完成進入睡眠狀態。3、當輸入完成后,輸入設備向CPU發出完成中斷請求信號;設備中斷處理程序工作:4、處理機響應中斷,處理該中斷,并喚醒等待輸入完成的進程;5、在以后的某個時期,該程序被調度到后,繼續運行。這種方式的優點是大大地提高了CPU的利用效率,缺點是每次I/O都要CPU的干預,如果系統中配備了多臺(套)設備時,CPU的利用率也會降低。解決的方法是采用通道技術3 DMA控制方式(direct memory access)中斷處理是以字為為單位進行I/O的,每當完成一個字節的I/O時,便向cpu請求一次中斷。而DMA方
11、式與此不同。 DMA方式與中斷的主要區別中斷方式傳輸的單位是字或字節,在數據完成后,發中斷請求,CPU進行中斷處理 DMA方式的傳輸單位是數據塊,在所要求傳送的數據塊全部傳送結束時要求CPU進行中斷處理中斷方式要求了CPU進行中斷處理的次數多,而DMA所 傳送的數據是從設備直接到內存,或者相反。Cpu處理次數少3 中斷方式的數據傳送是由CPU控制完成的 而DMA方式則是在DMA控制器的控制下不經過CPU控制完成的DMA工作過程DMA工作示例(以硬盤為例) CPU提供被讀取塊磁盤地址目標存儲地址待讀取字節數整塊數據讀進緩沖區核準校驗控制器按照指定存儲器地址,把第一個字節送入主存然后,按指定字節數
12、進行數據傳送每當傳送一個字節后,字節計數器值減1,直到字節計數器等于0此時,控制器引發中斷,通知操作系統,操作完成DMA實現流程CPU向控制器發出啟動DMA通知和有關參數控制器向內存發出詢問請求訪問內存(讀、寫)計數器減1結束否發中斷5.3 緩沖管理為了緩和CPU與I/O設備速度不匹配的矛盾,提高CPU與I/O設備的并行性,幾乎所有的系統引入了緩沖區。緩沖管理的主要職責是組織好這些緩沖區,并提供獲得和釋放緩沖區的手段。1 緩沖區的引入1)緩和CPU與I/O設備間速度不匹配的矛盾凡是數據到達和離去速度不匹配的地方均可采用緩沖技術。2)減少對CPU的中斷頻率,放寬對CPU中斷響應的時間限制3)提高
13、CPU與I/O設備之間的并行性緩沖是用來在兩種不同速度的設備之間傳輸信息時平滑傳輸過程的常用手段。2 單緩沖和雙緩沖單緩沖,顧名思義就是一個緩沖區。在單緩沖情況下,每當用戶進程發出一個I/O請求時,操作系統便在主存中為之分配一片緩沖區。在塊設備輸入時,假定從磁盤把一塊數據輸入緩沖區的時間記為T,將緩沖區的數據送到用戶區的時間是M,而CPU對數據的處理時間為C。由于T和C是可以并行的,所以系統對每一塊數據的處理時間表示為Max(C,T)+M在字符設備輸入時,緩沖區用于暫存用戶輸入的一行數據,在輸入期間,用戶進程被掛起以等待數據輸入完畢;在輸出時,用戶進程將一行數據輸入到緩沖區后,繼續執行其它操作
14、。雙緩沖 系統設置兩個緩沖區,BUF1和BUF2,各進程使用這兩個緩沖區。這種緩沖技術是最簡單的,用于低頻度活動的I/O。工作過程:首先輸入將數據送入BUF1,然后,申請BUF2,在向BUF2輸入數據的同時,輸出進程可從BUF1中取數據。同理,向BUF1輸入與從BUF2中取數據可以并行。雙緩沖可以實現兩臺計算機之間雙向傳輸。循環緩沖在系統中設置若干緩沖區,并把這些緩沖區鏈接起來,這樣若干個緩沖區就形成了一個環,故稱環形緩沖區。環形緩沖技術使用設置一個輸入指針in、一個輸出指針out、開始指針strat。系統初始時,strat=in=out。輸入時,要判斷in是否與out相等,若相等,則要等待。
15、否則將信息送入in指向的緩沖區,填滿后,將緩沖區中的指向下一個緩沖區的指針next置in,如此類推。輸出時,首先判斷out=in,若相等,則等待(意味著系統中沒有數據可取)。否則,取出緩沖區中的信息,將緩沖區中的next置out; 緩沖池系統較大時,將會有許多循環緩沖,這不僅要消耗大量的內存空間,而且其利用率不高。為了提高緩沖區的利用率,目前廣泛采用緩沖池。1)組成空緩沖隊列 由空緩沖區所鏈成的隊列。輸入隊列 由裝滿輸入數據的緩沖區所鏈成的隊列。輸出隊列 由裝滿輸出數據的緩沖區所鏈成的隊列。除了上述三個隊列外,還應有四個工作緩沖區,1)用于收容輸入數據的工作緩沖區 2)用于提取輸入數據的工作緩
16、沖區 3)用于收容輸出數據的工作緩沖區 4)用于提取輸出數據的工作緩沖區。緩沖區的工作方式緩沖區可以工作在收容輸入、提取輸入,收容輸出、提取輸出四種工作方式下。收容輸入:在輸入進程需要輸入數據時,從空緩沖隊列的隊首摘下一空緩沖區,作為收容輸入工作緩沖區。把數據輸入其中,裝滿后把該隊列掛在輸入隊列上。提取輸入:當計算進程需要數據時,從輸入隊列取得一緩沖區,作為提取輸入工作緩沖區。計算進程從中提取數據,計算完畢后,將該緩沖區掛到空閑緩沖隊列上。收容輸出:當計算進程需要輸出時,從空緩沖隊列隊首取得一空緩沖,作為收容輸出工作緩沖區。當其中裝滿輸出數據時,將該緩沖區掛在輸出隊列末尾。提取輸出:由輸出進程
17、調用,從輸出隊列的隊首取得一裝滿輸出數據的緩沖區,作為提取輸出緩沖區。在數據提取完畢后將該緩沖區掛在空緩沖隊列末尾。5.4 設備分配系統設備不允許用戶自行使用,必須由系統統一分配。每當進程向系統提出I/O請求時,只要是可能和安全的,設備分配程序便按照一定的策略,把設備分配給用戶進程。數據結構在進行設備分配時,所需要的數據結構有:設備控制表,控制器控制表,通道控制表和系統設備表。設備控制表DCT系統為每個設備配置了一張設備控制表,用于記錄本設備的情況。主要內容:設備類型、設備標識符、設備狀態、與此設備相連的COCT、重復執行的次數或時間、等待隊列的隊首和隊尾指針、I/O程序地址等。 控制器控制表
18、和通道控制表、系統設備表控制器控制表COCT:系統為每個控制器都設置了一張用于記錄本控制器情況的控制器控制表。包括控制器標識符,狀態,與控制器相連的通道表指針等。通道控制表CHCT:系統為每個通道都設置了一張用于記錄本通道情況的通道控制表。包括通道標識符,狀態,與通道相連的控制器表首址,通道隊列的對首指針等。系統設備表SDT:記錄了系統中全部設備的情況。每個設備占用一個表目,其中包括設備類型,設備標識符、設備控制表及設備驅動程序的入口等項。2 設備分配時應考慮的因素分配設備時,應考慮下列幾個屬性:1)設備的固有屬性2)設備分配算法 3)設備分配時的安全性 4)設備獨立性設備的固有屬性:設備的固
19、有屬性有三種情況,分別為獨占性、共享性和虛擬性。獨占性設備:這種設備一段時間內,只允許一個進程獨占。對于獨占設備,應采用獨享分配策略。這種分配策略的缺點是設備得不到充分利用,而且有可能引起死鎖。共享性設備:這種設備允許多個進程共享。所以可同時分配給多個進程。虛擬設備:指設備本身是獨占設備,經過技術處理,可把它改造成共享設備,可將它同時分配給多個進程。設備分配算法1、先來先服務算法2、優先級高者優先設備分配中的安全問題1)安全分配方式在這種分配方式中,每當進程發出I/O請求時,便進入阻塞狀態,直至其I/O完成。這種分配方式摒棄了“請求和保持條件”,從而使設備分配是安全的。2)不安全分配方式在這種
20、分配方式中,進程發出I/O請求后仍繼續運行,需要時又發出第二個I/O請求,第三個I/O請求。僅當進程所請求的設備已被別的進程占用時,才進入阻塞狀態。優點:一個進程可以同時操縱多個設備。缺點是分配不安全。3 設備獨立性為了提高OS的可適應性和可擴展性,引入了設備獨立性。設備獨立性也稱為設備無關性,基本含義是應用程序獨立于具體使用的物理設備。為了實現設備獨立性,引入了邏輯設備和物理設備這兩個概念。用戶在編制程序時,使用邏輯設備名,由系統實現從邏輯設備到物理設備(實際設備)的轉換。用戶能獨立于具體物理設備而方便的使用設備。設備獨立性的優點:1)設備分配的靈活性2)易于實現I/O重定向所謂的I/O重定
21、向指用于I/O操作的設備可以更換,而不必改變應用程序。設備獨立性軟件驅動程序是一個與硬件緊密相關的軟件。為了實現設備獨立性,必須在驅動程序之上設置一層軟件,稱為設備獨立性軟件。其主要功能有下面兩點:執行所有設備的公有操作公有操作包括:對獨立設備的 分配和回收;將邏輯設備名映射為物理設備名;對設備進行保護;緩沖管理;差錯控制;2)向用戶層軟件提供統一接口無論何種設備,它們向用戶所提供的接口應該是相同;邏輯設備名到物理設備名映射的實現1)邏輯設備表為了實現設備的獨立性,系統必須設置一張邏輯設備表LUT,用于將應用程序中所使用的邏輯設備名映射為物理設備名。在該表的每個表目中包含三項:邏輯設備名,物理
22、設備名和設備驅動程序的入口地址。 邏輯設備名物理設備名驅動程序入口地址/dev/try 31024/dev/printer 520462) LUT的設置問題LUT的設置采用兩種方式:第一種方式是在整個系統中只設置一張LUT。由于系統中所有進程的設備分配情況都記錄在同一張LUT中,因而不允許在LUT中有相同的邏輯設備名。這就要求所有的用戶都不使用相同的邏輯設備名。因而這種方式主要用于單用戶系統中。第二種方式是為每個用戶設置一張LUT。每當用戶登錄時,便為該用戶建立一個進程,同時也為之建立一張LUT,并將該表放進進程的PCB中。這種方式通常用于多用戶系統中。 4 獨占設備的分配程序系統的設備分配程
23、序可按下述步驟進行設備分配:1)分配設備首先根據I/O請求中的物理設備名,查找系統設備表SDT,從中找出該設備的DCT,再根據DCT中的設備狀態字段,可知該設備是否忙。若忙,便請求I/O進程的PCB,掛在設備隊列上。否則,便按照一定的算法來計算本次設備分配的安全性。如果安全,便可以分配。2)分配控制器在系統把設備分配給請求I/O的進程后,再到其DCT中找到與該設備連接的控制器的COCT,從COCT的狀態字段中可知該控制器是否忙。若忙,便將請求I/O進程的PCB掛在該控制器的等待隊列上;否則,將控制器分配給該進程。3)分配通道在該COCT中,又可找到與該控制器連接的通道的CHCT,再根據CHCT
24、的狀態信息,可知該通道是否忙碌;若忙,將請求I/O的進程掛在該通道的等待隊列上;否則,將通道分配給該進程。只有在設備、控制器和通道三者都分配成功時,這次分配才算成功。然后,便可啟動該I/O設備進行數據傳輸。分配程序的改進上述分配方式有以下問題:一是進程以物理設備名提出I/O請求的。二是采用單通路的I/O系統結構,容易產生瓶頸。應采取下列改進:1)增加設備的獨立性進程應以邏輯設備名請求I/O。2)考慮多通路的情況對控制器和通道的分配,要經過多次反復。5 SPOOLing技術SPOOLing技術為解決獨立設備數量少,速度慢,不能滿足眾多進程的要求,而且在進程獨占設備期間,設備利用率比較低而提出的一種設備管理技術。1)什么是SPOOLing為了緩和CPU的高速性與I/O設備低速性的矛盾而引入了脫機輸入、脫機輸出技術。該技術是利用專門的外圍控制機,將低速I/O設備上的數據傳送到高速磁盤上;或者相反。在多道程序技術環境下,可以利用程序來模擬脫機輸入輸出時,外圍控制機的功能。這種在主機直接控制下,實現脫機輸出輸入操作。此時外圍操作與CPU對數據的處理同時進行。把這種在聯機情況下實現的同時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程總承包意向協議書4篇
- 涂料購銷合同模板常用版2篇
- 腳手架設計及計算
- 健康促進區縣課件
- 2025西昌民族幼兒師范高等專科學校輔導員考試試題及答案
- 2025西安城市建設職業學院輔導員考試試題及答案
- 2025貴州裝備制造職業學院輔導員考試試題及答案
- 2025皖南醫學院輔導員考試試題及答案
- 2025紹興文理學院輔導員考試試題及答案
- 設計企業核心競爭力構建路徑
- 2024淮安市專業技術人員繼續教育試題參考答案
- 2025年北京市朝陽區高三二模考試語文試卷(含答案)
- 2025年安徽省合肥市(合肥一中)三模(五月)生物試卷及答案
- 2025年中考第一次模擬考試卷:生物(廣西卷)(解析版)
- 2025年公路水運工程重大事故隱患判定標準深度解析
- 2025屆江西省上饒市高三下學期二模英語試題(原卷版+解析版)
- 《ISO 37001-2025反賄賂管理體系要求及使用指南》專業解讀和應用培訓指導材料之7:9績效評價(雷澤佳編制-2025A0)
- 湖北省武漢市2025年高三3月份模擬考試英語試題含答案
- 機動車檢測維修專業技術人員職業資格2024年筆試考試模擬題
- 鋼結構吊裝監理實施細則
- “住改商”登記利害關系業主同意證明(參考樣本)
評論
0/150
提交評論