1. 程式人生 > >操作系統第五章總結/

操作系統第五章總結/

物理 獨立性 驅動 操作數 隊列 分配 並行 image str

第五章 輸入/輸出管理

  1. I/O控制方式:程序直接控制方式,中斷驅動方式,DMA方式,通道控制方式。
  2. 程序直接控制方式:cpu需要對外設進行循環檢查,直到確定該字已經在IO控制器的數據寄存器中。CPU和iO設備只能串行。
  3. 中斷驅動方式:允許io設備主動打斷cpu運行並請求服務,從而解放cpu,使cpu向io控制器發送完讀命令後可以繼續做其他工作。以字傳輸,每個字需中斷。
  4. DMA方式:在IO設備和內存之間開辟直接數據通路,徹底解放cpu,以數據塊傳輸,僅在開始或結束時候才需要cpu幹預,整塊數據傳送是在DMA控制器的控制下完成。
  5. DMA控制器中應設置包括四類寄存器:命令/狀態寄存器(CR)接受從cpu發來的io命令或控制信息或設備的狀態,內存地址寄存器(MAR)輸入是存放內存的起始目標地址/輸出時存放內存源地址,數據寄存器(DR)暫存內存到設備或設備到內存的數據,數據計數器(DC)存放本次傳送的字數
  6. DMA方式工作過程:當cpu接受到io設備的DMA請求時候,它給DMA控制器發出一條命令,啟動DMA控制器,由DMA控制操作數據,cpu去做其他事,DMA控制器和存儲器交互,傳送整個數據塊,每次僅傳一個字,這個過程不需cpu參與,當全部傳送完成,DMA控制器發送中斷信號給cpu。
  7. 通道控制方式:io通道是專門負責輸入輸出的處理機。一組數據塊的讀寫為單位,實現cpu,通道,和io設備三者並行。
  8. 通道控制方式工作過程:cpu收到io設備請求,向通道發生一條io指令,給出所執行通道程序的首地址和訪問的io設備,通道執行通道程序完成cpu指定io任務,數據傳送結束後向cpu發中斷請求。
  9. io通道和一般處理機的區別:通道指令單一,沒有自己的內存,通道程序存放在主機內存和cpu共享內存。
  10. io通道和DMA方式區別:DMA方式需要cpu來控制傳輸的數據塊大小,傳輸的內存位置,每DMA控制器對應一臺設備和內存傳遞數據;通道控制傳輸的信息,可以控制多臺設備和內存的數據交換。
  11. io子系統的層次:用戶層io軟件,設備獨立性軟件,設備驅動程序,中斷處理程序,硬件設備
  12. I/O調度就是確定一個好的順序來執行這些I/O請求。
  13. 磁盤高速緩存(Disk Cache)利用內存空間來暫存從磁盤中讀出的一系列盤塊中的信息。
  14. 磁盤高速緩存在邏輯上屬於磁盤,物理上則是駐留在內存中的盤塊。
  15. 高速緩存在內存中分為兩種形式:一種是在內存中開辟一個單獨的存儲空間作為磁盤高速緩存,大小固定;另一種是把未利用的內存空間作為一個緩沖池,供請求分頁系統和磁盤I/O時共享。
  16. 在設備管理子系統中,引入緩沖區的目的主要有:
    1)緩和CPU與I/O設備間速度不匹配的矛盾。
    2)減少對CPU的中斷頻率,放寬對CPU中斷響應時間的限制。
    3)解決基本數據單元大小(即數據粒度)不匹配的問題。
    4)提高CPU和I/O設備之間的並行性。
  17. 緩沖技術有:單緩沖(在設備和處理機之間設置一個緩沖區)雙緩沖(緩沖區1滿了再裝填2,處理完1,2滿了則處理2)循環緩沖(多個大小相等的緩沖區,每個緩沖區有鏈接指針到下個緩沖區,最後一個指向第一個)緩沖池(系統公用緩沖區,緩沖區分三個隊列)
  18. 高速緩存和緩沖區的區別技術分享圖片

  19. 設備分配是指根據用戶的I/O請求分配所需的設備。分配的總原則是充分發揮設備的使用效率,盡可能地讓設備忙碌,又要避免由於不合理的分配方法造成進程死鎖。
  20. 設備的特性來看,采用下述三種使用方式的設備分別稱為獨占設備、共享設備和虛擬設備。
  21. SPOOLing技術是在批處理操作系統時代引入的,即假脫機I/O技術。這種技術用於對設備的操作,實質上就是對I/O操作進行批處理。
  22. SPOOLing技術實質上是一種以空間換取時間的技術,請求分頁系統中的頁面調度算法剛好相反,是以時間換空間的技術。
  23. 設備分配依據的主要數據結構:設備控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)和系統設備表(SDT)
  24. 設備分配先後訪問的數據結構:SDT—DCT—COCT—CHCT
  25. 一個設備控制表就表征一個設備,而這個控制表中的表項就是設備的各個屬性。每個設備都分為機械部件和電子部件兩部分,其中負責解析上層傳達的命令並控制解析部件運作的是電子部件(控制器),所以每個DCT,都需要一個表項來表示控制器,也就是需要一個指向控制器控制表(COCT),因此DCT與COCT有一一對應的關系。
  26. 系統設備表SDT:整個系統只有一張SDT。它記錄已連接到系統中的所有物理設備的情況,每個物理設備占一個表目。

  27. 設備分配考慮因素:I/O設備的固有屬性、I/O設備的分配算法、I/O設備分配的安全性以及I/O設備的獨立性。
  28. 設備分配原則:設備分配應根據設備特性、用戶要求和系統配置情況。分配的總原則:既要充分發揮設備的使用效率,又要避免造成死鎖,還要將用戶程序和具體設備隔離開。
  29. 對於獨占設備,既可以用動態分配方式也可以采用靜態分配方式,往往采用靜態分配方式,即在作業執行前,將作業所要用的這一類設備分配給它。共享設備可被多個進程所共享,一般采用動態分配方式,但在每個I/O傳輸的單位時間內只被一個進程所占有,通常采用先請求先分配和優先級高者優先的分配算法。
  30. 為了提高設備分配的靈活性和設備的利用率、方便實現I/O重定向,因此引入了設備獨立性。設備獨立性是指應用程序獨立於具體使用的物理設備。為了實現設備獨立性,在應用程序中使用邏輯設備名來請求使用某類設備,在系統中設置一張邏輯設備表(LUT),用於將邏輯設備名映射為物理設備名。LUT表項包括邏輯設備名、物理設備名和設備驅動程序入口地址;當進程用邏輯設備名來請求分配設備時,系統為它分配相應的物理設備,並在LUT中建立一個表項,以後進程再利用邏輯設備名請求I/O操作時,系統通過查找LUT來尋找相應的物理設備和驅動程序。
  31. 在系統中可采取兩種方式建立邏輯設備表:
    1)在整個系統中只設置一張LUT。這樣,所有進程的設備分配情況都記錄在這張表中,故不允許有相同的邏輯設備名,主要適用於單用戶系統中。
    2)為每個用戶設置一張LUT。當用戶登錄時,系統便為該用戶建立一個進程,同時也為之建立一張LUT,並將該表放入進程的PCB中。

  32. SPOOLing系統的主要特點有:提高了I/O的速度:將獨占設備改造為共享設備;實現了虛擬設備功能。
  33. 輸入輸出井是在磁盤上開辟存儲空間,輸入輸出緩沖區是在內存中開辟。
  34. 用戶打印數據首先被送到輸出井,輸出井在磁盤。

操作系統第五章總結/