|This article needs additional citations for verification. (August 2007)|
|Company / developer||Digital Equipment Corporation|
|Source model||Closed source|
|Latest stable release||4.5 / 1995|
|Supported platforms||PDP-7, PDP-11, VAX, MIPS|
|Kernel type||Monolithic kernel|
|Default user interface||Command line interface, DECwindows GUI|
Ultrix (officially all-caps ULTRIX) was the brand name of Digital Equipment Corporation's (DEC) native Unix systems. While ultrix is also the Latin word for avenger, the name was chosen solely for its sound.
The initial development of Unix occurred on DEC equipment, notably DEC PDP-7 and PDP-11 (Programmable Data Processor) systems. Later DEC computers, such as their VAX systems, were also popular platforms on which to run Unix; the first port to VAX, UNIX/32V, was finished in 1978 (the VAX was only released in October 1977). However DEC only supplied their own proprietary operating system, VMS, prior to officially supporting Unix.
Absolutely key to bringing Unix to inside the company, DEC's Unix Engineering Group (UEG) was started by Bill Munson with Jerry Brenner and Fred Canter, both from DEC's premier Customer Service Engineering group, Bill Shannon (from Case Western Reserve University), and Armando Stettner (from Bell Labs). Other later members of UEG included Joel Magid, Bill Doll, and Jim Barclay recruited from DEC's various marketing and product management groups.
The UEG team, under Canter's direction, released V7M, a modified version of Unix 7th Edition (q.v.).
Shannon and Stettner worked on low-level CPU and device driver support initially on UNIX/32V but quickly moved to concentrate on working with the University of California, Berkeley's 4BSD. Berkeley's Bill Joy came to New Hampshire to work with Shannon and Stettner to wrap up a new BSD release, incorporating the UEG CPU support and drivers, and to do some last minute development and testing on other configurations available at DEC's facilities. The three brought up a final test version on the main VAX used by the VMS development group. No comments were heard from the VMS developers whose terminals greeted them the next morning with a Unix login prompt. UEG's machine was the first to run the new Unix, labeled 4.5BSD as was the tape Bill Joy took with him. The thinking was that 5BSD would be the next version - university lawyers thought it would be better to call it 4.1BSD. After the completion of 4.1BSD, Bill Joy left Berkeley to work at Sun Microsystems. Bill Shannon later moved from New Hampshire to join him. Armando Stettner stayed at DEC and later conceived of and started the Ultrix project.
Shortly after IBM announced plans for a native UNIX product, Stettner, having advocated a DEC UNIX product several times in the past, suggested to Bill Doll, a marketing manager, during a hallway conversation that it was finally time for DEC to make a native VAX Unix product available to its customers. A proposal was made to Bill Munson who later presented the idea to Ken Olsen. It was said that Olsen grabbed a Unix license plate, slapped it on someone's chest and said let's do it. Thus began Ultrix.
DEC's first native UNIX product was V7M (for modified) or V7M11 for the PDP-11 and was based on version of UNIX 7th Edition from Bell Labs. V7M, developed by DEC's original Unix Engineering Group (UEG), Fred Canter, Jerry Brenner, Armando Stettner, Bill Burns, Mary Anne Cacciola and Bill Munson - but the work of primarily Fred and Jerry. V7M contained many fixes to the kernel including support for separate instruction and data spaces, significant work for hardware error recovery, and many device drivers. Much work was put into producing a release that would reliably bootstrap from many tape drives or disk drives. V7M was well respected in the Unix community. UEG evolved into the group that later developed Ultrix.
First release of Ultrix
The first native VAX UNIX product from DEC was Ultrix-32, based on 4.2BSD with some non-kernel features from System V, and was released in June 1984. Ultrix-32 was primarily the brainchild of Armando Stettner. Its purpose was to provide a DEC-supported native Unix for VAX. The focus of the Ultrix-32 product development effort led by Stettner was, first, to be true to the Berkeley software distributions, second, to provide customers the ability to configure and manage VAX UNIX on a broad array of hardware configurations without the need to access kernel sources and third, to enable better support by DEC's field software and systems support engineers through better hardware support, system messages, and documentation. It also incorporated several modifications and scripts from the significant Usenet/UUCP experience gained while running decvax. Later, Ultrix-32 incorporated support for DECnet and other proprietary DEC protocols such as LAT. It did not support VAXclustering. Given Western Electric/AT&T Unix licensing, DEC (and others) were restricted to selling binary-only licenses. A significant part of the engineering work was in making the systems relatively flexible and configurable despite their binary-only nature.
In the end, DEC provided its Ultrix-branded native Unix operating systems on three platforms: PDP-11 minicomputers (where Ultrix was one of many available operating systems from DEC), VAX-based computers (where Ultrix was one of two primary OS choices) and the DECstation workstations and DECsystem servers (where Ultrix was the only OS choice offered). Note that the DECstation systems used MIPS processors and predate the much later Alpha-based systems.
Later releases of Ultrix
The V7m product was later renamed to Ultrix-11  to establish the family with Ultrix-32, but as the PDP-11 faded from view Ultrix-32 became known simply as Ultrix. When the MIPS versions of Ultrix was released, the VAX and MIPS versions were referred to as VAX/ULTRIX and RISC/ULTRIX respectively. Much engineering emphasis was placed on supportability and reliable operations including continued work on CPU and device driver support (which was, for the most part, also sent to UC Berkeley), hardware failure support and recovery with enhancement to error message text, documentation, and general work at both the kernel and systems program levels. Later Ultrix-32 incorporated some features from 4.3BSD and optionally included DECnet and SNA in addition to the standard TCP/IP, and both the SMTP and DEC's Mail-11 protocols.
Notably, Ultrix implemented the inter-process communication (IPC) facilities found in System V (named pipes, messages, semaphores, and shared memory). While the converged Unix from the Sun and AT&T alliance (that spawned the Open Software Foundation or OSF), released late 1986, put BSD features into System V, DEC, as described in Stettner's original Ultrix plans, took the best from System V and added it to a BSD base.
Originally, on the VAX workstations, Ultrix-32 had a desktop environment called UWS, Ultrix Workstation Software, which was based on a version of the X Window System. Later, the widespread version 11 of the X Window System (X11) was added, using a look and feel called DECwindows that was devised in order to mimic the look and feel of the UWS system. Eventually DECwindows also provided the Motif look and feel.
Ultrix ran on multiprocessor systems from both the VAX and DECsystem families. Ultrix-32 supported SCSI disks and tapes and also proprietary Digital Storage Systems Interconnect and CI peripherals employing DEC's Mass Storage Control Protocol, although lacking the OpenVMS distributed lock manager it did not support concurrent access from multiple Ultrix systems. DEC also released a combination hardware and software product named Prestoserv which accelerated NFS file serving to allow better performance for diskless workstations to communicate to a file serving Ultrix host. The kernel supported symmetric multiprocessing while not being fully multithreaded based upon pre-Ultrix work by Armando Stettner and earlier work by George Goble at Purdue University. As such, there was liberal use of locking and some tasks could only be done by a particular CPUs (e.g. the processing of interrupts). This was not uncommon in other SMP implementations of that time (e.g. SunOS). Also, Ultrix was slow to support many then new or emerging Unix system capabilities found on competing Unix systems (e.g. it never supported shared libraries or dynamically linked executables; delay in implementing bind, 4.3BSD system calls and libraries especially the math libraries; etc.) and suffered from some problems, most notably file system integrity issues (having never picked up the 4.3BSD filesystem and fixes).
As part of its commitment to the OSF, Armando Stettner went to DEC's Cambridge Research Labs to work on the port of OSF/1 to DEC's RISC-based DECstation 3100 workstation. Later, DEC replaced Ultrix as its Unix offering with OSF/1 for the Alpha, ending Unix development on the MIPS and VAX platforms. OSF/1 had previously shipped in a version for the MIPS architecture in 1991, but was not considered or advertised as a mature product. OSF/1 had a Mach-based kernel with many of the features missing from Ultrix. Again, the UEG (by now the Ultrix Engineering Group) worked at making the new OSF/1-based Digital Unix run well on DEC hardware, with the reliability and maintainability that people came to expect from DEC operating systems.
The last major release of Ultrix was version 4.5 in 1995, which supported all previously supported DECstations and VAXen. There were some subsequent Y2K patches.
- Comparison of BSD operating systems
- Ultrix Window Manager
- Ultrix/UWS Release Notes V4.1, AA-ME85D-TE
- Ultrix-32 Supplementary Documents, AA-MF06A-TE
- The Little Gray Book: An ULTRIX Primer, AA-MG64B-TE
- Guide to Installing Ultrix and UWS, AA-PBL0G-TE
- Canter, Fred. "V7M 2.1 SPD". Digital Equipment Corp. Retrieved 7 January 2012.
- "Ultrix-11 2.0 SPD". Digital Equipment Corp. Retrieved 7 January 2012.
- Ultrix FAQ
- Info on Ultrix from OSdata (version as of Jan 11 2006)
- Ultrix 2.0, 4.2, and 4.3 source code
- Ultrix system manuals