史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-07-17, 05:13 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 資訊 - Longhorn 嶄新的驅動程式架構

Longhorn 嶄新的驅動程式架構

2005 / 06



微軟公司的Windows作業系統支援成千上萬種周邊裝置,並且已經釋出超過三萬種裝置的驅動程式,而且每天都不斷的會釋出新的驅動程式。Windows支援類型相當廣泛的周邊裝置,不僅讓使用者擁有充足的應用,也與周邊廠商與Windows作業系統形成緊密的生態結構,造成魚幫水、水幫魚的共生互利。
http://www.windowstore.com.tw/www/trainning/img/trainning45_01.png
圖1 新世代Longhorn的驅動程式模型
目前Windows的驅動程式模型
驅動程式模型的重要性並不亞於應用程式模型,簡單而穩定的驅動程式模型不僅有助於裝置廠商快速的開發出驅動程式,更是穩定Windows系統的重要關鍵。因此當微軟推出新世代的Longhorn之際,重新為Longhorn打造了嶄新的驅動程式架構,也就是「視窗驅動基礎」(Windows Driver Foundation,WDF)。
目前Windows系統支援最廣的驅動程式模型,是「視窗驅動模型」(Windows Driver Model,WDM)。視窗驅動模型提供了包括非同步輸入輸出、分層式驅動程式、隨插即用、電源管理、視窗管理規範(Windows Management Instrumentation,WMI)等豐富的功能。
此外,目前的Windows也針對不同類型的裝置(例如儲存裝置、網路裝置、音效裝置等),使用共通的驅動程式模型(稱為device-class specific driver models)。不同類型的裝置,先由微軟設計出共通驅動程式模型中的port driver,再由硬體廠商負責設計miniport driver,port driver和miniport driver則為周邊裝置提供完整的驅動力。這種驅動程式模型大大簡化了硬體廠商開發驅動程式的負擔,也縮短了廠商開發的時間。目前Windows支援超過十種的miniport模型。
雖然上述兩種方式已經為開發具威力、高效能的驅動程式提供了豐富的功能,並且也獲得廠商大幅採用,但也顯現出若干小缺點。例如視窗驅動模型太過低階,而且有點複雜,如果要寫一個具備基本功能的驅動程式,必須使用上千行的程式碼(舉例來說,一個具備隨插即用和電源管理的功能至少需要兩千行程式)。
而且許多驅動程式開發人員也認為,視窗驅動模型為電源管理、非同步輸入輸出、同步輸入輸出、隨插即用等功能所提供的「裝置驅動介面」(device-driver interface),不僅複雜,而且不易使用。
http://www.windowstore.com.tw/www/trainning/img/trainning45_02.png
圖2 高品質的驅動程式將有助於產品的成功
其實當初微軟發展裝置驅動介面的目的,並不是要讓廠商用在驅動程式的開發,但由於裝置驅動介面可以直通作業系統的核心模式,因此許多廠商為了增加周邊裝置的執行效能,而採用裝置驅動介面來開發驅動程式。不過,這樣的作法雖然可以提升驅動程式的執行效能,但同時也有可能讓Windows系統變的不安全或不穩定。
此外,miniport模型的原始目的,是為了簡化驅動程式的開發,而且miniport驅動程式的開發方式也的確比視窗驅動模型更簡單。但是miniport模型也有若干缺點,反而容易讓開發人員混淆。例如相同功能在不同類型裝置的實作方法卻不相同(舉例來說,隨插即用和電源管理的若干常見功能的實作方法就不相同)。再者,只要作業系統被加入新功能,或者有新的硬體技術出現,通常就得更新miniport的介面,這對使用者或廠商都是個困擾。
而且多功能裝置的miniport驅動程式非常複雜,首先必須採用兩種不同類型的miniport模型,而開發人員通常得設計一個視窗驅動模型的匯流排驅動程式,和兩個根據不同驅動程式模型的miniport驅動程式。
大部分視窗驅動模型和miniport的驅動程式都得在核心模式執行,也就成為核心模式驅動程式。核心模式驅動程式會被視為作業系統的一部份,而且擁有存取系統虛擬位址空間的權限。因此,設計不良的核心模式驅動程式就很容易造成系統不穩定,甚至當掉系統。而目前許多裝置都沒有使用核心模式驅動程式的必要,如果能將這類的驅動程式從核心模式移到使用者模式,將可以大幅增加系統的穩定性。
Longhorn的新世代驅動程式模型
雖然視窗驅動模型和miniport等驅動程式模型已經優於Windows 95的驅動程式模型,但經過多年的市場洗禮,缺點與疲態也逐漸顯露。撰寫視窗驅動程式並不容易,目前的視窗驅動模型必須設計成能與作業系統互動,而不只是與硬體裝置互動,因此也使得簡單的驅動程式花上千行程式碼,而其中大多數的程式碼,都是重複一般驅動程式所該作的而已。為了讓新世代的Longhorn擁有更理想的驅動程式開發、執行環境,微軟也推出構思許久的驅動程式新模型,「視窗驅動基礎」(Windows Driver Foundation,WDF)。
視窗驅動基礎是新一代的驅動程式開發模型,它包括了一組支援開發、部署、維護核心模式驅動程式和使用者模式驅動程式的元件。視窗驅動基礎是一種「概念化的驅動程式模型」,其核心功能是核心模式驅動程式框架(kernel-mode driver framework)和使用者模式驅動程式框架(user-mode driver framework),這兩組框架提供了共同的驅動程式程式碼,並且在裝置需要執行與裝置設定、管理、資料輸出輸入等相關的工作時,呼叫驅動程式。影響所及,就是讓驅動程式開發人員能夠免於處理作業系統的細節。
http://www.windowstore.com.tw/www/trainning/img/trainning45_03.png
圖3 WDK(Windows Driver Kit)元件
視窗驅動基礎的重要理念之一,就是不再讓驅動程式直接呼叫作業系統,而是讓驅動程式與適當的驅動程式框架互動,以取得相關的服務。這些驅動程式框架提供了基本的裝置驅動程式介面,以及驅動程式共通的功能(例如隨插即用、電源管理、同步處理、輸出輸入佇列等等)。
視窗驅動基礎概念化的模型也採用了物件導向和事件驅動的作法,讓開發人員能夠快速的寫出簡單的驅動程式,也因為採用了物件導向的作法,因此可以根據簡單的驅動程式,再逐一小量的增加驅動程式的功能,也就是慢慢增加驅動程式的複雜度。視窗驅動基礎的重要理念之一,是讓驅動程式開發人員將焦點放在硬體和軟體,而不是著眼於作業系統。此外,為了要讓驅動程式更容易除錯和維護,視窗驅動基礎的框架內建即支援驅動程式查證和視窗事件追蹤。
核心模式驅動程式框架
核心模式驅動程式框架實作了核心模式驅動程式的基本功能,包括完整支援隨插即用、電源管理、輸出輸入佇列、直接記憶體存取、視窗管理規範,並且也支援USB和IEEE 1394匯流排。核心模式驅動程式框架也可以加以擴充而支援特定類型裝置的功能。
核心模式驅動程式框架並非作業系統核心的一部份,而是以獨立的驅動程式程式庫。包括Windows 2000以及後續的作業系統,都將支援核心模式驅動程式框架。
http://www.windowstore.com.tw/www/trainning/img/trainning45_04.jpg
圖4 WDK(Windows Driver Kit)內建部署驅動程式的功能
以核心模式驅動程式框架撰寫支援多功能裝置的匯流排驅動程式,遠比利用視窗驅動模型要簡單許多。核心模式驅動程式框架會掌控包括設定裝置物件、驅動程式的輸出輸入等所有共同需求。目前新世代的Longhorn計畫將會為音效裝置、儲存裝置和IEEE 1394內建符合核心模式驅動程式框架規格的驅動程式。
使用者模式驅動程式框架
使用者模式驅動程式框架是核心模式驅動程式框架的子集,將會提供隨插即用、電源管理、非同步輸出輸入等功能。開發人員可以利用使用者模式驅動程式框架開發網路連接裝置,和部分的USB裝置(例如行動媒體播放器、數位相機、行動電話)。
雖然使用者模式驅動程式框架是在使用者模式執行,但可以擁有和核心模式驅動程式相同的隨插即用功能。而新世代的Longhorn將會支援使用者模式驅動程式框架。
更穩定的驅動程式
視窗驅動基礎是新世代的Windows驅動程式模型,它以核心模式驅動程式框架、使用者模式驅動程式框架,以及一組整合的開發與測試工具,提供更簡易且穩定的驅動程式開發與執行環境。視窗驅動基礎可以縮短開發人員的學習時間,開發驅動程式時能專注於周邊裝置及驅動程式(而非作業系統),並且提供更快速、更容易的開發和測試環境,也能提高可用性、縮短維護成本。
微軟將會繼續支援目前的驅動程式和miniport模型,包括視窗驅動模型。但是對諸如生物特徵辨識裝置,微軟目前就開始計畫在新世代的Longhorn使用視窗驅動基礎,作為開發這類裝置驅動程式的方法。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 08:42 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1