摘 要:計算機驅動程序是其非常重要的組成部分之一,應用程序和操作系統要發揮其管理和操作功能必須要依賴于驅動程序,并且驅動代碼在各類系統中都占據非常高的比例。從另一個方面來說,操作系統中的各種主要錯誤都是來自于設備驅動的程序,該部分的錯誤概率高于系統中其他部分好幾倍。驅動程序一般來說復雜性非常的高,并且體量都比較龐大。驅動程序的運行需要嚴格按照操作規范的要求,結合硬件條件,對其進行管理和操作。計算機驅動程序包含操作系統、代碼和硬件等,各部分相互作用和影響,加深了驅動程序結構的復雜性。此外,其中的任何一個元素如果發生變化,都會重新構造新的驅動程序。所以,在軟件開發中,要想方設法的提升驅動程序的效率,減少出現的錯誤概率,提高其質量。
關鍵詞:計算機驅動;復雜性;測試模塊;開發研究
引言
外圍設備是通過輸入輸出總線與中央處理器相連,通常集成在同一塊電路上,更像是附加的設備,但都具有特定的功能,比如一些基本的硬件,像鼠標、鍵盤等。計算機的驅動程序是介于操作系統及設備之間的軟件,提供了管理和操作設備所必須的接口。驅動程序針對操作系統和應用程序的請求進行轉換,成為控制設備所使用的操作命令。與此同時,它也用來回應和處理各種事件以及請求。此外,在對設備狀態進行查詢時也需要依靠驅動程序來完成。在現代計算機操作系統中,驅動程序的代碼占據了很大一部分,也是產生各類錯誤最主要的原因,也是由于其自身的復雜性所造成的,也給對其進行維護的工作造成了很大的困難。
現代電子技術的發展更求更加完善的計算機驅動程序與之相適應,原來的開發方法很難再開發出高質量的系統,面臨著非常多的挑戰,比如驅動程序復雜性較難控制、可復用性較低、質量較為低劣等。因此,需要創新開發方法,改善開發的效率,減少錯誤發生的概率,確保驅動質量。
1 模塊設備驅動程序開發途徑
計算機驅動程序實際上是一層軟件,也是一種特殊程序能夠在計算機和設備之間建立通信渠道,其結構整體上較為復雜,并且以前的開發方法對人的因素要求很高,利用模塊化的開發方法能夠比較有效的解決傳統開發方法中存在的許多問題。
1.1 計算機驅動程序的功能及其結構
計算機驅動的作用就是將高層的請求轉換為底層的輸入和輸出序列,在此過程還需要接口以及資源跟操作系統的其他部分交互。這個過程也就是實現驅動接口的過程,需要操作系統通過驅動接口提供集合和代碼。以往的開發方法會涉及到供應商和制造商以及集成商,需要三方面主體的配合。
計算機驅動程序是一種可以向操作系統提供硬件設備的接口的特殊程序,驅動的主要功能就是將請求轉換為操作序列。驅動接口實際上是一種接口的集合,由操作系統提供給計算機驅動。主要是由內核中的子系統來提供這一功能,除此之外,驅動接口還為計算機提供以太網卡設備驅動等相關性服務[1]。計算機驅動程序在發揮其功能時實際上就是編寫實現代碼的一個過程,主要就是輸入和輸出操作,主要是針對設備寄存器和內存進行的相關操作,實現對設備的控制。該過程還會涉及到其他內核的服務,主要以子系統提供的服務為主,還有內核提供的服務。除此之外,還要做到了解基本的平臺信息??偟膩碚f,在計算機驅動程序發揮功能時主要用到的接口和資源包括操作系統提供的驅動接口、內核、C庫、子系統、設備的訪問接口及寄存器和系統的平臺資源。計算機的驅動程序功能的發揮主要依據上述接口和資源,進行交互,涉及平臺、設備以及操作系統三個主要的對象。
1.2 原本的開發方法
芯片的制造商會依據編寫出來的描述語言或者其他的手段進行芯片的生產,然后系統集成商會根據需要購買芯片,將其集成到平臺上,目標計算機系統就此誕生,這是硬件方面的開發方法。關于軟件的開發方法,操作系統的開發商會提供一個操作平臺,同時將芯片的有關資料集成到電路上[2]。相關的開發人員會開發出每個系統下面的驅動程序,提供這一類的接口的集合和基本的內核服務以及子系統服務等,把知識有效地轉換成代碼,驅動程序也就建立成功。但是,要想正確地運行需要對各種資源進行整合然后再將其轉換成程序代碼。
2 模塊化分析、接口的設計及實現
2.1 模塊化分析
模塊化實際上是生產過程中的一種分工的思想,能夠有效解決很多復雜的問題。用在軟件開發方面就是將待開發的軟件進行劃分,使之成為較小的部分,稱之為模塊,然后針對每個模塊進行單獨的開發和測試,最終整合成完整的軟件。模塊化方法的應用對于解決復雜軟件的開發問題非常有效,并且具有靈活的特點,也更容易刺激創新成果的出現,也會加強專業化的程度。軟件開發的模塊化方法主要涉及兩部分,即接口和實現。
2.2 操作系統
該模塊的主要作用就是讀取平臺上硬件的配置參數,對計算機模塊的接口進行調用,同時完成內核的交互,實現驅動接口。除此之外,還要為計算機各模塊提供基本的內核服務。在模塊化之后,操作系統還要調用系統平臺提供的具體參數。該模塊的組成也是依靠驅動接口的集合和代碼。
2.3 設備
設備模塊的作用就是能夠直接和設備的輸出輸入端進行交互,并且能夠提供一層接口來對設備的運行進行控制,也就是設備控制層,其中包括屬性和狀態的描述,還有一些調用接口。其中包括一些代碼的實現以及對很多資源和接口的調用。
2.4 系統平臺
該模塊主要是給設備提供硬件環境,并且也能夠為其他設備所用。能夠提供設備的地質空間,有效的提升計算機的工作效率,使得所有的硬件都能夠在計算機的運行過程中發揮各自的作用??偟膩碚f,計算機的正常運行離不開中央處理器、內存等,系統平臺模塊能夠完整的提供這些硬件的描述。
3 結束語
通過對模塊設備驅動程序及其開發途徑來分析計算機驅動程序的模塊開發,然后針對模塊開發中三個重要的模塊進行分析,包括操作系統、設備和系統平臺。還對三個模塊的關系及其設計中的一些基本問題做了簡單的探討,與業內人士共同學習。
參考文獻
[1]劉振宇,王恒.基于形式化方法的測試驅動開發研究[J].計算機工程與設計,2008,29(15):3944-3946.
[2]季義欽.模塊化設備驅動開發途徑研究[D].南京:南京大學,2013.
作者簡介:林支朋(1980,01-),男,漢族,江蘇寶應,學位:學士,研究方向:計算機科學與技術。