Can you summarize the following document?
        
  驅動程式的開發工作是很具挑戰性的,因為必須配合著硬體與軟體上相當明確與高階的平臺技術。由於大多數的驅動程式(device drivers)執行在核心模式(kernel mode),軟體的錯誤經常造成系統嚴重的不穩定,例如藍屏(blue screen),這跟過去的使用者模式(user mode)下的程式設計(例如Delphi、VB、Java)有明顯的差異性。

  為了大量減輕驅動程式開發人員的負擔,微軟不斷的改進驅動程式的開發軟體與架構,從早期複雜深晦的VxD,到Windows XP上的Windows Driver Model(以下簡稱WDM)開發架構,如今Windows Driver Foundation(以下簡稱WDF)已成為新一代的Windows平臺驅動程式發展架構,這個架構大量簡化了驅動程式的開發流程,更符合物件導向的精神,此架構包含了User Mode Driver Framework與Kernel Mode Driver Framework兩種開發模式。在開發Windows平臺上的驅動程式之前,必須先安裝DDK(Driver Development Kit),DDK套件同時支援WDM與WDF兩種架構。

  Linux下的裝置有三種基本型別:字元裝置,塊裝置和網路介面。

  因為常見的硬體和作業系統的差異性,驅動程式存在著不同的方式。用於:  驅動程式的抽象化共同層級(Common levels of abstraction):
裝置驅動程式(英語:device driver),簡稱驅動程式(英語:driver),是一個允許高階(英語:High level)電腦軟體(computer software)與硬體(hardware)互動的程式,這種程式建立了一個硬體與硬體,或硬體與軟體溝通的介面,經由主機板上的匯流排(bus)或其它溝通子系統(subsystem)與硬體形成連線的機制,這樣的機制使得硬體裝置(device)上的資料交換成為可能。