操作系統IO方式


1.程序查詢方式
   程序查詢方式是一種程序直接控制方式,這是主機與外設間進行信息交換的最簡單方式,輸入和輸出完全是通過CPU執行程序來完成的。一旦某一外設被選中並啟動之后,主機將查詢這個外設的某些狀態位,看其是否准備就緒?若外設未准備就緒,主機將再次查詢;若外設已准備就緒,則執行一次I/O操作。             這種方式控制簡單,但外設和主機不能同時工作,各外設之間也不能同時工作,系統效率很低,因此,僅適用於外設的數目不多,對I/O處理的實時要求不那么高,CPU的操作任務比較單一,並不很忙的情況。
 
2.程序中斷方式
       在主機啟動外設后,無須等待查詢,而是繼續執行原來的程序,外設在做好輸入輸出准備時,向主機發中斷請求,主機接到請求后就暫時中止原來執行的程序,轉去執行中斷服務程序對外部請求進行處理,在中斷處理完畢后返回原來的程序繼續執行。顯然,程序中斷不僅適用於外部設備的輸入輸出操作,也適用於對外界發生的隨機事件的處理。             完成一次程序中斷還需要許多輔助操作,主要適用於中、低速外設。
 
3.直接存儲器存取(DMA)方式
  DMA方式是在主存和外設之間開辟直接的數據通路,可以進行基本上不需要CPU介入的主存和外設之間的信息傳送,這樣不僅能保證CPU的高效率,而且能滿足高速外設的需要。             DMA方式只能進行簡單的數據傳送操作,在數據塊傳送的起始和結束時還需CPU及中斷系統進行預處理和后處理
 
一個設備接口試圖通過總線直接向另一個設備發送數據(一般是大批量的數據),它會先向CPU發送DMA請求信號。外設通過DMA的一種專門接口電路――DMA控制器(DMAC),向CPU提出接管總線控制權的總線請求,CPU收到該信號后,在當前的總線周期結束后,會按DMA信號的優先級和提出DMA請求的先后順序響應DMA信號。CPU對某個設備接口響應DMA請求時,會讓出總線控制權。於是在DMA控制器的管理下,外設和存儲器直接進行數據交換,而不需CPU干預。數據傳送完畢后,設備接口會向CPU發送DMA結束信號,交還總線控制權。
 
實現DMA傳送的基本操作如下:
 
(1)外設可通過DMA控制器向CPU發出DMA請求:
 
(2)CPU響應DMA請求,系統轉變為DMA工作方式, 並把總線控制權交給DMA控制器;
 
(3)由DMA控制器發送存儲器地址,並決定傳送數據塊的長度;
 
(4)執行DMA傳送;
 
(5)DMA操作結束,並把總線控制權交還CPU。
 
4.  I/O通道控制方式
 
      I/O通道控制方式是DMA方式的進一步發展,在系統中設有通道控制部件,每個通道掛若干外設,主機在執行I/O操作時, 只需啟動有關通道,通道將執行通道程序,從而完成I/O操作。             通道是一個具有特殊功能的處理器,它能獨立地執行通道程序,產生相應的控制信號,實現對外設的統一管理和外設與主存之間的數據傳送。但它不是一個完全獨立的處理器。它要在CPU的I/O指令指揮下才能啟動、停止或改變工作狀態,是從屬於CPU的一個專用處理器
 
一個通道執行輸入輸出過程全部由通道按照通道程序自行處理,不論交換信息多少,只打擾CPU兩次(啟動和停止時)。因此,主機、外設和通道可以並行同時工作,而且一個通道可以控制多台不同類型的設備。             目前,小型、微型機大多采用程序查詢方式、程序中斷方式和DMA方式;大、中型機多采用通道方式。
 
通道工作過程:
①在用戶程序中使用訪管指令進入管理程序,由CPU通過管理程序組織一個通道程序,並啟動通道。             ②通道執行CPU為它組織的通道程序,完成指定的數據輸入輸出工作。             ③通道程序結束后向CPU發中斷請求。CPU響應這個中斷請求后,第二次進入操作系統,調用管理程序對中斷請求進行處理。             這樣,每完成一次輸入輸出工作,CPU只需要兩次調用管理程序,大大減少了對用戶程序的打擾。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM