My degree is in Psytchology and religion. Of course in 1969 when I
graduated, computers were rare, and computer science degrees even rarer.
With a CS degree, yeah you may indeed know how to write a Fibonacci routine,
or even a bTree, but I have NEVER EVER seen a need for a fibber anything,
and seldom, until recently have I needed a binary tree in the kernel. It’s
not “may”, but will need at one time or another, all of the test and
diagnostic tools mentioned, plus figure out your own and maybe even new
applications and uses of all of those tools.
Oh yeah … don’t get old … I do believe I have encountered genuine age
discrimantion on this job hunt. IK guess “they” are afraid I’ll retire in 2
or 3 years. Rediculous. In my experience, “they” will be laying me off in 2
or 3 years after I’ve finished the driver work.
Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Calvin Guan
Sent: Monday, February 08, 2010 8:12 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Best practices, tips
I was told not having a CS degree doesn’t really hurt one’s career in sw
engineering, although I did have big trouble rebalancing a binary tree after
removing a node at the time RTL generic table is not built in ntoskrnl.
Fortunately don’t need to do that very often.
Besides PREfast, you may also add PREfix, Driver Verifier, Static Driver
Verifier to your checklist. Depending on the type of driver you are writing,
there might be more specific tests for it, ie NDIStest for L2 nic, Sparta
for TOE nic. You should also define your own test plans too. In my
experience, real bugs, bad bugs are rarely (if any) detected by standardize
tests. Run tests as early as possible. Make smaller changes one at a time if
possible. Use a good source control system to keep your source code(Perforce
is my favor). Many nasty regressions are found by looking and diff’ing
changelists.
These by no way constitute “good practices” but work pretty well for me.
Hope that helps,
Calvin Guan
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@gmail.com
Sent: Monday, February 08, 2010 1:40 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Best practices, tips
Hello all,
I have been learning about Windows Kernel Mode Development for some time
now. So far I have not developed anything serious, I just thought up some
projects that I use to get a feeling for developing drivers as I think the
best way of learning is by doing.
I do not study anything Computer-Science related (although sometimes I wish
I had) but recently I came into contact with someone from the
Computer-Science department of my university and we talked about my interest
in coding; driver development in particular.
I am now working on a kernel driver for one of his projects. My question is
if some of you could help me make sure that I am doing thing “how they
should be done”. I don’t mean this in the sense that I want people to review
my code, but more to point me to references that explain things like the
PAGED_CODE() macro.
So to summarize; I feel that I understand the basics of driver development,
I have written several working drivers that share events with user mode, use
IOCTLs etc.
But recently I looked into PREfast and was amazed by the things I didn’t
know yet, but that can be very valuable in a serious project (like driver
annotations, I am really glad I found out about that early in the project).
So I wonder if there are more things like this, possibly in some ‘best
practice guide’.
Thank you all in advance for your time.
Chris
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
__________ Information from ESET Smart Security, version of virus signature
database 4849 (20100208) __________
The message was checked by ESET Smart Security.
http://www.eset.com
__________ Information from ESET Smart Security, version of virus signature
database 4849 (20100208) __________
The message was checked by ESET Smart Security.
http://www.eset.com