Exploring the Kernel
Life in any operating system begins and ends with the kernel. When properly configured, any operating system can work like a wonderful ballet where hardware is ready just when you need it. When problems crop up, the kernel can slow or stop your computer.With the Linux kernel, you can configure hardware, filesystems, networking support, and more. Hardware drivers can be configured within the kernel or as separate modules.
Configuring the Kernel
If you ever need to reconfigure your kernel, you’ll become familiar with the Linux Kernel Configuration menu shown in Figure 1.1. As you can see, there are a number of different hardware components, such as SCSI and USB devices, that you can configure through the kernel. Each of the buttons shown in the menu opens individual submenus.

Figure 1.1: Linux Kernel Configuration
You can also see some kernel options not directly associated with hardware, such as Networking Options and Code Maturity Level Options. For example, in the Networking Options menu, you can set up Linux to work with different network protocols. You’ll find detailed information on this process in Chapter 12.
The /proc Filesystem
The /proc directory is a virtual filesystem stored in your RAM. It documents the way the Linux kernel interacts with your computer. A number of these files document how the Linux kernel reads your hardware. When you read the right file, you can find hardware settings for different components. You can find more information on /proc in Chapter 11.
Modular or Monolithic
You can set up every hardware driver within the main part of the Linux kernel. This would be a monolithic kernel. But for most configurations, there are many hundreds of hardware drivers. If you put them together into one kernel file, the sheer size of the hardware drivers can overload your system.It is usually more efficient to configure a modular kernel. Various kernel modules, normally associated with various hardware components, are loaded after Linux starts on your computer. Figure 1.2 shows an example from my desktop computer.
