News from the Driver Development Conference1
February 8, 20042
Sanford Hayes

Copyright © 2003 by Sanford Hayes. All rights reserved

November 11-14, 2003, Redmond WA. Microsoft Device Driver Conference 2003.

Microsoft commits to the driver community:

There were two themes that strongly emerged at the DDC.

The first was that Microsoft is strongly committed as never before to support the device driver community with good documentation, training and the personal attention of the relevant experts. This event was my first encounter with Microsoft where the training was very intense and totally focused on the art of writing device drivers. They staffed every session with their best experts on the current topic area. All of the speakers were completely on top of their subject matter. The sessions all ended with question and answer periods where the attendees could ask any question pertaining to the subject area just covered. Amazingly only twice during the week did the speaker say “I don’t know but I will get you the answer”.  All the speakers made it perfectly clear that they were on a mission to improve the quality of device drivers. Each session was accompanied by a white paper which outlined the session topics. Each white paper concluded with a resource block which gave us web pages, e-mail addresses and news groups where more information could be obtained. Every speaker gave us the message that Microsoft wants constructive feedback and will act on it whenever possible. The direct e-mail for the speaker was provided on the cover page of each white paper.  Also during every break and lunch period “Ask the Expert” freeform sessions were held where attendees could quiz the experts in depth.

Should all this really come to pass writing device drivers with the proper knowledge just got a lot easier.

Longhorn

The second major theme at the conference was LONGHORN the next Windows operating system. I chose to attend every session pertaining to Longhorn I could as that information is available nowhere else at this time. Longhorn has been reengineered from the ground up to make writing bullet proof device drivers easier than ever before. One of the opening speakers pointed out that as originally introduced ten years ago, the Windows kernel API was not designed with third party driver authors as a big priority. That strategy is changed in Longhorn. The reengineered kernel API has been coalesced and simplified to make it as easy as possible to write well behaved drivers. The reengineering goes way beyond the API upgrade. The new system is designed to watch out for errant drivers and to correctly handle a misbehaving driver and even to analyze the problem and suggest possible solutions. This monitoring functionality includes performance statistics so drivers can be optimized when they are not meeting their throughput goals.

There is a new driver model/API called the “Windows Driver Framework”. This is a simplification of much of the generic code found in most drivers. It is reminiscent of the Usermode MFC in that the common code is already written and available for inclusion in most classes of driver.

The framework also offers some very convenient C++/Java type abstractions called methods and properties which may be used as is or be overridden by custom code more appropriate to the immediate requirements.  Friday evening on the way to the airport a colleague who spent 6 hours in the framework hands on lab confirmed that it really measures up to the advertised results. While some classes of driver as of now are not included in the framework strategy it was stated that one day they may also be included.

New testing and debug tools are also on the way with the new operating system which has been engineered to support them with valuable metrics and diagnostics.

Understandable and complete Kernel documentation are also in the works for Longhorn.

Other improvements are dynamic tuning so that the operating system may change certain characteristics as requirements vary. Many other improvements were revealed and it was stated that some will even be introduced into the existing systems via service packs.

All in all the new operating system promises to deliver much better performance and reliability while making the device driver authors task as easy as possible.  

The motivation for both of the above themes was made abundantly clear throughout the conference. Microsoft gets called every time any driver from anywhere breaks. The numbers of problem reports are in the thousands per year and the costs incurred to deal with them are enormous. The obvious answer is to simplify the programming model and offer as much support and training as possible to attenuate the level of driver related problem calls. Microsoft appears to be taking that course.

The times, they are a'changin'

Can you say “paradigm shift” or does the line “Gee Toto I don’t think we are in Kansas any more” bring anything to mind? Things have changed in Redmond!

Oh Yeah the food was great too J

About the author:

Sanford is a veteran programmer who's been keeping his finger on the pulse of driver development for longer than some readers have inhabited the planet. Reach him via e-mail at NewsEditor@wd-3.com.


1 -- The technical details for future products as discussed at the Driver DevCon were provided under Non-Disclosure Agreement with Microsoft. This article discusses only technical information that you can learn from the publicly available betas provided through MSDN subscriptions.

2 -- It took until now for us to get clearance from Microsoft to print this stuff. [Ed: Don't get me started about lawyers and bureaucracies!]