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