Learning Linux Kernel Programming
To the Linux programmer, learning how to work with and program the Linux kernel is one of the most rewarding things he can do. Changes in the kernel impact the lives of all Linux users, regardless of what particular flavor of Linux an individual user has installed on his system; all distributions of Linux run off of the Linux kernel.
Instructions
-
-
1
Familiarize yourself with Linux, if not already very knowledgeable in it. This can be done using any distribution of Linux, though it is probably a good idea to look at a few of them, since a programmer need only be concerned with the underlying kernel; develop an understanding of what different projects have been built on top of the kernel and how the kernel itself interacts with those projects. Linux Kernel Newbies is a good place to go for the basic information needed to begin kernel involvement.
-
2
Refresh yourself in American National Standards Institute (ANSI) C language. The Linux kernel is written in standard C; this is very different from derivative languages such as Objective-C, C++, and C#. It is important to become an expert in C to work with Linux kernel--so become comfortable with the language.
-
-
3
Acclimate with the current kernel build's source code. One of the best ways to understand a software project is to simply look at its code. Study the code until familiar with the way it works and the coding conventions that are used for the project. The source code can be found on the kernel's web-page.
-
4
Involve yourself with the kernel and greater Linux community. The vast majority of the work done within the Linux community is done by volunteers, so it is very easy to get involved in the community; all you have to do is volunteer help. The community is always looking for volunteers to squash bugs and clean up code, even if those volunteers are not expert kernel programmers.
-
5
Communicate with the community often and continue working on the kernel. Working with the kernel is an effective way to master kernel programming. You could be a kernel expert yourself if you just stay involved with the project.
-
1
References
- Photo Credit computer image by blaine stiger from Fotolia.com