The Bullet Points: Linux 2.4

A look at what's new in the next kernel release.

Every so often, something happens that is so breathtaking, so absolutely amazing, that it changes the world. The Linux 2.4 release probably won't be one of those momentous events, but it certainly is an important event in the evolution of Linux. Linux 2.4 marks the first kernel released under Linus' rapid-release plan, where more kernels are released with fewer new features so that those new features can get to the end users faster. Linux 2.4 also includes a lot of “loose ends” left over from Linux 2.2, including a number of features that make it more useful to the average desktop user.

I will attempt to outline some features of the new kernel which I think are most important, most revolutionary, or most newsworthy. Your opinions and mine are probably different, but please don't flame me too hard.

Universal Serial Bus

One of the features most requested in 2.2 but undelivered, Linux 2.4 will finally include support for the Universal Serial Bus (USB), an external device architecture that is becoming more and more common for devices such as sound cards, keyboards, modems and printers. This type of device is popular for both PCs (i386) and Macintoshes. The iMac uses USB almost exclusively.

At present, it isn't known how well USB will be supported for 2.4. It is generally expected that most hubs will work, as will keyboards, mice and sound cards (speakers). Support for many other devices will probably be added into the kernel before the release. As I am writing this a couple of months before you'll actually see it, things will probably have changed by the time you read this.

USB support is considered by many to be one of the larger obstacles to Linux's success as a desktop platform in the twenty-first century. While many USB ports in the world currently go unused, the amount of hardware available for this architecture is increasing daily. Sooner or later, it is likely that the “average” desktop will require USB support in an operating system.

ISA Plug and Play

Another feature long lacking in the Linux world is ISA PnP, the bus specification adopted by the Windows world to bring intelligence to an unintelligent bus architecture (ISA). Plug and Play has almost always been available under Linux through user-space configuration utilities and by using external modules for drivers. With PnP added into the kernel, it will be possible for the kernel to autodetect these devices explicitly and auto-configure their resources. No more fussing and mussing with unnecessary config files or module configurations. No more updating modules.conf by hand when you install a new card. Of course, your device order might still change.

How did the Linux developers do it? Linux 2.4 also includes a completely rewritten resource-allocation system that allows device resources to be managed more easily than before. It also allows Linux to manage resources for devices where the drivers have not yet been loaded, to prevent accidental misconfigurations of devices—just one of many “minor” changes that made major changes so much easier to make.

It's obvious that ISA PnP will benefit Linux most in the desktop arena. It will finally be possible to easily support a much larger percentage of the existing hardware of the world. Linux 2.4-based systems will simply be smarter and simpler in this respect.

PCMCIA Support

Wait! My Linux distribution has supported PCMCIA cards for quite some time! This isn't a new feature...

Actually, for several years, the various distributions have been shipping Linux variants with PCMCIA support provided by an external developer. For various reasons, he chose not to incorporate his code into the mainstream kernel, and left it up to the distributions to work out the issues. This added complexity to an already complex system, and more or less ensured that no distribution could really ship with a “stock” Linux kernel. Not to mention the headaches involved in actually getting the matches merged and compiled.

As of Linux 2.4, that will change. While you will still need an external package to handle card manipulation and other issues, support for the PCMCIA devices and buses themselves are now provided in the kernel. This will level the playing field for distributions in some ways, as well as make using PC cards that much easier for those of us who never use a distribution's pre-compiled kernel. I'm writing this on a laptop on which I've never managed to get a working PCMCIA driver for a non-Red Hat kernel; Linux 2.4 will be heaven to me—no more booting into Windows to mail out articles. (Of course, that could just be my stupidity.)

With this feature, Linux scores another point for the desktop user and also for the Linux user on the go. In short, mobile Linux is just more practical. Any feature that makes Linux more practical is a feature I like.