February 14, 2001

Kernel basics 101

Author: JT Smith

- By Dan Berkes -
To a new, prospective, or casual Linux user, the excitement surrounding the release of the new Linux kernel might seem a little confusing. What is this "kernel thing" as one newcomer called it, why is it so important, and how do you get your hands on it without imploding your system in the process?The rush to upgrade is on whenever one of the dozens of Linux distributions announces a new version. In the quest to become the first geek on the block with an up-to-date system, users can expect sluggish FTP servers and timed-out downloads. That flurry of activity is small potatoes compared with what happens when Linux creator Linus Torvalds announces a new kernel.

Flashy, multimedia-drenched press conferences heralding a revolutionary new computing experience usually accompany the announcement of a new closed source and commercial operating system. Companies like Microsoft and Apple spend millions of dollars to rake in millions of consumer dollars -- not to mention press coverage -- on their newest products.

When one of the most anticipated events in the Open Source community happened, the copy to announce it was, well, a little more understated. On the night of January 4, Torvalds posted the following to the Kernel Mailing List:

In a move unanimously hailed by the trade press and industry analysts as being a sure sign of incipient brain damage, Linus Torvalds (also known as the "father of Linux" or, more commonly, as "mush-for-brains") decided that enough is enough, and that things don't get better from having the same people test it over and over again. In short, 2.4.0 is out there.

That short announcement -- not even a press release -- generated the kind of media coverage and user interest that some companies would kill (or at the very least sell their first-born) to generate.

To understand Linux, it's essential to understand the kernel. Whether you're talking about Windows, the present or future Mac OS, or of course, Linux, the kernel is the heart of the operating system. Whatever extras a certain distribution may toss into the mix, the basic Linux kernel is always there.

"A kernel is so deep down the bowels of an OS that 99% of users won't ever notice," says Moshe Bar, author of Linux File Systems and Clustering with Linux.

The kernel may be somewhat anonymous to the casual Linux user, but it's the single most important element of the system. It sets up the basic interface between computer hardware and software, enabling users to run all of their favorite programs. The kernel is also responsible for supporting those protocols a modern computer can't live without -- networking, sound, graphics, and so on.

It's tough to compare the Linux kernel with closed source offerings, but here goes: The release of a new kernel is almost the same as Windows announcing a new version of its Windows product line. Almost the same, if you can look past the fact that upgrading your Linux kernel won't set you back a few hundred or a few grand (depending on your needs and use).

"It's important to keep up with new versions, because modern hardware often is supported just by the new OS release (such as USB or FireWire)," says Bar. "Also, design flaws (rather than plain bugs) are only addressed in major release numbers such as 2.4."

That brings up a small but nagging question asked by most newcomers: What's the deal with the version numbers? After all, the last major kernel release was 2.2. Why did the version skip from 2.2 to 2.4? What happened to 2.3?

Well, there was a 2.3 release, but that's something that should only concern kernel developers and those daring to live on the bleeding edge of Linux advancement. Uneven version numbers are reserved for works in progress. The current 2.4 kernel was known as 2.3.x until Linus deemed it acceptable for final release, at which point the last 2.3 kernel became known as 2.4.

Therefore, the next development kernel will be known as 2.5, and its final product will be released as kernel 2.6.

The kernel itself is a never-ending project, the work of hundreds of Linux developers and kernel testers around the world. Twenty-four hours a day, seven days a week, this team of dedicated programmers work to add new kernel features and enhance existing ones, as well as tracking and fixing any bugs that might have cropped up since the last release.

Alan Cox and Torvalds then consolidate all of these changes into incremental releases, offering up to one new release of the kernel on a daily basis. For a kernel that has already been released, these newcomers are tagged with version numbers like "2.4ac-7." When work begins on the next Linux kernel, those pre-release test kernels will bear a version number like "2.5pre-1."

Getting the latest kernel release won't cost anything more than a simple download. The latest kernels are posted daily at the Linux Kernel Archives, known far and wide by the simple mention of its domain name, kernel.org. Downloading is the easy part; it's the actual kernel upgrade that might be an issue for casual Linux users.

If fiddling with the internals of your system gives you a queasy feeling, the most painless way to upgrade involves waiting for your favorite Linux distribution to offer a new version of their wares with the new 2.4 kernel.

The first major distribution to include the new kernel will likely be SuSE Linux. Version 7.1 of the German organization's distribution will debut for download and purchase on February 15.

Red Hat users can now download a beta version of the next-generation of that company's distribution, code-named "Fisher." Remember that a beta release is something that's not quite ready for widespread distribution; so don't be surprised if something traumatic happens to your system.

Other distributions may wait until the late second or early third quarters of 2001 to offer a complete distribution. Many are still researching 2.4 and how it will integrate with all of their packages; others may be waiting for a more stable incremental release with more bug fixes to come along.

If you simply can't wait to experience all the wonders of the latest and greatest Linux kernel, and more importantly, if you're willing to accept that your first attempts at upgrading the kernel might be less than successful, you can find plenty of help at the Linux Documentation Project to guide you through the process. The best starting point is the Linux Kernel Upgrade HOWTO.

NewsForge editor Tina Gasperson contributed to this article.

NewsForge editors read and respond to comments posted on our discussion page.


  • Linux
Click Here!