On May 17, 1995, Linus Torvalds, the original author of the LINUX operating system, spoke at the monthly meeting of the Boston Computer Society's Linux & Unix User Group. Over 600 people crowded into one of MIT's large lecture halls to hear Linus discuss the status of Linux, its history, and current ongoing developments. This meeting was sponsored by the Boston Computer Society and the Greater New Hampshire Linux User Group. Linus Torvalds' visit to the United States was part of a trip sponsored by Digital and its user group DECUS.
The presentation began with a live demonstration of one of the latest Linux porting efforts, a low-end Digital Alpha system running in character mode showing a demonstration of Towers of Hanoi. Jim Paradis of Digital spoke briefly about the Alpha porting project and gave some references for a planned announcement of a low-end Alpha-based personal computer that should be available in the fall.
Linus Torvalds then gave a presentation on the history, current status, and future of Linux. He first told us something about the history of Linux. Linus started working on it about four years ago, when he became frustrated with the then-available technology for personal computers. He described how, "not knowing any better," he decided to implement his own version of a Unix kernel.
The Linux operating system, as Linus pointed out, really consists of the kernel he implemented together with outer layers of device drivers, tools, and utility programs that together make up a complete functioning system. He pointed out that, by volume, the code he wrote is not a large portion of the system; many of the tools and utility programs had already been developed over the years as part of the GNU community, and most of the device drivers in the Linux kernel were written by others. By choosing to implement the existing functionality of Unix as it is used by application programs, Linus was "able to stand on the shoulders of giants" and gain the benefits of much of the existing software available for Unix platforms.
He then explained what is happening with Linux today. The kernel source code is controlled completely by him. A new release comes out frequently, once every week or two. He starts receiving feedback within a day. If there are problems, fixes are available within a week. From his description it seems that he has bettered Microsoft at its own tactic of massive releases of "beta" software. For Linus, the world is his beta test site.
The current ongoing development projects Linus himself is working on include the port to the Digital Alpha, ongoing work on the file system, support for kernel threads, support for symmetric multiprocessing, and loadable modules.
Linus spent some time discussing the Alpha port, partially because there was a real machine present to prove the port exists (although he did mention that the 68k port is running on certain Amiga systems) and partially because this is an example of what kind of development is being undertaken with the kernel today. The Alpha processor has some significant differences from the Intel x86 family. It is a 64 bit system. It has a radically different assembly language. It supports I/O hardware differently (although the systems he discussed use ISA and PCI bus boards like a classic PC). He described how the fact the machine works with 64-bit integers instead of 32-bit was not as significant a problem as people expected. The two major areas of work were in the device drivers, which tended to require complete rewriting, and the memory management component that had to use the Alpha's virtual memory hardware.
His presentation then went on in some detail into the effort required to convert the memory management component of the kernel to support the Alpha's three-level page tables rather than the two-level tables it had previously supported. This rather esoteric technical discussion included some lively interactions with the audience. Where else but at a Linux meeting would you expect representatives from the Linux community, the OSF community, the Free Software Foundation, and hardware vendors to engage in a 20 minute public discussion of three-level page tables? And it was even interesting. It also showed us that Linus is quite confident of himself ("if you don't like the way I implemented things, tough!") as well he can be if there are really 1 Million Linux machines in use today. He also was not shy about explaining that some portions of the kernel, like memory management, have been rewritten more than once. "I've gotten used to rewriting memory management," Linus says.
The future of Linux was his last topic. He shared with the group his hopes that more and more of the software in the outer (user/application) portions of the Linux system include commercial efforts. He wishes there were database management systems, word processors, and other genuine end-user tools. The state of the art today, according to Linus, is that "Linux users think GCC is an end-user application," meaning the users today are highly technical. Linux is evolving towards more genuine end-user environments, where the end-user applications are word processors, database management systems, presentation graphics tools, etc. He even admitted, somewhat sheepishly, that the slides he was using in his presentation were done with Microsoft PowerPoint because there was no good tool available on Linux.
The evening concluded with more questions from the audience, and the awarding of several door prizes provided by O'Reilly Publishing, InfoMagic, and Digital Press.
BCS Linux & Unix User Group