首頁 > 文章中心 > 驅(qū)動(dòng)程序設(shè)計(jì)

          驅(qū)動(dòng)程序設(shè)計(jì)范文精選

          前言:在撰寫驅(qū)動(dòng)程序設(shè)計(jì)的過程中,我們可以學(xué)習(xí)和借鑒他人的優(yōu)秀作品,小編整理了5篇優(yōu)秀范文,希望能夠?yàn)槟膶懽魈峁﹨⒖己徒梃b。

          設(shè)備驅(qū)動(dòng)程序應(yīng)用方式分析

          編者按:本論文主要從異步過程調(diào)用;事件方式;消息方式;異步I/O方式;事件方式等進(jìn)行講述,包括了為了保證操作系統(tǒng)的安全性和穩(wěn)定性以及應(yīng)用程序的可移植性、Win32應(yīng)用程序創(chuàng)建一個(gè)事件的句柄、Win32應(yīng)用程序首先調(diào)用CreateFile()函數(shù)加載設(shè)備驅(qū)動(dòng)程序、Win32應(yīng)用程序首先創(chuàng)建一個(gè)事件,然后將該事件句柄傳給設(shè)備驅(qū)動(dòng)程序等,具體資料請見:

          論文關(guān)鍵詞:設(shè)備驅(qū)動(dòng)程序異步I/OVirtualDeviceDriver(VxD)WindowsDriverModel(WDM)

          論文摘要:在目前流行的Windows操作系統(tǒng)中,設(shè)備驅(qū)動(dòng)程序是操縱硬件的最底層軟件接口。為了共享在設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)過程中的經(jīng)驗(yàn),給出設(shè)備驅(qū)動(dòng)程序通知應(yīng)用程序的5種方法,詳細(xì)說明每種方法的原理和實(shí)現(xiàn)過程,希望能夠給設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)者提供一些幫助。

          為了保證操作系統(tǒng)的安全性和穩(wěn)定性以及應(yīng)用程序的可移植性,Windows操作系統(tǒng)不允許應(yīng)用程序直接訪問系統(tǒng)的硬件資源,而是必須借助于相應(yīng)的設(shè)備驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序可以直接操作硬件,如果應(yīng)用程序和設(shè)備驅(qū)動(dòng)程序之間實(shí)現(xiàn)了雙向通信,也就達(dá)到了應(yīng)用程序控制底層硬件設(shè)備的目的。它們之間的通信包括兩個(gè)方面:一方面是應(yīng)用程序傳送給設(shè)備驅(qū)動(dòng)程序的數(shù)據(jù);另一方面是設(shè)備驅(qū)動(dòng)程序發(fā)送給應(yīng)用程序的消息。前者的實(shí)現(xiàn)較容易,通過CreateFile()函數(shù)獲取設(shè)備驅(qū)動(dòng)程序的句柄后,就可以使用Win32函數(shù),如DeviceIoControl()、ReadFile()或WriteFile()等實(shí)現(xiàn)應(yīng)用程序與設(shè)備驅(qū)動(dòng)程序之間的通信。后者的實(shí)現(xiàn)遠(yuǎn)比前者復(fù)雜,同時(shí)介紹這方面情況的文章較少。這不等于說它不重要,相反,它在有些應(yīng)用場合發(fā)揮著重要的作用。設(shè)備驅(qū)動(dòng)程序完成數(shù)據(jù)的采集工作后,需要馬上通知應(yīng)用程序,以便應(yīng)用程序能夠及時(shí)將數(shù)據(jù)取走并進(jìn)行處理。諸如此類情況,不一而足。

          鑒于設(shè)備驅(qū)動(dòng)程序通知應(yīng)用程序的重要性,本人結(jié)合一些經(jīng)驗(yàn),對它進(jìn)行了總結(jié),歸納出5種方法:異步過程調(diào)用(APC)、事件方式(VxD)、消息方式、異步I/O方式和事件方式(WDM)。下面分別說明這幾種方式的原理,并給出實(shí)現(xiàn)的部分源代碼。

          1異步過程調(diào)用(APC)

          點(diǎn)擊閱讀全文

          組件機(jī)制與操作系統(tǒng)論文

          摘要本文介紹了一個(gè)操作系統(tǒng)開發(fā)平臺-OSKit,它提供了一套用于架構(gòu)操作系統(tǒng)內(nèi)核的庫函數(shù)和一些組件。它的設(shè)計(jì)目標(biāo)是降低進(jìn)入操作系統(tǒng)研究與開發(fā)領(lǐng)域的門檻。OSKit在設(shè)計(jì)時(shí)借用了COM的思想,把操作系統(tǒng)的各個(gè)部分設(shè)計(jì)成盡量獨(dú)立的組件,使開發(fā)者可以很方便地使用或替換這些組件來構(gòu)造自己的操作系統(tǒng)。

          關(guān)鍵字組件重用操作系統(tǒng)OSKit

          1引言

          當(dāng)前,操作系統(tǒng)的功能不斷擴(kuò)展,操作系統(tǒng)的類型呈現(xiàn)出多樣化的趨勢。一個(gè)小規(guī)模的開發(fā)小組已經(jīng)不可能完全從頭開始實(shí)現(xiàn)一個(gè)實(shí)用的操作系統(tǒng),而一般情況下,研究人員只對操作系統(tǒng)的一些特定領(lǐng)域感興趣,而對于另外一些元素,如啟動(dòng)加載代碼、核心啟動(dòng)代碼、設(shè)備驅(qū)動(dòng)程序和內(nèi)存分配代碼等往往不感興趣,但是一個(gè)可運(yùn)行的原型系統(tǒng)又必須包含這些內(nèi)容。編寫這些基礎(chǔ)結(jié)構(gòu)延緩了操作系統(tǒng)研究項(xiàng)目的進(jìn)度,同時(shí)也增加了進(jìn)行操作系統(tǒng)研究的代價(jià)。為了解決這一問題,猶他大學(xué)的FLUX研究小組開發(fā)了OSKit,它提供了一個(gè)框架和一組模塊化的、具有簡單接口的庫以及一組清晰的、可重用的OS組件。OSKit可以用來構(gòu)建操作系統(tǒng)內(nèi)核、外層服務(wù)和其他核心OS功能模塊。OSKit提供了各種功能模塊,諸如簡單自舉,一個(gè)可用于內(nèi)核的最小化POSIX環(huán)境、與物理內(nèi)存和其約束一致的內(nèi)存管理、廣泛的調(diào)試支持,以及高層子系統(tǒng)如協(xié)議棧和文件系統(tǒng)。開發(fā)者可以根據(jù)自己的研究興趣或所要考慮的性能來使用這些模塊,或用他們自己的模塊來替代標(biāo)準(zhǔn)的OSKit模塊。

          OSKit公開了它內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),允許用戶從成熟的操作系統(tǒng)中不加修改地提取代碼,然后通過一小部分經(jīng)過仔細(xì)設(shè)計(jì)的粘接代碼將它們合并到一起,隔離它們的依賴性,并輸出良好定義的接口。OSKit使用這一技術(shù)整合了許多穩(wěn)定而成熟的源代碼,包括設(shè)備驅(qū)動(dòng)、文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議等等。實(shí)踐表明,使用組件軟件架構(gòu)和重用技術(shù)會(huì)給操作系統(tǒng)實(shí)現(xiàn)領(lǐng)域帶來大的影響。

          2組件技術(shù)簡介

          點(diǎn)擊閱讀全文

          高職計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)課程體系構(gòu)建

          摘要:高職計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)教學(xué)的主要目標(biāo),在于培養(yǎng)學(xué)生利用計(jì)算機(jī)來解決問題的能力。教導(dǎo)學(xué)生一步步由了解問題、分析問題、擬定對策、撰寫程序、測試程序,最后解決問題。其教育上的意義不是要把學(xué)生都訓(xùn)練成程序設(shè)計(jì)師,而是要培養(yǎng)學(xué)生的邏輯思考和解決問題的能力。本文將主要探討基于任務(wù)驅(qū)動(dòng)的高職計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)課程體系的構(gòu)建。

          關(guān)鍵詞:任務(wù)驅(qū)動(dòng)高職計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)課程體系

          目前高職課程中雖然規(guī)劃了包括理論與實(shí)習(xí)在內(nèi)的專業(yè)科目,希望學(xué)生能夠理論與實(shí)務(wù)兼?zhèn)洹5趯?shí)際教學(xué)上,理論課程的教學(xué)大多仍采取照本宣科的模式;實(shí)習(xí)課則多停留在模仿學(xué)習(xí)階段,即由教師示范操作過程,學(xué)生再按圖施工如法炮制一番;其教學(xué)目的僅在提高學(xué)生操作設(shè)備、儀器之機(jī)械熟練度,而在邏輯思考及問題解決能力的訓(xùn)練上,大多被忽略。

          1當(dāng)前高職計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)課程教學(xué)的現(xiàn)狀

          在教學(xué)方式上,為使學(xué)生能融入問題解決的活動(dòng),深入探究問題,進(jìn)而解決問題,任務(wù)活動(dòng)為一種值得嘗試的教學(xué)方式。任務(wù)驅(qū)動(dòng)教學(xué)是以一種以學(xué)生為中心的教學(xué)策略,不但可以培養(yǎng)學(xué)生的主動(dòng)性,同時(shí)因?yàn)閷?shí)作的對象是現(xiàn)實(shí)世界中的真實(shí)任務(wù),對大部份學(xué)生的學(xué)習(xí)而言,更可以引其學(xué)習(xí)動(dòng)機(jī)。大部份老師上課時(shí)都是先透過教學(xué)廣播系統(tǒng)進(jìn)行指令的介紹和說明,再配合課本上范例程序的講解與示范,然后由學(xué)生實(shí)際上機(jī)操作、執(zhí)行并驗(yàn)證結(jié)果。在整個(gè)教學(xué)過程中,教學(xué)內(nèi)容實(shí)際上包含了程序語言介紹及程序邏輯推演等二個(gè)主題,而教學(xué)方式則包括了老師講解及學(xué)生上機(jī)實(shí)作二部份[1]。程序語言必需學(xué)會(huì)繁復(fù)的指令后,才能組合成小小的程序,但往往因?yàn)榇蜃謺r(shí)的疏忽,或是指令的誤用,使得編譯或執(zhí)行時(shí)錯(cuò)誤,造成學(xué)生很深的挫折感。許多學(xué)生對程序設(shè)計(jì)課程興趣缺乏,聽課時(shí)總是應(yīng)付了事,不求甚解,即使是在上機(jī)實(shí)作時(shí),也只在老師所舉范例中,尋找可能的答案,老師提問,學(xué)生則報(bào)以不知所云、彷徨不安的神情。最后使老師也喪失了對教學(xué)的信心,即使準(zhǔn)備再充份,往往也無法得到相對的響應(yīng)。造成此種現(xiàn)象的原因一方面來自程序設(shè)計(jì)本身的復(fù)雜度:設(shè)計(jì)一個(gè)程序,除了必須熟悉所使用的程序語言外,對程序背后的算法也要十分清楚才行。易言之,學(xué)生在學(xué)習(xí)程序設(shè)計(jì)時(shí)是同時(shí)在學(xué)種東西,既要了解指令,又要弄清楚程序的邏輯,這對大多數(shù)學(xué)生是件極大的挑戰(zhàn)。另一方面,不當(dāng)?shù)慕虒W(xué)方式則又加深了學(xué)習(xí)的困難。以往的程序教學(xué),多數(shù)老師和學(xué)生把學(xué)習(xí)重點(diǎn)放在指令語法上,結(jié)果使得學(xué)生面對問題時(shí)不知如何下手。上課時(shí)大都是教師講、學(xué)生聽,雖然方便達(dá)到授業(yè)的目的,但易養(yǎng)成學(xué)生不愿思考的被動(dòng)式學(xué)習(xí)態(tài)度,以致在解惑上就鮮有成效。

          2基于任務(wù)驅(qū)動(dòng)的高職計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)課程體系的構(gòu)建

          點(diǎn)擊閱讀全文

          用戶界面設(shè)計(jì)

          摘要該文從軟件可移植性的角度指出設(shè)計(jì)256色圖形用戶界面時(shí)應(yīng)當(dāng)注意的問題,在對SuperVGA產(chǎn)品進(jìn)行分析的基礎(chǔ)上,提出了基于表格驅(qū)動(dòng)的程序設(shè)計(jì)思想,并給出了范例。

          隨著各種超級VGA的出現(xiàn),同時(shí)具有高分辨率和豐富色彩的圖形用戶界面已經(jīng)成為程序員和用戶共同追求的目標(biāo)。然而由于各制造商提供的VGA產(chǎn)品之間的差異,使得高分辨率256色圖形界面的兼容性受到影響,常常會(huì)出現(xiàn)這樣的情況:在一個(gè)顯示系統(tǒng)下運(yùn)行良好的程序,在另一種顯示系統(tǒng)下變得面目全非,甚至根本不顯示。這表明程序員對程序的可移植性重視不夠,或?qū)Ω鞣N顯示設(shè)備缺乏足夠的了解。

          軟件的可移植性是指軟件產(chǎn)品從一個(gè)硬件/軟件環(huán)境轉(zhuǎn)移到另一個(gè)硬件/軟件環(huán)境的難易與繁簡程度。它從軟件對新環(huán)境的適應(yīng)性這一方面,反映了軟件的質(zhì)量。為了提高軟件的可移植性,應(yīng)盡量使軟件與具體的設(shè)備無關(guān),即提高軟件的設(shè)備獨(dú)立性。對于256色圖形界面而言,就是要使程序不依賴于某種特定的顯示器。例如,程序員沒有任何理由假定用戶使用的是TVGA。為此,程序員必須提供顯示卡的常規(guī)檢測例程,并能根據(jù)檢測的結(jié)果決定圖形算法的具體實(shí)現(xiàn)。

          提高軟件設(shè)備獨(dú)立性的方法有很多,表格驅(qū)動(dòng)就是其中一種。所謂表格,就是根據(jù)需要設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)。表格中的數(shù)據(jù)由檢測例程填寫。表格中包含哪些欄目,應(yīng)在對各制造商提供的SuperVGA產(chǎn)品足夠了解的基礎(chǔ)上取舍,欄目應(yīng)體現(xiàn)各產(chǎn)品之間的差異。

          一、SuperVGA編程綜述

          SuperVGA產(chǎn)品在體系結(jié)構(gòu)上和標(biāo)準(zhǔn)的IBMVGA有所不同。但編程思想基本上是一樣的,這些編程方法已有許多文章介紹,這里不再重復(fù)。

          點(diǎn)擊閱讀全文

          多媒體創(chuàng)作設(shè)計(jì)

          摘要該文簡要分析了目前流行的創(chuàng)作工具的特點(diǎn),提出了一個(gè)集多媒體信息處理、劇本編輯及演播于一體的創(chuàng)作系統(tǒng)的總體結(jié)構(gòu)、設(shè)計(jì)方法及主要的實(shí)現(xiàn)技術(shù),最后給出了用VisualBasic語言編寫的播放圖形、圖像、動(dòng)畫、聲頻、視頻(AVI、MOV及VCD小影碟)等多媒體信息的程序例程。

          隨著多媒體技術(shù)的飛速發(fā)展,各種各樣的多媒體演示系統(tǒng)在信息領(lǐng)域中發(fā)揮著越來越大的作用。其豐富的表現(xiàn)力、生動(dòng)的視覺及聲響效果,大大增強(qiáng)了所演示信息的吸引力。但是,多媒體作品的創(chuàng)作是一項(xiàng)費(fèi)時(shí)費(fèi)力的工作,不僅涉及到美術(shù)、傳播、教育、心理等多方面創(chuàng)作因素,而且更需一種能方便地將圖、文、聲、像等多媒體信息按某種特定要求編合在一起進(jìn)行表現(xiàn)的方法。為節(jié)省多媒體作品的創(chuàng)作時(shí)間,需要一種相對簡單、集成、高效的創(chuàng)作工具來輔助多媒體作品的創(chuàng)作開發(fā)與演播。

          本文簡要分析了目前流行的多媒體創(chuàng)作工具的特點(diǎn),提出了一種多媒體創(chuàng)作工具的功能結(jié)構(gòu)、設(shè)計(jì)方法及實(shí)現(xiàn)技術(shù),最后給出一個(gè)用VisualBasic語言編寫的播放多媒體信息的程序例程。

          一、現(xiàn)有多媒體創(chuàng)作工具的類型

          目前,最流行的多媒體創(chuàng)作工具主要分為以下三類。

          1.描述性語言式

          點(diǎn)擊閱讀全文