To print: Click here or Select File and then Print from your browser's menu
-------------------------------------------------------------- This story was printed from Tech Update, located at http://techupdate.zdnet.com. --------------------------------------------------------------
Linux 2.4 unmasked By Jerry Epplin, Linux January 10, 2001 12:47 PM PT Most Linux users have heard by now of the release of version 2.4 of the
kernel, an event sure to trigger a flood of new versions of all of the major
Linux distributions.
There's probably no point, unless you have a specific need for one of its new features. Performance and size are roughly a wash with 2.2 -- a fact which is in itself impressive, considering the new capabilities that have been added. You may wish to wait until your favorite distribution is released with a 2.4 kernel, which is likely to happen soon. Plus, the new distributions will probably include some useful new non-kernel features and programs that make use of 2.4's capabilities. So what's all the Linux 2.4 buzz really about? Some of the main feature additions to Linux involve support for a vastly wider diversity of platforms. Consequently, the release of 2.4 signifies an astoundingly quick maturation of Linux. Just a few short years ago, Linux was considered a PC operating system, mainly usable on x86 processors -- with fairly crude support for a few other architectures, such as Alpha and Sparc. With the release of 2.4, Linux has demonstrated its viability on an extremely diverse variety of platforms -- from handheld computers and other embedded devices at the low end, to mainframes and even multi-processor supercomputers at the high end. The official Linux kernel now has support for an impressive set of desktop and server 32- and 64-bit processor architectures besides the x86 -- Alpha, Sparc, MIPS, SuperH, PowerPC, ARM, and others. Perhaps most impressive, is the support for Intel's IA-64 server-oriented architecture (info) and for IBM's S/390 mainframe (info). Notably, the Linux IA-64 port appears to be well ahead of Microsoft's port of Windows to IA-64. And the Linux S/390 IBM mainframe port is nothing short of a testimonial to the flexibility of an operating system that most people think of only as a "competitor to Windows." In addition, numerous less mainstream CPUs and hardware platforms are supported by unofficial Linux kernels (such as ports for some Linux handhelds and the uClinux project). Many of these ports can be expected to be merged into the official kernel as they mature. Importantly, it tends to be these lesser known processors that form the fabric of myriad future non-desktop "embedded devices" and pervasive computing systems. Stunning diversity From an industry point of view, this spread of Linux to diverse architectures is stunning. Never before has an operating system spread so quickly to so many architectures. Windows took years to be ported to processors other than Intel x86. And its support for non-x86 architectures has actually waned in recent years. Unix became available on many platforms, but in the process became so fragmented that it could hardly be considered a single OS any longer. A number of specialized embedded operating systems have spread to many architectures; but they offer limited scalability and fewer features relative to Linux. Linux, on the other hand, has diversified rapidly without fragmenting -- meanwhile adding the features needed by modern, interconnected computer systems of every conceivable size, shape, and purpose. How did all this happen so fast? Not bad for a bunch of software anarchists working overnight on caffeine, you say? Several factors account for this success, many of which stem from the open source (GPL) software model used in developing Linux. The most obvious cause for the spread of Linux to new platforms is the crowd of microprocessor and computer manufacturers who have jumped onto the Linux bandwagon in the last two years. These include many of the leaders in the computer industry: IBM, Intel, Motorola, AMD, Hitachi, Toshiba, National Semiconductor, STMicroelectronics, Cirrus Logic -- and don't forget Linus Torvalds' current employer, startup chipmaker Transmeta. Why support Linux on their hardware? Because they, like the rest of us, can essentially own the OS source code, which gives them complete control over the process and the result. They don't need to ask anyone's permission, sign any NDAs, or pay anyone for the privilege of porting Linux to their hardware. When finished, they are free to sell the operating system or, more commonly, give it away with their hardware. By contrast, porting a proprietary OS is much messier -- and riskier. The hardware manufacturer and the proprietary OS vendor each has differing -- and sometimes conflicting -- agendas and priorities. These must be continually negotiated and reconciled. A CPU manufacturer can't even be sure that the OS developer will remain committed to their port in the face of ever-changing corporate priorities (ask Motorola about Microsoft's Windows NT support for PowerPC!). No such danger exists with Linux. Originally, this was simply because it was controlled by a group of volunteers with few or no corporate loyalties. The "non-corporate" culture of Linux kernel development is still an important factor. Watch the Linux kernel mailing list for a while, and you'll see what happens to anyone who is perceived as representing a "corporate agenda." Expanding applicability A more recent factor keeping Linux development free of corporate agendas is the very breadth of applicability of Linux that I mentioned earlier. After all, it's challenging enough to write an operating system that's scalable from handhelds to mainframes. Doing so while advancing some hidden non-technical agenda is multiply so. Kernel developers have therefore developed a habit of focusing on what's important to the OS, and have scant patience for non-technical issues. The corporations who hope to benefit from porting Linux to their hardware therefore have come to realize that their contributions to Linux will be incorporated into the standard kernel based solely on their technical merit. They also know no one else will succeed at slipping something in that undercuts their efforts. In short, they can be sure that only technical hurdles stand in the way of a successful port of Linux to their hardware. The result of this "virtuous cycle" is an operating system that, with version 2.4, boasts an impressive new set of features for everything from low end to high end platforms. High end system features
Low end capabilities At the low end of the spectrum, some important capabilities have been added that benefit embedded systems and dedicated intelligent devices . . .
From a developer's perspective, one of the most significant improvements with Linux 2.4 is an intangible: a major overall restructuring of the Linux source code which makes it more modular, configurable, and easier to modify. In fact, reading the Linux 2.4 source code is now a pleasure -- well, at least it is for programmers! Whereas Linux 2.2 was quite difficult (downright painful, really!) to follow, everything in Linux 2.4 is now structured in logical ways. The result is that a reasonably capable programmer can now read, understand, and customize the kernel -- something only the most dedicated specialists could do before. Embedded: the next Linux frontier The improved structure and modularity of its source code is going to be crucial to the success of Linux in the Embedded Market, which is home to over 90 percent of the microprocessors minted each year. The Embedded Market is widely expected to represent the next big conquest of Linux, and will become a major battleground among market leaders Microsoft and Wind River, plus a handful of Embedded Linux and proprietary OS vendors. In embedded apps, unneeded functionality must be trimmed out in order to achieve price/performance goals, and support for unusual requirements and custom functionality must be added. Consequently, the most configurable, flexible, and well supported OS wins. With the release of kernel 2.4, Linux has now attained a level of modularity, configurability, and accessibility that truly has the potential to transform it from a position of new challenger to one of dominance in the highly prized Embedded Market. Consequently, you can expect to see a growing number of high profile -- and high volume -- Linux-based devices emerging shortly, in applications ranging from cell phones and PDAs, to set-top boxes and home gateways, to high end systems used in telecommunications and Internet infrastructure. Gazing into a crystal ball All this explains why you should be interested in the development of Linux, even if all you ask from your operating system is that it run the applications you use for work or play. Much discussion about Linux focuses on comparing its features with those of Windows, or BeOS, or Unix, or OS X. This is important because the purpose of an OS is, after all, to run your programs efficiently and usably. Today, Linux competes quite favorably from that perspective -- with its principal limitation being that of application software. However, it's even more important to consider what the world will look like five years from now, when applications for embedded intelligence and connectivity have migrated well beyond the desktop and server realms, into virtually every nook and cranny of our lives. Some have envisioned literally billions of embedded intelligent, interconnected devices -- everywhere! With that in mind, I'd like to pose this question: Which operating systems are more likely to improve at the quickest pace over the next five years? Proprietary ones, controlled by corporate entities with murky, complex, and self-centered motivations? Or, those whose design and design process are open to all? Author's bio: Jerry Epplin has written embedded software for the past fifteen years, primarily for medical devices. He can be reached at jerry@linuxdevices.com. Related stories: Wonderful World of Linux 2.4 ZDNet interviews Linus about his post-2.4 release celebration "And oh, btw . . ." (2.4.0 kernel is out!) uClinux 2.4 kernel now available Talk back! Do you have questions or comments on this article? talkback here |