Mach Microkernel on PA-RISC
Several Mach microkernel operating systems were ported to PA-RISC between the 1980s and 1990s. Mach on PA-RISC was researched and developed mainly at the University of Utah and in HP R&pD projects but also commercialized in products like SPP/UX for mainframes and NeXTSTEP graphical Unix for workstations.
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.
After commercial NeXTSTEP, Mach was later commercialized with Mac OS X, with influences from NeXTSTEP. SPP-UX 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 2 (Tut)
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. Tut merged parts of Mach 2.0 microkernel and HP-UX 2.0 userland (server) for 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 little information is left on HP Tut, with some machine-dependent sources apparently having been used by the Chorus port to PA-RISC.
Mach 3/UX
The Mach 3 port to PA-RISC was called Mach 3/UX, developed around 1991 by Bob Wheeler of the University of Utah. It was one of the first of the various Mach microkernel ports to PA-RISC. Mach 3 on PA-RISC was supposed to accomplish what the previous, HP-internal HP Tut project aimed for — a proper port of Mach to PA-RISC on the HP 9000 835 server.
Mach 3/UX had a Mach 3 microkernel with a proof-of-concept AT&T Unix System V kernel (personality) as user-level server, with the Unix part originally done by CMU and the Mach part by Utah. Mach 3/UX never got very far, but code wound up later in Mach 4/Lites and probably MK-PA from OSF. There are no known public releases.
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.
Mach 4/Lites
The University of Utah ported the original Mach microkernel with a 4.4BSD-Lites server on top and released it as Mach 4/Lites.
Mach 4/Lites 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.
- HP 9000 705, 710, 720, 730, 750 based on PA-7000 processors
- HP 9000 715, 725, 735, 755 based on PA-7100 processors
- HP 9000 712 (with serious issues) and 715 based on PA-7100LC processors
- Devices: Internal single-ended and fast-wide different SCSI drives and tapes, RS232 serial, builtin Ethernet, GRX and CRX graphicss, Artist on 712/715 (probably), HIL and PS/2 keyboard/mouse
- Unsupported: FDDI networking, EISA expansion cards and devices, parallel ports, audio, teleshare port on 712, floppy drives and all other hardware
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.
- Mach 4/Lites (alpha): Support for few PA-RISC 1.1 workstations (1994)
- Mach 4/Lites (snapshot2): Fixes for HP-UX compatibility for Netscape 1.2, with some late breakage in newer systems (1996)
- Mach 4/Lites (snapshot3): Same as snapshot2 with license fixes to locore.S (2002)
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.
SPP-UX
The Exemplar Operating System, SPP-UX, was a scalable Unix based on Mach, developed by Convex for its SPP1000 and SPP2000 enterprise servers with up to 128—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 was released between (approximately) 1993 and 1999 by Convex.
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:
- 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
- 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
- Extensions and features: Central management, open systems and standards like POSIX, specialized programming and development environment
- Lastly, the applications: Possible were
HP Series 700
(stock HP-UX),C Series
andMPP
applications
SPP/UX supported the following hardware:
Documentation
- The Utah PA-RISC Code Snapshot Original webpage of the project. Mike Hibler (2002: University of Utah)
- https://ftp.lip6.fr/pub/mach/mach4/mach/ALPHA/ (HTTPS mirror) contains the snapshots sets for a complete systems, University of Utah (1994-2002) lip6.fr
- Installation on HP 700s Utah PA-RISC Code Snapshot installation instructions. Mike Hibler (University of Utah.)
- Frequently Asked Questions about the Utah PA-RISC Code Snapshot Mike Hibler (September 1995: University of Utah)
- HPE Spectrum, comp.arch, Bob English, Oct 17, 1990
- Exemplar Operating System (SPP-UX), Hewlett-Packard Company (1997) archive.org
- Convex Datasheet: Exemplar Operating System (SPP-UX), CONVEX Computer Corporation (1995) archive.org
- Lites - The 4.4 BSD Lite Server, Helsinki University of Technology (1997, Johannes Helander) archive.org
- Lites - The 4.4 BSD Lite Server, 1994 OSDI BOF (1994, Johannes Helander) archive.org
Other
- Discussion on PA-RISC at Utah, Mike Hibler, USEnet comp.sys.hp 1990 google groups
