tags:

views:

206

answers:

4

I have been working on LINUX for the past six years, and am a core Linux guys since I started my career on Linux. Working more on Redhat / Centos / Fedora based distribution system administration, with some basic bash scripting knowledge.

Now I am looking to deep dive into programming to contribute or innovate something new on Linux operating system or kernel space. (More importantly on kvm virtualization front since I am an expert on virtualization). So I need your guidance to start my new career on Linux programming front. As of now, I am planning to start with below sequences:

  • C
  • C++
  • Linux kernel Programming
  • Python
  • Java

Kindly provide me some good web links or beginner to advanced docs for the above languages to start with.

+2  A: 

Linux Device Drivers 3rd edition and Kernelnewbies are both good places to start.

Hasturkun
A: 

I've read somewhere that Robert Love's book on kernel programming is pretty good for what you are trying to accomplish. Here's the link on AMAZON.

Pablo Santa Cruz
A: 

Though I am not a kernel developer, I think this may help you. It contains a list of kernel related documents.

taskinoor
+2  A: 

If you don't know programming, the kernel is very far out of reach for you at this time. Learn C. Try The C Programming Language first, perhaps followed by the excellent Advanced Programming in the UNIX Environment.

And then you're ready to start looking at kernel source code and looking at kernel-specific books. Depending on what you want to do, it's probably a good idea to pick up some assembly as well.

C++ and Java are pretty well useless for Linux kernel development (this is not a judgement on either language, it's just that Linux is written in C and assembly).

Chinmay Kanchi