設備驅動程序


設備處理程序通常又稱為設備驅動程序,它是I/O系統的高層與設備控制器之間的通信程序,其主要任務是接收上層軟件發來的抽象I/O要求,如read或write命令,再把它轉換為具體要求后,發送給設備控制器,啟動設備去執行;反之,它也將由設備控制器發來的信號傳送給上層軟件。

設備驅動程序概述   1. 設備驅動程序的功能   (1) 接收由與設備無關的軟件發來的命令和參數,並將命令中的抽象要求轉換為與設備相關的低層操作序列。  (2) 檢查用戶I/O請求的合法性,了解I/O設備的工作狀態,傳遞與I/O設備操作有關的參數,設置設備的工作方式。  (3) 發出I/O命令,如果設備空閑,便立即啟動I/O設備,完成指定的I/O操作;如果設備忙碌,則將請求者的請求塊掛在設備隊列上等待。  (4) 及時響應由設備控制器發來的中斷請求,並根據其中斷類型,調用相應的中斷處理程序進行處理。

設備驅動程序的特點   設備驅動程序屬於低級的系統例程,它與一般的應用程序及系統程序之間有下述明顯差異:  (1) 驅動程序是實現在與設備無關的軟件和設備控制器之間通信和轉換的程序,具體說,它將抽象的I/O請求轉換成具體的I/O操作后傳送給控制器。又把控制器中所記錄的設備狀態和I/O操作完成情況,及時地反映給請求I/O的進程。  (2) 驅動程序與設備控制器以及I/O設備的硬件特性緊密相關,對於不同類型的設備,應配置不同的驅動程序。但可以為相同的多個終端設置一個終端驅動程序。(3) 驅動程序與I/O設備所采用的I/O控制方式緊密相關,常用的I/O控制方式是中斷驅動和DMA方式。  (4) 由於驅動程序與硬件緊密相關,因而其中的一部分必須用匯編語言書寫。目前有很多驅動程序的基本部分已經固化在ROM中。  (5) 驅動程序應允許可重入。一個正在運行的驅動程序常會在一次調用完成前被再次調用。

3. 設備處理方式   在不同的操作系統中,所采用的設備處理方式並不完全相同。 主要分成以下三類: 1) 為每一類設備設置一個進程,專門用於執行這類設備的I/O操作;2) 在整個系統中設置一個I/O進程,專門用於執行系統中所有各類設備的I/O操作; 3) 不設置專門的設備處理進程,而只為設備設置相應的設備驅動程序,供用戶或系統進程調用。這種方式目前用得最多。

設備驅動程序的處理過程  設備驅動程序的主要任務是啟動指定設備,完成上層指定的I/O工作。但在啟動之前,應先完成必要的准備工作,如檢測設備狀態是否為“忙”等。在完成所有的准備工作后,才向設備控制器發送一條啟動命令。 處理過程有五步: (1) 將抽象要求轉換為具體要求; (2) 對服務請求進行校驗;(3) 檢查設備的狀態; (4) 傳遞必要的參數; (5) 啟動I/O設備。

對I/O設備的控制方式 對設備的控制,早期是使用輪詢的可編程I/O方式,后來發展為使用中斷的可編程I/O方式。


免責聲明!

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



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