IO設備管理課件_第1頁
IO設備管理課件_第2頁
IO設備管理課件_第3頁
IO設備管理課件_第4頁
IO設備管理課件_第5頁
已閱讀5頁,還剩47頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、IO設備管理課件1第第7章章 I/O本章知識點:本章知識點:7.1 I/O系統硬件系統硬件7.2 I/O軟件軟件7.3 磁盤調度磁盤調度7.4 系統舉例系統舉例 IO設備管理課件27.1 I/O系統硬件系統硬件在計算機系統中,使用了許多I/O設備,它們的特點和操作方式不完全一樣。但是,所有的I/O設備都是通過設備管理程序來管理的。設備管理是計算機操作系統中最繁雜且與硬件緊密相關的部分。要把大量的I/O設備精減成一個單一模塊的I/O系統,必須全面地適應已有設備的需求,這些設備包括從簡單的鼠標到鍵盤、打印機、圖形顯示終端、硬盤驅動器、CD-ROM驅動器,以至于網絡等,同時也必須考慮到未來的存儲和輸

2、入/輸出技術的發展。 IO設備管理課件37.1.1 I/O設備設備計算機所管理的I/O外部設備按輸入輸出對象的不同可以分為以下3類: 用戶可讀設備,用于用戶與計算機通信。 機器可讀設備,用于電子裝置與計算機通信。 通信設備,用于與遠程設備通信。IO設備管理課件47.1.1 I/O設備設備所有這些設備其屬性和類別有很大的區別,其主要的區別在于: 數據傳輸速度。 應用。 控制的復雜性。 信息組織方式。 數據描述。 錯誤條件。IO設備管理課件57.1.2 設備控制器設備控制器 I/O設備一般由機械和電子兩部分組成,通常將這兩部分分開處理,以提供更加模塊化、更加通用的設計。 電子部分稱作設備控制器或適

3、配器(Device Controller或Adapter)。 機械部分就是設備本身,控制器通過電纜與設備內部相連。 IO設備管理課件67.1.2 設備控制器設備控制器設備控制器的主要作用有: 接收和識別CPU發來的多種不同命令; 實現CPU與控制之間、控制器和設備之間的數據交換; 記錄和報告設備的狀態。 地址識別。識別控制器控制的每個設備的地址。IO設備管理課件77.1.2 設備控制器設備控制器設備控制器的組成:數據寄存器控制/狀態寄存器控制器與設備接口 l控 制 器與 設 備接口 i數據狀態控制地址線控制線數據線CPU 與控制器接口控制器與設備接口I/O邏輯數據狀態控制IO設備管理課件87.

4、1.3 I/O技術技術1. I/O技術簡介目前,操作系統中的I/O技術大致有以下3種: (1) 程序I/O (2) 中斷驅動I/O (3) 直接存儲器存儲(DMA) IO設備管理課件97.1.3 I/O技術技術隨著計算機系統的發展,單個部件也越來越復雜。最明顯的例子就是I/O技術的發展。 處理器直接控制邊緣設備。 增加一個控制器或I/O模塊。 使用了如階段的設置,但增加了中斷。 I/O模塊通過DMA直接控制內存。 I/O模塊由一個單獨處理器處理,有專門用于I/O的指令集。 I/O模塊有本地存儲器,事實上,有其自己的計算機。 IO設備管理課件107.1.3 I/O技術技術2. DMADMA是一種

5、優于中斷方式的I/O控制方式,其特點為:數據傳輸的基本單位是數據塊,即CPU與I/O設備之間,每次至少傳送一個數據塊;所傳送的數據是從設備直接送入內存的,或者相反;僅在傳送一個或多個數據塊的開始和結束時,向CPU發中斷信號,請求CPU干預,整塊數據的傳送是在控制器的控制下完成的。 IO設備管理課件117.1.3 I/O技術技術DMA控制器組成 :數據線地址線D MA請求D MA回應中斷寫讀數據計數器(D C )數據寄存器(D R )內存地址寄存器( MA R )控制邏輯IO設備管理課件127.1.3 I/O技術技術3. I/O通道 計算機中設計了一個專門負責外設I/O的處理器,置于CPU和設備

6、控制器之間,稱這個I/O處理器為I/O通道。設計目的是:建立獨立的I/O操作,使數據的傳送獨立于CPU,并盡量使有關I/O操作的組織、管理及結束也獨立,以保證CPU有更多時間進行數據處理。 IO設備管理課件137.1.3 I/O技術技術 I/O通道是DMA方式的發展,它的程序是由通道指令組成的,稱為通道程序。I/O處理器和CPU共享主存儲器。 在微型計算機中,其I/O處理器并不完全具有前述I/O通道的所有功能,因此,就稱為I/O處理器。IO設備管理課件147.1.3 I/O技術技術 在大型計算機中常有多個I/O通道,而在一般的微型計算機中則可以配置1-2個I/O處理器(或更多)。 這些I/O處

7、理器和中央處理器共享主存儲器和總線(微型機中采用總線結構),在大型機中就可能出現幾條通道和中央處理器同時爭相訪問主存儲器的情況。為此給通道和中央處理器規定了不同的優先次序。IO設備管理課件157.1.3 I/O技術技術 通道通過執行通道程序,并與設備控制器一起共同實現對I/O設備的控制。 通道程序是由一系列的通道指令(或稱為通道命令)所構成。通道指令和一般的機器指令不同,在它的每條指令中通常包含下列信息:操作碼,內存地址,計數,通道程序結束位P,記錄結束標志R。 IO設備管理課件167.1.3 I/O技術技術一般I/O通道有3種類型:(1)字節多路通道(2) 數組選擇通道(3) 數組多路通道I

8、/O通道方式的發展,既可進一步減少CPU的干預,又可實現CPU、通道和I/O設備3者的并行工作,從而更有效地提高了整個系統的資源利用率。IO設備管理課件177.2 I/O軟件軟件I/O軟件的總體目標是,按分層的思想構造軟件,較低層的軟件要使較高層的軟件獨立于硬件,較高層的軟件則要向用戶提供一個友好、規范、清晰的界面。I/O軟件設計的具體目標是: 設備獨立性。 統一命名。 同步/異步傳輸。 出錯處理。 設備共享與獨占。 IO設備管理課件187.2 I/O軟件軟件根據I/O軟件的設計目標,將I/O軟件組織成以下4個層次: (1)中斷處理程序; (2)設備驅動程序; (3)與設備無關的操作系統軟件;

9、 (4)用戶層軟件。IO設備管理課件197.2.1 中斷處理程序中斷處理程序在現代計算機系統中,對I/O設備的控制,廣泛采用中斷驅動(Interrupt-driven)方式,即當某進程要啟動某個I/O設備工作時,便由CPU向相應的設備控制器發出一條I/O命令,然后立即返回繼續執行原來的任務。設備控制器便按照該命令的要求去控制I/O設備,此時,CPU與I/O設備并行操作。 IO設備管理課件207.2.1 中斷處理程序中斷處理程序無論是哪種I/O設備,其中斷處理程序的處理基本相同,其步驟為: 喚醒被阻塞的驅動進程。 保護被中斷進程的CPU環境。 分析中斷原因,轉入相應的中斷處理程序。 進行中斷處理

10、。 恢復現場。 IO設備管理課件217.2.2 設備驅動程序設備驅動程序 所有與設備相關的代碼放在設備驅動程序中。它是I/O進程與設備控制器之間的通信程序,因為它常以進程的形式存在,故也可以稱為設備驅動進程。由于驅動程序與設備硬件密切相關,故應為每一類設備配置一種驅動程序,或為一類密切相關的設備配置一個驅動程序。 IO設備管理課件227.2.2 設備驅動程序設備驅動程序1設備驅動程序的功能設備驅動程序的功能 將接收到的來自它上一層的與設備無關的抽象請求轉為具體請求。 檢查用戶I/O請求的合法性,了解I/O設備的狀態,傳遞有關參數、設置設備的工作方式。 發出I/O命令,啟動分配到的I/O設備,完

11、成指定的I/O操作。 及時響應控制器或通道發來的中斷請求,并調用相應的中斷處理程序處理。 對于有通道的計算機系統,驅動程序還應能根據用戶I/O請求構成通道程序。 IO設備管理課件237.2.2 設備驅動程序設備驅動程序2. 設備驅動程序的處理過程設備驅動程序的處理過程 一般地說,設備驅動程序的任務是接收來自它上面一層的與設備無關軟件的請求,并執行這個請求。 一個典型的請求是“讀第n塊”,如果請求到來時驅動程序是空閑的,則立即開始執行該請求;若驅動程序正在執行一個請求,則將新到來的請求插到一個等待處理I/O請求隊列中。IO設備管理課件247.2.3 與設備無關的與設備無關的I/O軟件軟件 大部分

12、I/O軟件是與設備無關的,設備驅動程序與設備獨立軟件之間的確切界限依賴于具體系統,因為對于一些本來應按照設備獨立方式實現的功能,出于效率和其他原因,實際上還是由設備驅動來實現的。 與設備無關軟件層通常應實現的功能為:設備驅動程序的統一接口、設備命名、提供一個與設備無關的塊大小、緩沖、塊設備的存儲分配、分配和釋放獨占設備、錯誤報告等。IO設備管理課件257.2.3 與設備無關的與設備無關的I/O軟件軟件 與設備無關的I/O軟件系統稱為I/O子系統。 I/O子系統執行著與設備無關的操作。 同時I/O子系統為用戶應用程序提供一個統一的接口。下面討論I/O子系統所需完成的主要功能。 IO設備管理課件2

13、67.2.3 與設備無關的與設備無關的I/O軟件軟件1. 設備命名 與設備無關的軟件(即I/O子系統)負責把設備的符號名映射到相應的設備驅動程序。 設備命名后,所有設備的名字的集合稱做設備的名字空間。 UNIX系列有3種不同的名字空間。 (1) 主次設備號 (2) 內部號與外部號 (3) 設備文件與路徑名IO設備管理課件277.2.3 與設備無關的與設備無關的I/O軟件軟件2. 設備保護 與設備命名機制密切相關的是設備保護。 在大多數大型計算機系統中,用戶進程對I/O設備的訪問是完全禁止的。 IO設備管理課件287.2.3 與設備無關的與設備無關的I/O軟件軟件3. 與設備無關的塊及存儲設備的

14、塊分配 不同的磁盤可以采用不同的扇區尺寸,與設備無關軟件的一個任務是向較高層軟件屏蔽并給上一層提供大小統一的塊尺寸 。IO設備管理課件297.2.3 與設備無關的與設備無關的I/O軟件軟件4. 設備分配一些設備,如磁盤驅動器,在任一時刻只能被單個進程使用。因此,操作系統需要對設備使用請求進行檢查,并根據申請設備的可用狀況決定是接收該請求還是拒絕該請求。 IO設備管理課件307.2.3 與設備無關的與設備無關的I/O軟件軟件5. 出錯處理出錯處理是由設備驅動程序完成的。大多數錯誤是與設備密切相關的,因此,只有驅動程序知道應如何處理(是重試、忽略,還是報警)。 IO設備管理課件317.2.4 用戶

15、空間的用戶空間的I/O軟件軟件 雖然大部分I/O軟件都包合在OS內核之中,但也有一小部分I/O軟件是由與用戶程序連接在一起的庫過程構成,它們可能完全運行在OS之外。例如,下列一個C程序調用了write庫過程,并包含在運行時的二進制程序代碼中:count=write(fd, buffer, nbytes);顯然,write庫過程是I/O系統的組成部分。 上面描述的是第一類用戶空間I/O軟件,第二類用戶空間I/O軟件為spooling(simultaneous peripheral operation on line)系統,即假脫機系統。spooling系統是多道程序設計系統中處理獨占I/O設備的

16、一種方法。 IO設備管理課件327.2.4 用戶空間的用戶空間的I/O軟件軟件spooling系統的作用如下: (1) 實現了虛擬設備功能 (2) 將獨占型設備變成共享設備 (3) 提高了I/O效率IO設備管理課件337.2.5 緩沖技術緩沖技術系統為達到如下目的需要使用緩沖技術: (1) 緩和CPU與I/O設備間速度不匹配的矛盾 (2) 減少CPU的中斷頻率,放寬對中斷響應的限制 (3) 提高CPU和I/O設備之間的并行性IO設備管理課件347.2.5 緩沖技術緩沖技術 根據系統設置的緩沖區的個數,可以把緩沖技術分為單緩沖、雙緩沖和循環緩沖以及緩沖池幾種。用戶進程操作系統傳送輸入I/O 設備

17、單緩沖 IO設備管理課件35雙緩沖 多緩沖 傳送用戶進程操作系統輸入I/O 設備傳送輸入I/O 設備用戶進程操作系統7.2.5 緩沖技術緩沖技術IO設備管理課件367.2.5 緩沖技術緩沖技術1單緩沖 單緩沖是OS提供的一種最簡單的緩沖。當用戶進程發出一個I/O請求時,OS便在主存中分配一個緩沖區。 對于單緩沖,緩沖區屬于臨界資源,即不允許多個進程同時對一個緩沖區進行操作。因此,單緩沖雖然能匹配設備和CPU的處理速度,但無法實現設備與設備之間的并行操作。 IO設備管理課件377.2.5 緩沖技術緩沖技術2. 雙緩沖 雙緩沖提供兩個緩沖區。 但雙緩沖只是一種說明設備與設備、CPU與設備并行操作的

18、簡單模型,并不能用于實際系統中的并行操作。 IO設備管理課件387.2.5 緩沖技術緩沖技術3. 循環緩沖 由于雙緩沖并不能真正解決實際系統中的并行操作,于是引入了多緩沖。通過增加緩沖區的個數,可使并行程度得到明顯提高。 多緩沖是把多個緩沖區連接起來組成兩部分:一部分專門用于輸入;另一部分專門用于輸出。循環緩沖包括以下兩部分。 (1) 多個緩沖區 (2) 多個指針IO設備管理課件397.2.5 緩沖技術緩沖技術4. 緩沖池 上述的循環緩沖區僅適用于某特定的I/O進程和計算進程,因而屬于專用緩沖。為了提高緩沖區的利用率,目前廣泛流行公用緩沖池,池中的緩沖區可供多個進程共享。 (1) 緩沖池的結構

19、相同類型的緩沖區鏈成一個隊列,于是可形成以下3個隊列: 空緩沖隊列emq。 輸入隊列inq。 輸出隊列outg。IO設備管理課件407.2.5 緩沖技術緩沖技術緩沖池中的工作緩沖區 :hin緩沖區 lSin緩沖區 msout緩沖區 nhout緩沖區 k提取輸入收容輸出CPU收容輸入提取輸出I/O 設備IO設備管理課件417.2.5 緩沖技術緩沖技術 (2) 緩沖池的管理一般,管理緩沖池的步驟如下: take-buf(type):從3種緩沖區隊列中按一定的規則取出一個緩沖區。 add-buf(type, number):把緩沖區按一定的規則插入相應的緩沖隊列。 get-buf(type, num

20、ber):申請緩沖區。 put-buf(type, work-buf):將緩沖區放入相應緩沖區隊列。其中,type為緩沖隊列類型, number為緩沖區號,work-buf為工作緩沖區類型。IO設備管理課件427.3 磁盤調度磁盤調度近30年來,處理器和主存速度的增加遠遠把磁盤拋在了后面。因為磁盤的相對低速,使得磁盤子系統的性能變得至關重要,許多人也在積極探索提高磁盤子系統性能的方法,改進調度策略,降低查找時間。IO設備管理課件437.3.1 調度策略調度策略 磁盤調度策略有很多,常見的有隨機調度、先進先出、進程優先級、后進先出等。1. 先進先服務策略(FCFS) 顧名思義,它是將各進程對磁盤

21、請求的等待隊列按提出請求的時間進行排序,并按此次序給予服務的一種策略。 這個策略對各進程是公平的,它不管進程優先級多高,只要是新來到的訪問請求,都被排在隊尾。 IO設備管理課件447.3.1 調度策略調度策略2最短服務時間優先策略(SSTF) 這是將請求隊列中柱面號最接近于磁頭當前所在柱面的訪問要求,作為一個服務對象的一種策略。3掃描策略 掃描策略(SCAN)也叫電梯策略(Elevator Algorithm)。大多數電梯保持按一個方向移動,直到沒有請求為止,然后改變方向。 IO設備管理課件457.3.1 調度策略調度策略4. 循環掃描策略(CSCAN) 對SCAN算法稍作改進可以進一步減少響

22、應時間。方法是:總是按同一方向移動磁臂,處理完最高編號柱面上的請求后,磁臂移動到具有讀/寫請求的最低編號的柱面,然后繼續向上移動。IO設備管理課件467.3.1 調度策略調度策略 磁盤調度策略很多,各有利弊。如何選擇相應調度策略與磁盤的使用環境因素有關。 磁盤調度的另一個趨勢是使多個磁盤(磁盤陣列)一起工作,特別對高端系統很有用。廉價冗余磁盤陳列(Redundant Array of Inexpensive Disks,簡稱RAID) 的特點是: RAID是一個物理磁盤集合,但被OS認為是一個邏輯盤。 數據分布存放在不同磁盤上。 具有較強的糾錯能力。IO設備管理課件477.3.2 磁盤高速緩存磁盤高速緩存 Cache存儲器是在主存和處理器之間插入的一個更快、

溫馨提示

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

評論

0/150

提交評論