Learning Kernel Programming

Learning Kernel Programming

Try to get hold of Robert Love's book on Linux Kernel Programming. Its very concise and easy to follow.

After that or along with that, you may want to take a look at "Understanding the Linux kernel".But I wouldn't recommend it during the early stages.

Also, look at the Linux kernel programming guide. Since a lot can be learnt from programing kernel modules, that guide will help you. And yes, for a lot of information, consult the 'documentation' sub-directory of the Kernel sources tarball.

How to begin with Windows Kernel Programming?

Read Windows Internals.

Read Windows Drivers Development.

Follow and read OSR Online.

To start writing read Writing your first driver.

This should cover you for several years or more.

Text book / online resource for learning to program at system/kernel level

I would like to suggest both the books by Robert Love. I've read a bit of the first one and its excellent. The latter was recommended by a friend.

Linux Kernel Development

Linux System Programming: Talking Directly to the Kernel and C Library

Learning Linux Kernel programming on a virtual machine on Ubuntu?

Yes you can safely test kernel modules on a virtual machine!
I'll give you some links that may help:
watch this site

  • http://free-electrons.com/

in particular this book:

  • http://free-electrons.com/doc/books/ldd3.pdf

Also this guide:
http://www.tldp.org/HOWTO/Module-HOWTO/

Kernel Programming From Beginner to Expert using C

These might help getting you there:

  • The C Programming Language
  • Understanding the Linux Kernel
  • Linux Device Drivers

Maybe you should start with something other than the kernel first. Take any open source project written in C, get the source, try to fix open bugs or implement missing features. That will teach you a lot about C, and you'll get feedback about the code you write.

Once you're fluent in C you can start diving into the kernel source.



Related Topics



Leave a reply



Submit