|Company / developer||Digital Equipment Corporation|
|OS family||BSD Unix|
|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 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 supplied their own proprietary operating system, VMS, for a long time before they acknowledged 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. As an aside, 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.
As an aside, DEC UEG's main VAX, named decvax, was also one of the central nodes in the UUCP and Usenet network. It was the first system to link, in real time for email and Usenet news article, the east and west coasts of the US, Duke University (duke) and UC Berkeley (ucbvax). Later, after some compression capability was added to netnews, decvax was linked with Europe (Vrije Universiteit, Amsterdam) and then Australia (University of Melbourne), making calls at least twice per day each.
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.
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. It also incorporated several modifications and scripts from 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.
After Ultrix-32 completed its first phase of customer beta trials, Armando moved to the West Coast to help Steve Bourne start up DEC's Workstation Systems Engineering organization, an advanced development group focusing on graphics and workstations. From there, he went on to conceive of, write its first charter, and help in the formation of the Open Software Foundation. Armando then worked in a very small cross organizational group from which spawned DEC's first RISC workstation product, the MIPS-based DECstation 3100.
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.
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 included DECnet 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 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. 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.