Now would be a good time for a quick refresher of the Linux boot
process. When you turn on your Linux-based system, the kernel image
(stored in a single binary file) is loaded from disk to memory by a boot
loader, such as LILO or GRUB. At this point, the kernel takes control of
your system. One of the first things it does is detect and initialize all
the hardware that it finds and has been configured to support. Once the
hardware has been initialized properly, the kernel is ready to start
normal user-space programs (also known as "processes").
The first process
run by the kernel is /sbin/init. It, in turn, starts additional
processes as specified in /etc/inittab. Within seconds, your Linux system
is up and running, ready for you to use. Although you never interact with
the kernel directly, the Linux kernel is always running "above" all normal
processes, providing the necessary virtualization and abstractions that your
various programs and libraries require to function.