views:

175

answers:

4

I am trying to learn a little about driver development and my question is, which OS has an easier API to develop drivers with? Windows or Linux?

Remember that I am new to this.

Thanks

A: 

My personal idea is Linux. You can see the entire code other than an API.

Chathuranga Chandrasekara
A: 

This tutorial might be helpful.

It is about writing a simple device driver for linux.

Upul
+3  A: 

I am pretty sure you'll get lots of Windows vs Linux war here, unfortunately.

On Windows, you'll get pretty good development tools, with some awkward stuff, but that you can get along with easily. API is documented provided you have access to a Windows Developer account. Remote debugging is supported and it helps a lot for these kernel stuff that are triggering BSOD so quickly.

On Linux, you'll need to get your hands more dirty. Rubini's "Linux Device Drivers" is a very good starting point. Openness will bring you more flexibility, and more understanding of what is happening.

Didier Trosset
The Linux book can be found online at http://lwn.net/Kernel/LDD3/. You might also be interested in _Linux Kernel in a Nutshell_ http://www.kroah.com/lkn/. Maybe also the Linux from Scratch project http://www.linuxfromscratch.org/.
Joe Internet
+1  A: 

If you are doing this for learning (I guess its your case), then go for Linux, you will have a more general ideal on how an OS works, you will interact with low level implementation straight to the core.

If you are just writing a driver for a device, I recommend using Visual Studio under Windows, it has a lot of features that will really help on your devel.

Douglas Gemignani