Re: Re: Re:[SPAM] Re:Re:Driver Programming Fundamentals/Philosophy, was: Re: Calling NdisRequest() f

chill down man … its not personal:-)

wrote in message news:xxxxx@ntdev…
>> What scares me is a guy from a totally non CS background whos heard
>> driver
>> programming is very cool. Picks up Walter Oney learns a few APIs …
>
>
> In order to write drivers one has to know C. Therefore, someone who has no
> computer background whatsoever just has to chance to even try writing
> drivers, in the first place. In it impossible to program in C without
> knowing about linked lists, and linked lists are described in books
> alongside the binary trees, hash tables, search algorithms, etc.
> Therefore, he is going to learn some
> CS basics anyway. Furthermore, he will have to start his programming
> experience with user-mode programs - by the time he proceeds to drivers,
> he will know C plus have some user-mode Windows programming experience,
> which, apparently, will go like VB/Delpi -> C++(MFC) -> C (Windows API),
> so that he will learn at least something about Windows architecture, IPC,
> synchronization, etc.
>
> In other words, by the time he tries to write drivers, his practical
> knowledge will be at least at the level of CS graduate with not-so-small
> user-mode programming experience - otherwise, he just has no chance to
> understand ANYTHING in books/articles about the kernel-level
> programming…
>
> The rest of my post applies to the above mentioned guy in exactly the same
> way as to CS graduate who is experienced in writing user-mode programs…
>
>
>> pulls up an existing driver modifies it to get another one working has
>> practically no idea of
>> software engineering/ OS leave alone comp arch. And now gets into the
>> business of
>> writing kernel mode drivers.
>
>
> Nonsense!!! You will never, never, never ever write a workable driver
> this way - unless you know what you are doing, your “modifications” are
> going to turn production-grade samples into crap. Actually, it is me who
> started off all this discussion, and this is *EXACTLY * how I started it -
> I said that “reusing” the existing samples without understanding how they
> actually work is leads you nowhere. Check this NG or MSFT ‘drivers’ one -
> you will see plenty of posts like " I modified sample XYZ… It
> bluesceens… What am I doing wrong?" It is going to take you quite a
> while before you are able to present a driver that actually works, and, at
> this point, you will already have a solid kernel-level experience and good
> knowledge of the target architecture (which is still hardly going to help
> you with writing drivers for other architectures - even if you are FS
> guru, it will still take quite a while before you are able to write a
> production-grade NDIS IM, and vice versa)
>
> This is why a company would prefer to hire someone who is experienced in
> writing drivers for
> this particular architecture, rather than a chip designer, let alone
> some CS graduate/academician
>
> Anton Bassov
>