網絡驅動應用開發 --續二

  
大家好,前面,我們已經講了開發網絡驅動應用一些基本具備的技能。現在我們一起探討下Windows下驅動的構架和相關部分。主要是包括三部分:
Windows的系統構架
Windows驅動的類型
Windows組件
對各個介紹不是非常的詳細,望大家能理解。有興趣的朋友可以參考相關資料,做比較詳細的瞭解。對以後的開發有總體上的認識。能把握住方向。少走彎路。廢話少說,我們就進入主體吧。
 
 
 
A  首先我們瞭解Windows的系統構架
   
 
 
   
每個組件的功能在此我就不用敘述。有興趣的朋友可以參考Windows驅動的相關開發資料。常用的如DDK.
接下來我們需要了解Windows驅動的類型,可以分爲用戶模式(User-Model)與內核(Kernel-Model)
以下是關於原文的引用敘述如下:There are two basic kinds of Windows drivers:

User-mode drivers (such as some printer driver components, along with Win32® VDDs for MS-DOS® applications and application-dedicated devices) or another protected subsystem's drivers.

Kernel-mode drivers for logical, virtual, or physical devices. These drivers run as part of the Executive, which consists of kernel-mode operating system components that manage I/O, Plug and Play, memory, processes and threads, security, and so on.

 Some kernel-mode drivers are also WDM drivers, All WDM drivers are PnP drivers that support power management. WDM drivers are source-compatible (but not binary-compatible) across the Microsoft Windows®  98/Me and Windows 2000 and later operating systems.
 
Windows驅動的類型
 
 
 
          
          Type Of Kernel-Driver P2.2
    
         每種驅動類型,我們要明白大致的作用。它可以幫助我們瞭解我們自己要編寫的驅動屬於那種類型。
 
正如上圖所示,對於內核驅動大致又可以分爲3中類型(引用原文)如下:
1 Highest level drivers, such as the system-supplied FAT, NTFS, and CDFS file system drivers (FSDs). Highest-level drivers always depend on support from underlying lower level drivers.
 
2 Intermediate drivers, such as a virtual disk, mirror, or device-type-specific class driver. Intermediate drivers also depend on support from underlying lower level drivers.
3 Lowest-level drivers, such as PnP hardware bus drivers that control an I/O bus on which some number of peripheral devices are connected. Lowest-level drivers do not depend on lower-level drivers, but control a physical peripheral device such as a bus.
      
      以上部分簡單的敘述了各種驅動的功能及應用。
 
    
Windows組件
     Windows Component Overview(p2.3
      
      該圖從總體上說明了驅動由用戶模式到內核模式的一個接口,轉換。最後到達硬件。以上介紹的都是從總體上,一個大體的概念,對系統整體的認識,對它的理解有助於我們後期的快速學習。就以以上爲例,用戶應用程序通過Win32 API接口發起調用一般通過CreatFile建立一個句柄,如果建立成功,則通過驅動程序倒出的接口一般都根據功能提供響應的命令控制字(I/O control code)進行調用,用戶模式應用程序就可以與驅動進行通訊,傳遞數據並進行相關的控制。應用層主要是用DeviceIoControl進行相關的命令控制字(I/O control code)的調用。驅動和應用層的通訊,在後邊還會做比較詳細的討論。
 
        好拉,由於時間問題,今天就到此爲止。有興趣的朋友可以參考相關的文檔。本人樂意與其討論交流,共同進步。有很多不對的地方望大家批評指出。謝謝!
    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章