If any single aspect of a Linux distribution could be called “Linux,” then it would be the kernel. So what is the kernel? Well, on the hard disk, it is represented by the file /vmlinuz. Just as a program like /bin/date is a collection of bytes that isn’t very useful until it is loaded in memory and running, the same applies to /vmlinuz./p>
However, once the /vmlinuz program is loaded into memory and starts its work, it becomes “the kernel” and has many responsibilities. Perhaps the two most important responsibilities are process management and file management. However, the kernel is responsible for many other things. One aspect is I/O management, which is essentially the accessing of all the peripheral devices.
In the following sections, we are going to look at what’s under the hood of your Linux system. Rather than turning this into a book on operating system theory, I am going to have to gloss over some things. I will go into detail about those issues that can and will affect your ability to run and administer a Linux system, however.
These sections will be based on the Intel 386 (i386) architecture, for which Linux was originally designed. Linux also runs on 486, Pentium, Pentium Pro and later processors, and has been ported to other architectures. These concepts are common to all of them. Linux has been ported to other processor types, however; it was originally designed for the i386. In addition, these versions are all newer, and because this site cannot be a “do-all” and “be-all” for everyone, I felt it necessary to limit the bulk of my discussion to the i386 because it is the most widespread version.
Note to writers: If you have articles on Linux running on different architectures and would like to contribute to this site, check out the FAQ