Linux Kernel Programming for Beginners [closed]
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve开发者_运维百科 this questionI 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.
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).
Linux Device Drivers 3rd edition and Kernelnewbies are both good places to start.
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.
You can start with Eudyptula Challenge.
The eudyptula-challenge site says: The Eudyptula Challenge is a series of programming exercises for the Linux kernel,that start from a very basic "Hello world" kernel module, moving on up in complexity to getting patches accepted into the main Linux kernel source tree.
You can also go through The Linux Kernel Module Programming Guide. It is also a good guide for a beginner.
Though I am not a kernel developer, I think this may help you. It contains a list of kernel related documents.
精彩评论