Now that the Linux Ottawa Symposium has finished, the organization has made public the recopilation of the papers presented (Volume 1, Volume 2). They touch many areas like performance on multicore/NUMA environments, filesystems, many VM topics, power management, virtualization, and more. 886 Pages of low-level kernel stuff. There goes your weekend.
For anyone who would like to get the individual papers,
http://ols2006.108.redhat.com/
Last paper of Volume 1.
Clearly shows why Linux can feel slower than other platforms. The greatest ideas have poor/naive implementations. Read that paper, it’s worth it…
Agreed.
yep .. thats lots of reading I now have to do … but then I wont have to follow lwn for a long while .. still 2 read .. THX .. .. development is clearly not stopping at all .. 8)
They’re all really good reads – the one that grabbed my eye (like others) was the ‘Why Userspace Sucks’ – it does help once in a while to stop where things are obviously not going as well as they should – and I thought reducing power usage on an idle laptop was a good goal.
Still reading through them..
I think there should be a poll on OSNews: how many OSNews readers have a CS degree, system programming skills, or just a basic knowledge of C… and how many have submitted a bug report, contributed a patch, or actively maintained any part of the Linux kernel. I bet there’s a lot of people, even Linux enthusiasts, sitting on the sidelines that are underestimating their abilities.
OLS 2006 is really courting this demographic. GreKH pointed out the excellent guide for kernel contributors that comes with every kernel sources at Documentation/HOWTO. He also pointed out that anyone who can compile a kernel can help by running and filing bug reports against the RCs, the nightly snapshots, or Andrew’s -mm tree.
As you can see from the vast amount of information that came out of this year’s OLS, detailed yet accessible documentation on kernel concepts is easy to come by. Most parts of the core parts of the kernel have been covered several times over in academic-quality papers that you can find all over the web.
Read one or two of these outstanding (and surprisingly inexpensive) books on Linux kernel development, listed roughly in increasing order of “in-depth-ness”:
http://www.amazon.com/gp/product/0672327201/sr=8-1/qid=1154098846/r…
http://www.amazon.com/gp/product/0131181637/sr=8-7/qid=1154098846/r…
http://www.amazon.com/gp/product/0596005652/sr=8-6/qid=1154098846/r…
These are all less than a year out-of-date (based on the 2.6 kernel of course), so you can just follow along with the current kernel sources where they differ slightly from the snippets in the book. The books are useful for explaining the concepts; they give you the background you need to understand the code.
You can do it. Kernel development can be challenging, but it’s never been easier than it is today, and it’s truly a very rewarding experience. You don’t need a CS degree to do it, and many of the top developers don’t. Even minor contributions can be solid gold on a resume. Everyone’s looking for experienced Linux developers–you’ll have no problems finding a job. Regardless of your previous work experience and education, you can have a rewarding, high-paying, and often extremely flexible career in Linux kernel development and/or systems programming in less than a year if you just take that step and jump in.