OpenPA.net

Research Operating Systems

With input from Mike Hibler (2008)

Overview

Several other operating systems have been ported to the PA-RISC platform over the time between the late 1980s and late 1990s. Most of them only reached development state and have long been unmaintained. Documentation is rare, some of it only in archives.

PA-RISC R&D operating systems timeline
Year HP U Utah OSF Other
1988 HP Tut
1989 HP Tut HPBSD
1990 HP OSF/1 HPBSD Chorus (835)
1991 HP OSF/1 Mach 3/UX Chorus (720)
1992
1993 HPBSD 2.0
1994 Mach 4/Lites MK-PA 6.0
1995 MK-PA 6.3
1996 Mach 4/Lites II MK-PA 7.x
1997 MkLinux

PA-RISC was used for many research projects in the late-1980s until the mid-1990s, a time when microkernels were a popular R&D target. Most alternative operating systems were thus Mach-based or leaned on it, with three major groups developing and researching operating systems:

Only MkLinux and Mach 4/Lites were publically available, the others required licenses for commercial or NDA source code they contained. Interest in Mach died down and these ports were all suceeded by open source systems in the early 2000s, that borrowed heavily from their code and documentation. Mach was commercialized eventually with NeXTSTEP, ported to PA-RISC in 1994, and iconic Mac OS X, itself based on Mach and influences from NeXTSTEP.

HP

HP Tut

Tut was an internal HP research project from around 1988-89 to port HP-UX onto a Mach microkernel. The project apparently never suceeded far and moved on to merging parts of Mach 2.0 under HP-UX 2.0 to get something close to resembling Mach on PA-RISC. HP Tut was the basis for various other porting efforts and PA-RISC research projects within and outside of HP.

HP OSF/1

Around 1990 an internal HP project ported an early 1.0 version of OSF/1 to PA-RISC. OSF/1 was the alternative Unix operating system by an alliance of DEC, IBM, HP and others to compete with AT&T’s and Sun’s System V Unix.

HP OSF/1 was developed by ex-Apollo staff, after Apollo was bought by HP, and ported an Mach 2.0 macrokernel to the early HP 9000/700 workstations, resulting in a fairly complete operating system, with proper hardware support and a usable desktop environment with Motif and other OSF/1 applications. The port was never distributed widely and sold commercially only for a short time before being withdrawn quickly. It was apparently used widely at the University of Utah.

↑ up

University of Utah

HPBSD

HPBSD was developed between the late-1980s and mid-90s at the University of Utah by Mike Hibler and others, it grew out of a port of 4.3BSD to the 68k-based HP 9000/300 and 400 systems. HPBSD contains AT&T and HP source code and was never freely available. Organizations with the necessary license agreements with HP and AT&T were able to obtain bootable releases but distribution outside of the University of Utah was limited. HPBSD is an original 4.3BSD with additions from 4.4BSD and local modifications.

HPBSD supported the following hardware:

Taken from the original Utah webpage, and modified, with permission from Mike Hibler

HPBSD for 68k-based systems was born in 1987 when Mike Hibler started a port of 4.3BSD to the HP 9000/320 and 350 workstations at the University of Utah. Major development lasted until about 1991 with the final addition of Motorola 68040 support.

In the fall of 1989, Jeff Forys started work on a HP 9000/800 port based on the hybrid HP-UX/Mach kernel called Tut done as an experiment at HP Labs. By around February 1990 HPBSD was running on an 9000/835 and later that year was running solidly on the PA-RISC. For a short period of time in 1989-90, Mt Xinu also worked on the PA-RISC port and produced the first usable part of it, the boot loader, late in 1989. HPBSD used this boot loader. In 1990 another Mach project was spun off of HPBSD — the Mach 3/UX single server port for the 9000/835 sponsored by HP and primarily done by Bob Wheeler. Starting in May 1991, Leigh Stoller ported HPBSD to the HP 9000/720 workstation, after which support for PA-RISC 1.0 and the 9000/800 platform was dropped.

The last major development to HPBSD was the addition of the 4.4BSD kernel filesystem and networking code and the 4.4BSD ANSI-compliant C library. Jeff Forys started this in April 1992 and by early 1993 all of the University of Utah’s HPBSD machines had been converted. This version was known as HPBSD 2.0. Since this merge included the NFS implementation done by Rick Macklem, all Sun encumbered code could be eliminated. In April 1993, a semi-formal release of HPBSD 2.0 was made to the 2-3 sites which had the necessary agreements with HP that were necessary to obtain the PA-RISC specific code. Since that time, active development of HPBSD had pretty much stopped. As of Summer 1999, there were less than ten HPBSD machines left: one 68k and the rest PA-RISC. The last significant efforts were to bring HP-UX compatibility up to 10.20 to run the JDK and to port a 3Com EISA 100 Mbit ethernet driver.

↑ up

Mach 3

The Mach 3 port to PA-RISC called Mach 3/UX, from 1991 by Bob Wheeler of the University of Utah was one of the 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 were 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. The Mach 3/UX port never got very far, but code wound up later in Mach 4/Lites and probably MK-PA from OSF.

There might have been a separate University of Utah OSF/1 to PA-RISC porting effort (Mach 3/OSF/1), some sources suggest a short-lived project to port Mach 3.0 and OSF/1 1.0.4 to PA-RISC.

↑ up

Mach 4

The University of Utah Flux Research Group ported the original Mach microkernel with a 4.4BSD-Lites server around 1994 to the PA-RISC architecture, based on the work of the Mach 3/UX project, and called it Mach 4/Lites. There was not much support provided and few enhancements made over the years, and it was quickly discontinued in favor of other projects both at Utah University and elsewhere, for example the MkLinux port. The project was seen from the beginning not as a complete operating system but rather as a snapshot for developers.

Mach 4/Lites supported the following hardware:

Taken from the original Utah webpage, and modified, with permission from Mike Hibler

Mach 4/Lites supported the PA-RISC 1.1 HP 9000/700 platform with freely distributable source, binaries, and boot image for a complete Mach kernel that includes some of Utah’s then-recent (though not exploited) research, the Lites BSD-based single-server, include directories and libraries, and a complete GNU toolchain for the ELF object format. In addition, there are several other PA-RISC-related device drivers, kernel components and utilities and a fairly complete 4.4BSD-lite user environment. The entire system was self-built on Mach 4/Lites.

The operating system kernel is based on a Mach kernel, derived from CMU’s (Carnegie Mellon University) MK83 release, and is loosely referred to as Mach 4. It contains some initial work done at Utah as part of the ARPA-funded Fast and Flexible Mach Systems work. In particular it contains a prototype implementation of migrating threads and a basic framework for signature-based remote procedure calls, a fundamental component of the presentation/interface work. None of these features is used either by the Lites server or within the kernel itself.

The PA-RISC-specific part includes all the necessary interrupt, exception, and locore system call handling code, a pmap module, and device drivers for the VSC and GSC bus based workstations. The only kernel or server component provided only as a binary library and not in source form is the floating point emulation code which handles operations and exceptional conditions not done in hardware. The libmach and libcthreads libraries are also included with the necessary changes for PA-RISC support.

Also included is additional code never integrated into Mach 4, that was part of Utah’s earlier Mach 3/UX and HPBSD ports or HP OSF/1. The former includes bus configuration and rudimentary device drivers for the CIO bus based workstations and servers as well as a remote kernel/task debugging facility developed by Convex. The latter includes some basic EISA support and alternative LAN drivers.

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.

↑ up

OSF

MK-PA

OSF/1 was the third flavor of Unix besides System V and BSD, developed by a consortium between DEC, IBM and HP. The OSF Open Group Research Institute ported OSF/1 to PA-RISC in the mid-1990s as a research project, focusing on 32-bit HP 9000/700 workstations and servers. Research releases were MK6.0-PA in 1994, MK6.3-PA in July 1995 and MK7-PA and MK7.2-PA in 1996. Porting was supported by HP in some way. MK-PA was never distributed or released widely, but used for research purposes a lot, including for ARPA projects (to include radar tracking). Obtaining MK-PA from OSF RIrequired an OSF/1 source license.

Hardware support focused on PA-RISC 1.1 700s workstations, support for the 800s PA-RISC 1.0 servers was dropped from the original Mach 3/UX code base. MK-PA as research project had as its main objectives to demonstrate: PA-RISC as OSF RI reference platform, performance parity between HP-UX and MK based systems, HP-UX binary compatibility, high-speed networking capability. Performance was similar between HP-UX and MK-PA at that time. HP-UX compatibility was provided for HP-UX 9.05 on the MK-PA 7.1 release; compatibility for HP-UX 10 was apparently achieved with MK-PA 7.2. OSF MK 7.2 ran on both Intel x86 and HP PA-RISC and featured OSF/1 1.3.1 commands and libraries.

The version of Mach 3 used by the OSF porting effort contained several of the Mach 4 enhancements of the University of Utah and probably used parts of the Mach 3/UX PA-RISC codebase. Parts of the MK-PA port were used as the base of the OSF port of Linux onto OSF Mach, MkLinux.

MK-PA supported the following hardware;

↑ up

MkLinux

MkLinux was a research project from the mid-1990s by the Open Group/OSF to port a Linux kernel as server onto a Mach microkernel, the Open Group pmk1.1. The project built on the previous MK-PA Mach 3 port. Other parts were integrated from the PA-RISC kernel sources from the Utah University, including Mach 3/UX and Mach 4/Lites. The port improved the underlying OSF PA-RISC/Mach kernel from MK-PA and put a Linux 2.0 kernel as server personality on top, replacing BSD/Lites from the previous efforts. Included were X11R6 patches, the GNU ELF compiler and debugger and complete /usr and /var directories.

MkLinux was the first free operating system that truly ran on PA-RISC hardware, in contrast to the various Mach ports, which suffered from unfinished development and a lot of bugs on PA-RISC. However, the system was rather slow, did not support shared libraries, software support was rather rudimentary and at the time of its active development PA-RISC workstations were not largely available to private end-users.

MkLinux supported the following hardware and systems.

↑ up

Other

Chorus

Chorus was a micro-kernel operating system by INRIA, started in 1979. A development effort was made to port it to PA-RISC in 1990-1991 at the Oregon Graduate Institute OGI.

The porting effort, a funded research project by Jonathan Walpole, was based on the Chorus v3.3 nucleus kernel with the Chorus/MiX v3.2 on it for the HP 9000/834 system. Hardware support was rather 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, HP-UX on 2.0 Mach. The port succeeded up to the stage that Unix shells and various system calls worked, but no access to file systems was possible.

A later porting project was started by Jon Inouye, also from Oregon Graduate Institute, to port the Chorus/MiX v3.2 with the newer v3.4 nucleus to the PA-RISC 1.1 9000/720 workstation a popular target for OS/Unix porting efforts at that time. The port did not progress very far, as it supported few device drivers. In contrast to the earlier HP 9000/834 port it used HP-UX 8.0 as a base.

Both ports were never distributed as they contained various copyrighted/licensed source code from HP, Chorus, USL, and others.

↑ up

References

↑ up