PA-RISC information - since 1999

Mach on PA-RISC

Overview

Several ports of Mach microkernel operating systems to PA-RISC were developed between the 1980s and 1990s. Mach on PA-RISC was developed mainly at the University of Utah and in HP research projects but was also commercialized in products like SPP/UX and NeXTSTEP.

The University of Utah was a center of PA-RISC operating system research in the 1990s, Mach was ported in Utah to PA-RISC with Mach 3 in 1991 and Mach 4 in 1994, both of which were developed in parallel to the more conservative HPBSD port.

Mach was commercialized for workstations eventually with NeXTSTEP on PA-RISC in 1994 and later Mac OS X, itself based on Mach and influences from NeXTSTEP. SPP-UX, the Unix variant for Convex Exemplar scalable computers was based on Mach. Interest in Mach died down after the 1990s and ports were suceeded by open source projects in the early 2000s, which borrowed from their code and documentation.

Mach 3

The Mach 3 port to PA-RISC was called Mach 3/UX, developed by Bob Wheeler of the University of Utah around 1991. It was one of the first various Mach microkernel ports to PA-RISC. This port was supposed to accomplish what the previous, HP-internal HP Tut project aimed for — a proper port of Mach to PA-RISC. The sole target system was the HP 9000/835 server.

Ported was the Mach 3 microkernel with a proof-of-concept AT&T Unix System V kernel (personality) running as user-level server, with the Unix part originally done by CMU. Mach 3/UX never got very far, but code wound up later in Mach 4/Lites and probably MK-PA from OSF. There were no public releases known.

There was apparently another, separate University of Utah research project for OSF/1 on PA-RISC with a Mach 3.0 microkernel and OSF/1 1.0.4 server used for threading research.

↑ up

Mach 4/Lites

The University of Utah ported the original Mach microkernel with a 4.4BSD-Lites server on top, released as Mach 4/Lites. It was based on the work of the Mach 3/UX project and developed and first released in 1994. It took the Mach microkernel with a Unix server on top – in this case Lites for 4.4BSD Unix.

The Unix which runs on top of the Mach kernel is Lites, an 4.4BSD-lite Berkeley Unix operating system personality provided by the Lites server/emulator. Lites is a user-mode, single-task implementation of BSD Unix which runs on top of a Mach micro-kernel, developed at Helsinki University of Technology (HUT) in Finland.

Mach 4/Lites was the mid-1990s public and freely available offspring of earlier, closed efforts of OSF/1 from the Open Group and HPBSD from the University of Utah. It was never a fully functional operating system and more of a coding and research project, meant to open source Mach and PA-RISC developments.

Supported hardware

Mach 4/Lites supported PA-RISC 1.1 HP 9000/700 workstations from the early to mid-1990s. In addition, there are several other PA-RISC-related device drivers, kernel components and utilities and a fairly complete 4.4BSD-lite user environment.

Releases

Mach 4/Lites was released in Alpha status with freely distributable source, binaries, and boot images. This was for a complete Mach kernel that includes some of Utah’s operating system research, the Lites BSD-based single-server, include directories and libraries, and a complete GNU toolchain for the ELF object format.

The following releases were available as source from FTP mirrors.

Source of Mach 4/Lites were used extensively in newer BSD operating systems such as OpenBSD/hppa during their early development. The entire Mach 4/Lites system was self-built on Mach 4/Lites. Sources and binary releases are still available at mirrors, although performance and stability can be lacking.

↑ up

SPP-UX

Convex SPP1000
© Convex 1994

The Exemplar Operating System, SPP-UX, was a scalable Unix based on Mach developed by Convex for its SPP1000 and SPP2000 mainframe computers with up to 128 or 512 processors. SPP-UX implemented a distributed architecture that was supposed to look like (emulate) HP-UX for developers but was very different below the userland. It probably was released between 1993 and 1999?

The SPP-UX kernel and architecture was based on a Mach 3.0 distributed microkernel and was taken over by HP during the acquisition of Convex and its Exemplar SPP computers. Each hypernode of the SPP computers ran an independent instance of the Mach microkernel There were three (four) main layers for SPP-UX:

  1. Distributed kernel: Based on an enhanced Mach 3.0 microkernel, supposedly OSF 1/AD Mach from OSF RI, that was targeted for coupled SMP systems to support highly parallel applications; message-passing paradigm for NUMA computers
  2. HP-UX compatibility: Second operating system layer compatible to HP-UX, to enable running HP-UX applications on SPP-UX, supposedly emulated HP-UX APIs and ABIs; management of distributed resources, processors, simultaneous users, process scheduler; supported parallel jobs as well as multiprocessing of single-thread
  3. Extensions and features: Central management, open systems and standards like POSIX, specialized programming and development environment
  4. Lastly, the applications: Possible were HP Series 700 (stock HP-UX), C Series and MPP applications

SPP/UX supported the following hardware:

↑ up

HP Tut (Mach 2)

HP Tut was an internal HP Laboratories research project in 1988-89 to port early HP-UX Unix onto a Mach microkernel, which apparently never suceeded far with that effort. It moved on to merging parts of Mach 2.0 microkernel under a HP-UX 2.0 userland (server) to get something close to resembling Mach on PA-RISC. HP Tut was the basis for various other porting efforts and PA-RISC Mach research projects.

Very few information is left on HP Tut, with some machine-dependent sources apparently having been used by the Chorus port to PA-RISC.

↑ up

Chorus

Chorus was an early micro-kernel operating system, started as research project by the French research institute INRIA. It was commercialized in the 1980s by a spinoff, Chorus Systems. Chorus was ported to a few RISC architectures and used parts of System V Unix userland. Apparently, it was used by Unisys for a while in the 1990s, before Chorus was bought by Sun.

Chorus PA-RISC
Chorus PA-RISC © 1994

A development port to PA-RISC was done between 1990 and 1991 at the Oregon Graduate Institute (OGI) for the HP 9000 834 system, based on Chorus v3.3/MiX v3.2. The port was supported by HP and Chorus and done by two PhD students with some help.

For the PA-RISC port at OGI, none of the team members had performed an operating system port before, neither did they have any experience working with the PA-RISC or Chorus. Later on, an attempt to port Chorus/MiX V.3.2 (v3.4 nucleus) to an HP 9000 720 workstation was made at OGI, the 720 being a popular target for OS/Unix porting efforts at that time.

Hardware support

Hardware support and functionality of Chorus on PA-RISC was limited, with apparently no network interfaces or disk devices supported and console I/O depending on PDC and IODC routines. Code from various earlier projects was used, including from HP-UX 2.0 and HP Tut, Mach 2.0.

Releases

Chorus on PA-RISC was never released publically, since it used HP source code from HP Tut (Mach) and HP-UX and the USL.

The following releases were available as source from FTP mirrors.

↑ up

Documentation

↑ up