APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

In Search of the Kernel

© May 2019 Anthony Lawrence

Next: Memory Management: Segmentation

For most of us, there's really very little reason to delve very far into the guts of the OS. While it may be useful to have a high level understanding of how the kernel manages memory, processes, etc., few of us have any need to get down into the gory details. I certainly have no such need, and chances are you don't either.

Still, there is intellectual curiousity, isn't there? Prior to the availability of source code, the deep secrets of the kernel remained hidden; alluded to at best, but never spread out in specific detail. We might have been curious, but very few of us were in a position to do anything about that mental itch.

But now we can. For the cost of a CD (or even for free if you have the patience), the Linux source code is available to all of us. Perhaps more importantly, there are a good number of books available that at least pretend to explain that code, and the number of resources on the web purporting to do the same is simply overwhelming. At first glance, it looks like this is an itch we can scratch very easily.

Unfortunately, the reality doesn't quite live up to the promise. Even the best of the books and web resources are confusing, a great many are hopelessly out of date and therefore would be misleading even if they were comprehensible. I found out very quickly that I had far more questions than answers.

Part of the problem, of course, is the rapid rate of change. Linux and the web share a common life span, and both have grown and changed very quickly. If you search the web for articles about the Linux Kernel, you'll find a lot of information that dates from the very first kernels. Unfortunately, people don't always update old web pages ( and I'm just as guilty of that as anyone is ), so you don't necessarily know that you are reading very outdated material. This can be very confusing.

Another real problem is that much of the material is incomplete simply due to imperfect understanding of the authors. Often that's freely and readily admitted: you'll find comments like "I don't really understand this part at all". Those sorts of pages at least give you fair warning that you are treading in murky waters; unfortunately there are plenty of other sources whose authors plainly have the same lack of knowledge but don't admit it.

And then there are the architectural issues. Linux, of course, runs on several hardware platforms, and while high level concepts are the same, the nitty-gritty implementation details are vastly different. Pages written by someone intimate with Alpha versions won't help those of us running on Intel (although sometimes the very differences can cast illumination on otherwise obscure points).

So, here we are. I'm about to try to explain what *I* understand so far, from my perspective. I'll warn you up front and probably throughout the text that my understanding is also quite incomplete and may also be defective here and there. I will, of course, do my best to fix any errors that I become aware of.

This text is devoted entirely to Intel Linux. I understand that architecture poorly enough; I surely don't want to dive into areas like Alpha where I have absolutely no comprehension. So, take a deep breath, and here we go:

Next: Memory Management: Segmentation

Got something to add? Send me email.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> In Search of the Kernel - Introduction

Inexpensive and informative Apple related e-books:

Photos for Mac: A Take Control Crash Course

Take Control of Upgrading to El Capitan

El Capitan: A Take Control Crash Course

Take Control of the Mac Command Line with Terminal, Second Edition

Take Control of Numbers

More Articles by © Tony Lawrence

Printer Friendly Version

Have you tried Searching this site?

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Printer Friendly Version

Anyone who puts a small gloss on a fundamental technology, calls it proprietary, and then tries to keep others from building on it, is a thief. (Tim O'Reilly)

Linux posts

Troubleshooting posts

This post tagged:


Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode