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 classiccmp.org> 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