On Wed, Apr 26, 2006 at 10:19:00PM -0400, Brian L.Stuart wrote:
> > You may be right. I had thought that the console monitor and the PAL
> > code were lashed together. The whole thing is a mess. I'd have
> > preferred no PAL code and 001 console monitors. It's not obvious to
> > me that the whizzo VMS queue instructions are actually worth having.
>
> I've got kind of mixed opinions on the subject of the PALcode. The
> multiple console monitors do seem a little pointless. As near as
> I can tell, the main motivation behind multiple PALcodes was to ease
> porting VMS from the VAX and DigitalUNIX (or whatever it was called
> that week) from the MIPS. One had a lot of built-in assumptions about
> the VAX MMU and the four VAX processor modes and the other assumed
> a lot about MIPS. That naturally led to the usual CS narcotic. "We'll
> just abstract it away with an interface layer." In retrospect, it looks
> to be an unnecessary bit of complexity. But at least it's vaguely
> interesting,
> unlike say the 7000 variations of how to specify which block you want
> from an IDE drive.
The thing about DEC's Unix on the Alpha was that it never ran on either
the MIPS or VAX.... It was essentially OSF/1 with some DEC
customizations and a custom compiler.
At the time, I thought it was pretty nice. It `felt' a lot more like
BSD, which was what I was used to coming from a SunOS 4/straight BSD
world. It was certainly a better offering than Solaris. The thing is,
DEC was the only company that bought into the koolaid of a unified Unix
to take on Sun/AT&T; the idea of a standard OS across DEC, HP, and IBM
hardware was nice and could have potentially forced Sun's hand to adopt
it, too, but since DEC was struggling and no one else took it
seriously, it just never happened. Now we're stuck with Linux.
I suspect that you're right: the PALcode was to help ease porting of
VMS from the VAX to Alpha. There was no such backwards compatibility
requirement for their Unix, so it's unclear why they had a separate
module for it, other than that perhaps the VMS version was too
complicated and/or made too many VMS-centric assumptions to fit the
Unix model neatly.
- Dan C.