Good books for systems programming

  • Thread starter sid_galt
  • Start date
501
0
I need a good book for systems programming. Basically how to build drivers and programs on the computer using languages(preferable C) to interact with an outside devices like joysticks or to control things like motors, etc. Can any one recommend one?
 
293
0
Well, since no one has responded I'll give you my 2 cents. I've never programmed drivers, but I'd imagine writing them well is mainly all about having good documentation about the hardware as well as the OS. Without it, its pretty difficult to program a good driver. From there, I would just take a 'skeleton' of a similar driver I'd want to implement if I could get the source code. A good source for this is drivers in the Linux kernel source. There you have all types of drivers from basic disk drivers even to things like HAM radio drivers, and even a few video drivers. No ATI/Nvidia source though :-)

This looks like a good one from O'Reilly on Linux Drivers: http://www.oreilly.com/catalog/linuxdrive3/

In the windows world theres the DDK (Driver Development Kit) which has decent documentation on MSDN, which I have copy of with Visual C++ .NET 2003.

When writing a driver for either Windows or Linux, keep in mind that you are in kernel mode and can potentially crash the system or cause it to become unstable. Bad drivers are #1 cause of crashes these days on both Windows and Linux.

BTW joysticks/mice are pretty simple and seen like a good place to start.
 
55
0
sid_galt said:
I need a good book for systems programming. Basically how to build drivers and programs on the computer using languages(preferable C) to interact with an outside devices like joysticks or to control things like motors, etc. Can any one recommend one?
What kind of computer? What OS? Details!

If you want to write software that runs on an embedded chip and interacts with hardware devices, Check out BASIC Stamp -- which can be bought at Radio Shack. The starting kit is under $100.00. You can hook motors up to this kit as it is extendible. It supports assembly language and C, and can be interfaced from your Windows based PC.

If you want to write device drivers for MS-Windows, there are plenty of books on the subject.

As for interacting with mouse and joysticks, there are standard API calls for Windows and Linux.
 
293
0
SteveRives said:
As for interacting with mouse and joysticks, there are standard API calls for Windows and Linux.
It seems like hes more interested in knowing the details of how those drivers are implemented (which actually isn't that interesting for those simple devices) rather than knowing how to use them.
 
501
0
SteveRives said:
What kind of computer? What OS? Details!
A normal desktop computer.
OS? Windows or Linux, whichever is cheaper and easier.

If you want to write software that runs on an embedded chip and interacts with hardware devices, Check out BASIC Stamp -- which can be bought at Radio Shack. The starting kit is under $100.00. You can hook motors up to this kit as it is extendible. It supports assembly language and C, and can be interfaced from your Windows based PC.
Something like that. Specifically, how to create device drivers for a hardware device so that one can simply plug in the hardware device, install the drivers and use it.
 
212
2
hmm I guess you want to write drivers for windows NT os
hmm you should look on amazon for WDM just type it in a search
and it will find you some good resources, but of course you have to remember that without an assembly language there is no drivers and also they're really difficult to write.
http://www.freewebs.com/four-f/
here is the tutorial for writing kernel drivers in masm, its rather for malware coders but of course its all about drivers

Writing Windows Wdm Device Drivers: Covers Nt 4, Win 98, and Win 2000
you should definitly buy this book if you think of writing a windows drivers
for more resources just like i said before look at amazon WDM
ciao

w8 i forgot to say, if you want to you may msg me and a send you some good resources on writing drivers under winnt you may even learn a lot from them but i think its usually better for beginers to buy a paper book and learn from it the basics or something more than that and then look for the resources on the net
ciao
 
Last edited by a moderator:

Related Threads for: Good books for systems programming

  • Posted
Replies
15
Views
4K
Replies
1
Views
2K
  • Posted
Replies
2
Views
1K
Replies
1
Views
16K
  • Posted
Replies
3
Views
705
Replies
13
Views
2K
  • Posted
Replies
4
Views
3K
  • Posted
Replies
11
Views
3K

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top