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.
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:
- HP itself used PA-RISC early on for operating system research, known are the HP Tut and HP OSF/1 ports of Mach 2.0 to PA-RISC of the late-1980s.
- The University of Utah was a center of PA-RISC operating system research, with ports of Mach 3, Mach 4 and HPBSD.
- The OSF Open Group alliance ported its own OSF/1 Unix onto PA-RISC as MK-PA Mach research project, and used parts of that for the Mach-based MkLinux port.
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.
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:
- 705, 710, 720, 730, 750 based on PA-7000 processors
- 715, 725, 735, 755 based on PA-7100 processors
- 712, 715, 725/100 based on PA-7100LC processors
- J200, J210[XC], C100, C110 based on PA-7200 processors
- Early HPBSD: HP 9000/835 server PA-RISC 1.0 NS-1 processor
- SCSI internal single-ended, internal fast-wide-differential, GSC based fast-wide-differential, and EISA fast-differential drives and DAT tapes, RS232 serial, builtin Ethernet, SGC FDDI board, GRX, CRX and Artist graphics, HIL and PS/2, audio
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.
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.
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:
- 705, 710, 720, 730, 750 based on PA-7000 processors
- 715, 725, 735, 755 based on PA-7100 processors
- 712 apparently with serious issues, 715 based on PA-7100LC processors
- 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
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.
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;
- 710, 720, 730 based on PA-7000 processors
- 715, 725, 735, 755 based on PA-7100 processors
- 712, 715, 725/100 based on PA-7100LC processors
- J200, J210[XC], based on PA-7200 processors
- Additionally Interphase FDDI board, EISA Ethernet boards, HP Labs GSC bus Myrinet board
- MK 7.2: Myrinet networking, FDDI, DIPC and CORDS
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.
- 705, 710, 720, 730, 750 based on PA-7000 processors
- 715 (no /33), 725, 735, 755 based on PA-7100 processors
- 712, 715, 725/100 based on PA-7100LC processors
- C100, C110 based on PA-7200 processors
- SCSI internal single-ended, internal fast-wide-differential, GSC-based fast-wide-differential, and EISA fast-differential, RS232 serial, builtin Ethernet, GRX, CRX and Artist graphics, HIL and PS/2, audio
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.
References
- ftp://ftp.cirr.com/pub/hppa/mklinux (FTP) Mirror of the MkLinux sets at ftp.cirr.com
- Release Notes for MkLinux on HP PA-RISC (FTP) Descriptions on MkLinux and extensive installation instructions. The Open Group (1997 [Central Iowa (Model) Railroad mirror 1999]. Accessed October 2005, checked December 2015)
- HPBSD: Utah’s 4.3bsd port for HP9000 series machines Original homepage of the HPBSD project. Mike Hibler (July 1999: University of Utah. Accessed October 2008)
- The Utah PA-RISC Code Snapshot Original webpage of the project. Mike Hibler (January 1996 [correctly December 2002]: University of Utah. Accessed 21 March 2008)
- ftp://flux.cs.utah.edu/flux/mach/ALPHA/ (FTP) contains the snapshots sets for a complete systems, University of Utah (1994-2002. Accessed 21 March 2008)
- Installation on HP 700s Utah PA-RISC Code Snapshot installation instructions. Mike Hibler (n. d.: University of Utah. Accessed 21 March 2008)
- Frequently Asked Questions about the Utah PA-RISC Code Snapshot Mike Hibler (September 1995: University of Utah. Accessed 21 March 2008)
- Re: Chorus Ports Jon Inouye (November 1994: comp.os.chorus USENET posting. Accessed June 2010)
- MK-PA: An HP-UX compatible microkernel based Operating System (FTP) The Open Group (1998 [Central Iowa (Model) Railroad mirror 2008]. Accessed 30 March 2008) (archive.org mirror (2001) )
- MK-PA Project Update (FTP) James Loveluck (1996: The Open Group [Central Iowa (Model) Railroad mirror 2008]. Accessed 30 March 2008) (archive.org mirror (2001)
- OSF MK 7.2 OSF RI (1997: archive.org mirror, accessed Februaru 2018)
- Porting Chorus to the PA-RISC: Project Overview (PDF, 0.1 MB) Walpole, Jonathan, et al. OGI Technical Report No. CS/E-92-003 (January 1992: Oregon Graduate Institute)
- Porting Chorus to the PA-RISC: Overall Evaluation (PDF, 0.1 MB) Walpole, Jonathan, et al. OGI Technical Report No. CS/E-92-003 (January 1992: Oregon Graduate Institute)
- Modularity and Interfaces in Micro-Kernel Design and Implementation: A Case Study of CHORUS on the HP PA-RISC (PDF, 0.1 MB) Walpole, Jonathan, et al. In Proceedings of the Usenix Workshop on Micro-Kernels and Other Kernel Architectures (Seattle, WA) April 1992
- The Chorus Microkernel, Pountain, Dick. BYTE magazine (January 1994)