A kernel is a special program that represents the "core" of an operating environment. It basically serves two functions: First, it provides a common interface that user applications can talk to. This greatly simplifies things for user applications, because they don't ever need to know the details of the hardware they are running on. They just talk to the kernel and the kernel hides the messy details from them.
That brings us to the kernel's second major function. The kernel is the only piece of software that is allowed to talk to the computer's hardware. It knows all about the specifics of a machine's hardware, and it knows how to configure and access all of those different pieces of hardware.
The kernel also orchestrates things so that many user programs can simultaneously share the computer's hardware without stepping on each other's toes. By completely restricting access to the machine's hardware, the chance of a user program crashing the system is greatly reduced.
Although an operating system may consist of a number programs working together, the kernel is always at the "center" of all this activity. It sits on top of the hardware and all of the user programs run on top of it.
|
When you get a Linux distribution, you are really getting more than just the Linux kernel (see the What's a Kernel sidebar below), you are getting an operating system, a desktop environment, and a large number of development and administration tools, and even some applications. This is quite a lot of software, and it's all packaged together in what's called a distribution. All of these pieces fit together to make your Linux machine both powerful and user-friendly. It's important to note, however, that these pieces don't have to go together. Each individual piece can be added or removed at any time. To make Linux usable for the largest number of people, these pieces are all packaged and distributed together, but you are free to customize your Linux system as much as you like, and each individual piece of the system can be independently upgraded.
When I upgraded my Linux system to Red Hat 6.0 recently, I expected little more than a new kernel. Much to my surprise, I found significant improvements to many parts of the distribution, particularly in terms of the user interface. Red Hat 6.0 includes by default both the GNOME and KDE desktop environments. The look and feel of these graphical interfaces are quite different, but both make the system much easier to use, particularly for the novice user.
Upgrading Red Hat
Upgrading from Red Hat 5.2 to 6.0 is very simple. It's not unlike installing the distribution, except that when you upgrade, you're spared the finicky work involved with partitioning your hard drive and describing your hardware. That information was previously recorded by the version of Red Hat that is already on your system, and Red Hat 6.0 simply takes this information and reuses it. Begin by inserting the boot disk into the floppy drive and the Red Hat 6.0 CD #1 into the CD-ROM drive. Reboot your computer and it will boot from the floppy. You'll see the same "welcome" screens you did when you installed Red Hat 5.2 and you'll step through several of the same windows. The sequence can be seen in the chart on page 16.
Starting X Automatically
As you can see, the procedure for upgrading Red Hat is very similar to its installation. One thing has been added to Red Hat 6.0, however. Just before the upgrading process completes, you are asked if you want the X Window System to start automatically when the system is booted. This means that you will no longer be greeted by a black-and-white login screen, but rather by a graphical interface. If you know that X Windows already functions properly on your system and you want to try out the auto-start feature, by all means answer "yes" when prompted to do so. If you later decide that you really don't want X to start automatically, it's easy to change this option (see Starting Directly into X sidebar, pg. 18).
Now when the system starts you will get a "Welcome" window with "Login:" and "Password:" boxes to fill in. At the bottom right is an "Options?" button. Click on that button and you get a pulldown menu with three choices. "System" lets you reboot or halt the computer. "Languages" lets you choose the language you will be using. If you use English and your Italian roommate shares the computer, then there is no need to reboot the computer. The language can be selected before you log in. The third choice is "Sessions." This lets you choose which desktop environment you will use. The two that come with Red Hat 6.0 are KDE (the K Desktop Environment) and GNOME (GNU Network Object Model Environment). I highly recommend that you try them both. GNOME is fairly new and may not be as stable as KDE, but I prefer it, and I've had no problems with GNOME so far. KDE, however, has more user-friendly configuration tools, and is designed to act very much like Windows 95.
You don't need to select the "Session" or "Language" every time you log in. If you just log in then you will get either the default settings or whatever you selected last time. Figure 1 and Figure 2 show the GNOME and KDE desktops. They may look similar here but they do behave quite differently. Experiment with both and see which you like better. Both have excellent configuration screens that let you customize their behavior.
Also, when you log out now, there is no need to shut down X first. Regardless of which desktop environment you use, there is a "logout" selection in the main desktop menu. If you want to shut down the computer after you log out, press the "Options" button and select "System."