An Interview with DEC
Another market research “coup” was the decision to have only one source code tree for the kernel, as was the determination to have the Alpha version of Linux as close to the Intel version as possible. One of the early projects based on this decision was to move away from the Extended Common Object File Format (ECOFF) and to do Executable and Linking Format (ELF) instead. ELF had already been selected for the Intel side, and the Intel version of Linux had to transcend the a.out-to-ELF formats. The ELF project started immediately, and the transition from ECOFF to ELF happened before Alpha Linux rolled into common usage.
Before ELF, the image sizes were enormous since every image was statically linked. When ELF came along, the entire system usage got a whole lot better. The change was particularly dramatic on the DEC Multia/UDB (Universal Desktop Box); you could run X in 32MB of memory and not use any swap space.
The third big marketing decision was that Digital would not sell Linux, but instead allow the existing vendors of Linux systems to supply the distributions and support. This led to the decision to have Digital engineering contribute back in source code (whenever legally possible) everything they had developed for Linux.
At Digital we never saw ourselves as “owning” Linux; Linux cannot be owned or controlled by anything but the worldwide Linux community. Throughout the early days we were essentially playing catch-up with Intel Linux. We were writing code, porting code and running around showing people this neat, new thing. We Digital folks saw (and see) ourselves as part of the wider Linux community. I had not even used Linux before MILO first booted it on an Alpha. Linux is infectious. Our role was, and still is, to be a catalyst to the rest of the Linux world. A good example is the Red Hat Alpha Linux release. We helped make that possible, but it was Red Hat who did the real porting work. They did it because, like us, they believe Alpha AXP is a good Linux platform. Another example of Digital leveraging the larger Linux world is the driver for our TGA (or Zlxpe) graphics adapter. This card had no XFree86 support but was being used in our Windows NT and Digital Unix Alpha systems. Jay Estabrook did a port of XFree86 for that device, and we also released TGA sources to the XFree86 project.
Many might ask why the Alpha port is important. First of all, the Alpha is the world's fastest single-chip microprocessor. Linus wanted a fast system to show what Linux could do, and the Alpha was a natural choice.
Secondly, the Alpha is a true 64-bit system, with 64-bit integers and a 64-bit virtual address space. This allowed Linus to see what the kernel would require in the way of page tables, etc. On another plane, the large address space of the Alpha allows Linux to be used in research for computing large memory models—particularly interesting in parallel systems and clustering techniques.
Third, the Alpha is a very clean RISC architecture. In the beginning, it was so clean that the Alpha did word accesses only to memory, which forced some of the kernel data structures to be redesigned for efficiency. Later Alpha chips have byte instructions, but this cleanliness of the architecture helped to set the pace for other RISC architectures.
Many folks have taken to the Alpha because they like its technology. Its purity of architecture, speed and natural 64-bit support are very attractive to technologists. There was a lot of interest from the research and academic communities—the combination of an operating system that we already knew and loved, together with falling prices of Alpha-based systems helped sales quite a bit.
Fourth was the fact that Digital was an early adaptor of the PCI bus. Although some early Alpha systems had Turbo-channel buses for backwards compatibility with our older systems, Digital started early in the Alpha system life to provide PCI support, at the same time blending in EISA and ISA support, too. This made it easier to move device drivers from Intel Linux to Alpha Linux, which would probably have been more difficult if the systems had a proprietary bus, such as the Sbus or NuBus.
- Readers' Choice Awards 2014 Poll
- Give new life to old phones and tablets with these tips!
- Tech Tip: Really Simple HTTP Server with Python
- Linux Systems Administrator
- Source Code Scanners for Better Code
- Memory Ordering in Modern Microprocessors, Part I
- Senior Perl Developer
- Technical Support Rep
- RSS Feeds