|[Home] [Credit Search] [Category Browser] [Staff Roll Call]||The LINUX.COM Article Archive|
|Originally Published: Monday, 29 January 2001||Author: Matt Michie|
|Published to: featured_articles/Featured Articles||Page: 1/1 - [Std View]|
Kernel 2.4 Ascends the Desktop
The Linux Kernel 2.4 has recently been released with little fanfare from Linus Torvalds himself, but with much excitement from everyone else. What exactly is new with 2.4, and how does it improve the experience of the average desktop user?
There are several new relevant features, including Pentium IV support, MMX2 support, Universal Serial Bus (USB) device support, Direct Rendering Infrastructure (DRI), DevFS, various internal cleanups, and other new device drivers.
As with all other Linux kernels for the Intel platform, at least an i386 is required, with 2.4 support for Intel's latest offerings as well. On the desktop, this means direct speed-ups for Pentium IV based systems. Other Intel-compatible chips such as the AMD Athlon are also supported. This translates to the kernel making more efficient use of the computer's "brain", the CPU. Speed always makes for a more pleasant user experience on the desktop.
With kernel 2.2, USB support was noticeably absent for most of the development cycle. Several USB efforts were attempted, until Linus himself stepped in with some sample USB code. Eventually, more complete USB support was added into the 2.4 kernel. Human interface devices such as mice and keyboards are now fully supported, directly from boot. Support for other USB devices, such as scanners and digital cameras, is being added as soon as the specs become available. Though USB code has been back-ported to the later 2.2 kernels, eventually 2.2 will be phased out as 2.4 becomes more mature. New USB drivers will be written and tested on 2.4 first, hence desktop users will eventually get the most benefit from 2.4.
The DRI, or Direct Rendering Infrastructure, is a major effort by several separate Linux companies to bring better 3D support to XFree4 and Linux. Because of its advanced interaction with the system, some kernel modules are required. These are included with 2.4 for the first time. Cards such as the 3DFx Voodoo3000 are supported quite well, with OpenGL games being able to write quickly to the video card without extra encumbrances. This 3D support begins to bring Linux on par with graphics oriented operating systems like SGI's Irix. More directly, it makes games like Unreal Tournament and Quake III faster.
DevFS was a controversial addition to the Linux kernel that isn't enabled by default in 2.4, but could significantly ease the burden on desktop users related to configuring and maintaining the hardware on their desktops.
DevFS in part solves one of the problems inherent in the hot-pluggable nature of USB and mapping onto the unix /dev struture. In Unix, all devices are special files that can be accessed in the /dev directory. In Linux, all possible combinations of file devices are included with your distribution, culminating in a /dev of thousands of files. Unfortunately, with this system, there is no easy way to support removing and adding of USB devices.
In comes DevFS. Instead of a static file system, the developers designed a dynamic file-system that exists only in memory. It has a more organized hierarchy, and most importantly, its dynamic nature supports hot swappable devices automatically.
When the major distributions start to come out with their 2.4 kernel versions, chances are they will be able to use DevFS to perform some configuration magic, making the setup of Linux that much easier for the average desktop user. It will also allow the desktops like GNOME and KDE to write easy-to-use device trees that show exactly what devices are in use, as well as some basic configuration information.
Kernel 2.4 also has an improved TCP/IP stack, better memory management, and other cleanups that the average desktop user might not immediately notice, but that will subtly improve the overall "feel" of Linux.
With the addition of many new supported devices, Linux Kernel 2.4 adds a compelling array of features that provide a compelling reason to upgrade your 2.2 kernel.