November 25, 2003 3:53 PM PST
New Linux version expected in December
The current test version, 2.6.0-test10, should be the last, and 2.6.0 itself will emerge by the end of the year "unless the wheels fall off in a serious manner," 2.6 overseer Andrew Morton said in an interview Tuesday.
Get Up to Speed on...
Get the latest headlines and
company-specific news in our
expanded GUTS section.
"The 2.4 kernel really does begin to run out of steam at four or eight CPUs," Morton said. "With 2.6, I'd be surprised if there is anything preventing it from scaling to 32."
Linux is based on Unix. But unlike Unix, Linux grew popular on widely used and low-priced Intel-based computers. It first became popular among corporate customers on lower-end servers, but running on higher-end servers will let Linux supplant more of the Unix market.
A large number of often self-appointed programmers create Linux by collaborating and sharing the source code that underlies the software. This open-source development process contrasts starkly with the proprietary controls that govern Linux competitors such as Unix and Windows. But one thing is similar with the two approaches: delays.
Linus Torvalds, who founded and still leads the Linux programming project, said last year he hoped 2.6.0 would emerge in June. Similar schedule slips afflicted the 2.4 kernel, which was released in January 2001.
Morton is one of Torvalds' key right-hand men, called "maintainers," responsible for various sections of Linux; Morton's domain is the 2.6 kernel itself. Both programmers currently are employed by an industry-funded consortium called the Open Source Development Labs (OSDL).
Morton believes the 2.6.0 kernel will be much better tested when it arrives than 2.4.0. "I think 2.6.0-test10 is about the same level of maturity that 2.4.17" was, he said. "We're a lot farther down the track than we were with 2.4."
Not all agree, however. SuSE Chief Technology Officer Juergen Geck said in an October interview that he expects the deeper architectural changes coming with 2.6 mean that more problems will surface.
There typically is a lag between when a new kernel arrives and when it appears in products. Red Hat, the top Linux seller, waited until 2.4.2 before selling a product with the new kernel.
Red Hat tests newer technology in its "Fedora Core" releases; the main purpose of Fedora Core 2 will be to introduce and improve the 2.6 kernel before it's included in the slower-moving Red Hat Enterprise Linux product, which likely won't get the 2.6 kernel until 2005.
Red Hat and SuSE have been bringing several features from the 2.6 kernel to the 2.4 kernel in their products, a process called "backporting." In addition, the commercial kernels have other patches that make them different from the standard versions Torvalds posts at Kernel.org.
Forking hard to swallow
Because 2.6 includes many of the customizations Linux sellers have used, the release of the new kernel will reduce the differences between those products and the standard version at Kernel.org. That's significant, because Linux programmers are working to keep Linux from "forking" into incompatible versions, as happened with Unix.
"I would view it as a personal failure if they're not" closer, Morton said. "It simply adds development and testing work to maintain these big patch sets. There's always the risk that the SuSE kernel would behave differently from the Red Hat kernel. We lose if that happens."
OSDL Chief Executive Stuart Cohen said: "Oracle, PeopleSoft, DB2--they are all interested in one operating system that runs the same. They are not interested in forking. There's a lot of pressure in the industry to keep a single operating system image."
Reducing differences is also a goal when it comes to the 2.6 kernel and the forthcoming 2.7 version, Morton added. In part, that means backporting new developments from 2.7 to 2.6. But more often it means making sure improvements to 2.6 are moved to 2.7, so the same problem doesn't have to be fixed twice, he said.
Keeping the production version and the development version synchronized "is something we haven't been very good at in 2.4," Morton said.
Torvalds tapped Morton for the 2.6 maintainer position after he moderated a disagreement in 2002 among programmers about how best to handle Linux's virtual memory subsystem.
"At the start of this year, Linus asked me to be the 2.6 maintainer, basically because I interact with other people reasonably well, and he trusted my technical decision-making," Morton said. "Also, he would prefer it not be someone from IBM or Red Hat or SuSE," but rather someone independent of those major forces in the Linux arena.
Morton maintains one of the major Linux "trees," a collection of patches to the version at Kernel.org. Morton's tree "is designed as a conduit into Linus' tree," the standard version of Linux. "It's a staging area where people can get solidified. The one thing I do is spend a lot of time getting code into shape so it can be submitted to Linus."
Version 2.6 includes a multitude of changes:
It's geared to work better on large multiprocessor systems, particularly those using the non-uniform memory access (NUMA) designs in which there are a range of delays possible when processors read or write data from memory.
It's got better support for "embedded" computing devices such as cell phones, network routers or video recorders.
It responds more quickly to human actions such as mouse clicks or keyboard commands.
Its "block device" drivers, the software modules for communicating with devices such as hard drives and CD drives, have been overhauled.