In this section, we are going to go into some detail about what makes a Linux operating system. I am not talking about the “product” Linux or any of the bundled distributions such as SuSE, RedHat, or Mandrake. Here, I am talking strictly about the software that manages and controls your computer. The collection of functions that do all the work are collectively called the “kernel“.
Because an operating system is of little use without hardware and other software, we are going to discuss how the operating system interacts with other parts of the various Linux distributions. I will also talk about what goes into making the kernel, what components it is made of, and what you can do to influence the creation of a new kernel.
Much of this information is far beyond what many system administrators are required to have for their jobs. So why go over it? Because what is required and what the administrator should know are two different things. Many calls I received while in tech support and many questions posted to newsgroups could have been avoided had the administrator understood the meaning of a message on the system console or the effects of making changes. By going over the details of how the kernel behaves, I hope to put you in a better position to understand what is happening.
The contents of this discussion is based primarily on two sources. The first is my book Linux User’s Resource. The second is David Rusling’s “The Linux Kernel”. In our seperate documents David and I covered different topics and in different levels of detail, so you didn’t get the full story by reading either one by itself. Rather than rewriting everything from scratch, David has graciously given me permission to include his material with mine. Perhaps “merge” is a better term than “include”, because in spite of much commonality between the two documents, one often included information that the other did not include.