1. 程式人生 > >裝置管理---I/O系統與中斷機構

裝置管理---I/O系統與中斷機構

一、I/O系統的基本功能、模型和介面

關於裝置管理

  • 管理物件:I/O裝置和相應的裝置控制器(I/O系統組成)
  • 基本任務:
    (1)完成使用者提出的I/O請求,
    (2)提高I/O速率、改善I/O裝置的利用率。
    (3)為更高層程序方便使用裝置提供手段

I/O系統的組成
包括:
需要用於輸入、輸出和儲存資訊的裝置;
需要相應的裝置控制器;
控制器與CPU連線的高速匯流排;
有的大中型計算機系統,配置I/O通道;
在這裡插入圖片描述

  1. I/O系統的基本功能
    (1)隱藏物理裝置的細節(方便使用者)
    (2)實現裝置無關性(方便使用者)
    提高CPU和I/O裝置的利用率:
    (3)提高處理機和裝置的並行性,提高利用率:緩衝區管理
    (4)對I/O裝置進行控制:控制方式、裝置分配、裝置處理
    為使用者在共享裝置時提供方便:
    (5)確保對裝置正確共享:虛擬裝置及裝置獨立性等
    (6)錯誤處理
  2. I/O/系統的層次結構和模型
    層次結構:系統中的裝置管理模組分為若干個層次
    層間操作:下層為上層提供服務,完成輸入輸出功能中的某些子功能,並遮蔽功能實現的細節。
    在這裡插入圖片描述
    ①使用者層軟體
    實現與使用者互動的介面,使用者可直接呼叫在使用者層提供的、與I/O操作有關的庫函式,對裝置進行操作。
    ②裝置獨立軟體
    用於實現使用者程式與裝置驅動器的統一介面、裝置命名、裝置的保護以及裝置的分配與釋放等,同時為裝置管理和資料傳送提供必要的儲存空間
    ③裝置驅動程式
    與硬體直接相關,用於具體實現系統對裝置發出的操作指令,驅動I/O裝置工作的驅動程式。
    功能:將上層發來的抽象I/O請求,轉換為對I/O裝置的具體命令和引數,並把它裝入到裝置控制其中的命令和引數暫存器中。
    ④中斷處理程式
    用於儲存被中斷程序的CPU環境,轉入相應的中斷處理程式進行處理,處理完後再恢復被中斷程序的現場後,返回到被中斷程序。處於I/O系統的底層,直接與硬體進行互動。
  3. I/O系統介面
    (1)塊裝置介面
    資料的存取和傳輸都是以資料塊為單位的裝置。基本特徵是傳輸速率較高、可定址。磁碟裝置的I/O常採用DMA方式。
    (2)字元裝置(流裝置介面):
    資料的存取和傳輸是以字元為單位的裝置。基本特徵是傳輸速率較低、不可定址,常採用中斷驅動方式。
    (3)網路通訊介面

二、I/O裝置和裝置控制器

  1. I/O裝置的型別:
    a.按傳輸速率分類:低速、中速、高速(鍵盤、印表機、磁碟)
    b.按使用特性分類:儲存裝置、輸入輸出裝置
    c.按資訊交換的單位分類:塊裝置、字元裝置
    d.按裝置的共享屬性分類:獨佔(印表機)、共享(磁碟)、虛擬

    ==》裝置與控制器之間的介面
    與控制器的介面有三種類型的訊號
    ①資料訊號線(進出資料轉換、緩衝後傳送)
    ②控制訊號線(讀\寫\移動磁頭等控制)
    ③狀態訊號線

  2. 裝置控制器
    (1)基本功能
    ①接收和識別CPU命令(控制暫存器:存放命令和引數)
    ②標識和報告裝置的狀態(狀態暫存器)
    ③資料交換(資料暫存器)
    ④地址識別(控制器識別裝置地址、暫存器地址。地址譯碼器)
    ⑤資料緩衝(協調I/O與CPU的速度差距)
    ⑥差錯控制
    (2)組成
    ①裝置控制器與處理機的介面
    ②裝置控制器與裝置的介面
    ③I/O邏輯
    (3)處理機與裝置控制器間
    實現CPU與裝置控制器之間的通訊。
    共有三類訊號線:
    ①資料線:資料線通常與兩類暫存器相連線,第一類是資料暫存器;第二類是控制/狀態暫存器。
    ②地址線
    ③控制線

  3. I/O通道
    (1)在CPU和裝置控制器之間增設一個硬體機構:“通道”
    設定通道後:
    *CPU只需向通道傳送一條I/O指令即可不再幹預後續操作。
    *通道形成通道程式,執行I/O操作,完成後向CPU發中斷訊號。

    ①主要目的:建立更獨立的I/O操作,解放CPU。
    ②I/O通道是一種特殊的處理機:
    a.指令型別單一,只用於I/O操作;
    b.通道沒有記憶體,它與CPU共享記憶體
    (2)通道型別
    根據其控制的外圍裝置的不同型別,資訊交換方式也可分為以下三種類型:
    位元組多路通道
    陣列選擇通道
    陣列多路通道

三、中斷機構和中斷處理程式

  1. 中斷簡介
    (1)中斷和陷入
    中斷:CPU對I/O裝置發來的中斷訊號的一種響應,中斷是由外部裝置引起的,又稱外中斷
    陷入:由CPU內部事件所引起的中斷,通常把這類中斷稱為內中斷或陷入(trap)。
    中斷和陷入的主要區別:是訊號的來源,一個來源於CPU外部,一個來自CPU內部。
    (2)中斷向量表
    中斷向量表:為每種裝置配以相應的中斷處理程式,並把該程式的入口地址,放在中斷向量表的一個表項中,併為每一個裝置的中斷請求,規定一箇中斷號,它直接對應於中斷向量表的一個表項中。
    (3)對多中斷源的處理方式
    ①遮蔽(禁止)中斷:
    a.所有中斷都將按順序依次處理。
    b.優點是簡單,但不能用於對實時性要求較高的中斷請求。
    ②巢狀中斷:
    a.中斷優先順序:系統根據不同中斷訊號源,對服務要求的緊急程度的不同,它們分別規定不同的優先順序。
    b.當同時有多個不同優先順序的中斷請求時,CPU優先響應最高優先順序的中斷請求;
    c.高優先順序的中斷請求,可以搶佔正在執行低優先順序中斷的處理機,該方式類似於基於優先順序的搶佔式程序排程。

  2. 中斷處理程式
    (1)主要工作
    ①進行程序上下文的切換
    ②對處理中斷訊號源進行測試
    ③讀取裝置狀態
    ④修改程序狀態
    (2)中斷處理流程
    ①測定是否有未響應的中斷訊號
    ②保護被中斷程序的CPU環境
    ③轉入相應的裝置處理程式
    ④中斷處理
    ⑤恢復CPU的現場
    在這裡插入圖片描述