Re: HP Series 9000 early 1980’s computer hardware

Frank McConnell fmc at
Fri May 18 17:03:05 CDT 2018

On May 17, 2018, at 15:48, Warner Losh wrote:
> On Thu, May 17, 2018 at 4:15 PM, Frank McConnell via cctalk <cctalk at> wrote:
> HP-UX for them is very interesting from a historical perspective in that the Unix kernel is a complete rewrite.  It is hosted on top of HP’s “SUN OS” operating system (there is also a single-user BASIC system for the 9020, also hosted on SUN OS) and written in HP’s MODCAL language.  The filesystem is HP’s Structured Directory Format.  The userland is largely made up of ports from AT&T System III (and later System V) and 4BSD.
> HP-UX did a fairly extensive kernel rewrite, but implemented substantially the same system call interface. This was apparent in a number of ways (the binary format was different from other machines in ways I can't quite recall, not quite COFF). They did ship mostly programs from BSD and SysV, though through quirks of the legal minefield of the early days of Unix, they did it under their System III license, at least in the early days... Don't know if that ever changed to a System V license or not since they didn't have a System V kernel...

I am thinking HP did at least four flavors of HP-UX.

First was HP-UX for the first-generation 9000s that became the Series 500.  I think it took System III as a baseline and reimplemented in MODCAL, and later added System V support.

Second was HP-UX for the 9836 (later Series 200).  That is a 68010 system and I think was a System III port.

Third was HP-UX for Series 300.  These are 680x0 systems for x>=2 and I think their HP-UX was a System III port later upgraded to System V.

Fourth was HP-UX for Series 800.  These are PA-RISC minis and I think their HP-UX was a 4BSD port with System V features for compatibility with series 300.

I’m not sure where the Integral fit in.  That was a single-user 68000, probably closest to series 200, with no MMU.
> So when it is running HP-UX it looks like Unix, with some exceptions.  One is that if you open and read a directory from your C program there are no entries for . (current) or .. (parent) directories; these are done in SDF’s directory entry and not present in the actual Unix directory.  Yes, ls -a shows them: it is faking them to make it look more like Unix!
> I think they must have fixed this, or it wasn't true for readdir(). I ported the OI toolkit to HP-UX once upon a time and the file dialog boxes just worked, and we had . and .. in there…

Were you really working with a Series 500?  I don’t think anyone ever ported X libraries to them.  No usable TCP/IP stack on them unless you bought the Wollongong product.  (I am thinking HP had one for it too, for their NS/9000 products, but it was IEEE 802.3 framing with 802.2 LLC header and not interoperable with Ethernet II.)

Series 300/400 (Motorola 680x0 for x >= 2) ran an HP-UX that I think is a System V derived kernel, or at least the later releases were, with a 4BSD TCP stack.  Series 800/700 ran an HP-UX that I think was a new port from 4BSD, but with System V features added for compatibility with the Series 300.
> -Frank McConnell (supported Wollongong’s TCP/IP on these)
> Danger! The Sea Monster Comes!

Yup, my real thing there was supporting Wollongong’s WIN/TCP for MPE/V, which wasn’t really Wollongong’s TCP/IP but was instead Telnet, FTP, and SMTP clients and services on top of HP’s NetIPC TCP API.  Telnet and FTP were mostly 4BSD ports to CCS C/3000 and NetIPC and MPE.

(And in this message, y’all are getting all the wonder of Apple Mail promoting characters to Unicode and the horrible Gmail quoting with spaces.  I hope it’s understandable.)

-Frank McConnell

More information about the cctech mailing list