Re: Make Windows open source please
- From: "Carl Woodward" <no@xxxxxxx>
- Date: Tue, 21 Nov 2006 12:06:03 GMT
With all the subtle rules in driver land, it helps to see the
line-by-line detail of what the OS interface is doing (to know what
the driver has to do in order to cooperate with it). I find myself
often wanting to know more. The DDK samples demonstrate common
practices, but they don't show the underlying mechanisms. For
instance, today I was calling IoAllocateIrp and wondering which fields
of the IRP are "automatically" (as the DDK documentation says)
initialized and which ones the driver is expected to initialize. It
would be useful if the source of the entire OS was available, instead
of just the headers.
There is a huge difference between want and need. Besides which, I haven't
encountered a curious moment that couldn't be satisfied in a very short time
with WinDbg and IDAPro. It would be *nice* if source or private symbols were
available to all but in my view, this is a distraction from the job of a
kernel mode developer; writing compliant and safe code as per the docs and
guidelines that Microsoft issue.
A while back, a colleague and I had a conversation with Mark Russinovich. In
response to the question "Which is the better documented OS, Linux or
Windows?" without hesitation he answered Windows (which angered my Linux
zealot colleague...!) On balance, I have to agree. Having the Linux source
code available hasn't made my job as writing kernel mode software
significantly easier. Microsoft Press and the DDK/WDK docs have though.
My last foray into Linux was at a time when Linus had forbidden interactive
debugging of the kernel. I dont know about anyone else, but I find poring
through vast swathes of other peoples code tedious and unproductive
especially if you are unfamiliar with the source tree. Quite simply, I spent
more time searching through the source code than I did writing code and the
information I *needed* was actually accessible in books, online resources
and in particular, newsgroups in a fraction of the time.
My two penneth...
- Prev by Date: Re: Calling ReadRegistryParams() and NdisOpenConfiguration() from MiniportInitialise() causes system instability.
- Next by Date: Don't receive IRP_MJ_CREATE on a CreateFile
- Previous by thread: Re: Make Windows open source please
- Next by thread: Re: PendingReturned and a subsidiary IRP