The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Richard Salz <rich.salz@gmail.com>
To: Paul Winalski <paul.winalski@gmail.com>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] Pipes and PRISM
Date: Tue, 1 Mar 2022 16:25:23 -0500	[thread overview]
Message-ID: <CAFH29tqu2n0_o=0c1jRscToTamdAA1qd6MH3X+bnU478=jHehQ@mail.gmail.com> (raw)
In-Reply-To: <CABH=_VRc29kPrUKUnLyT0P5LUmE0maokp_G9oF9TCNMEHqLa+g@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3600 bytes --]

The VMS process model is different from Unix; like TOPS-20, it was more a
shared address space. I don't remember details, but I do recall that a
"logout" call in a DCL script logged you out of the system.

Did Softway Systems make kernel changes? I know MSFT's original Posix plan
was to do it all in user-space.  WSL is a Ubuntu port, so if Softway had
kernel changes, I could see how that made things simpler.


On Tue, Mar 1, 2022 at 12:05 PM Paul Winalski <paul.winalski@gmail.com>
wrote:

> Last week there was a bit of discussion about the different shells
> that would eventually lead to srb writing the shell that took his name
> and the command syntax and semantics that most modern shells use
> today.   Some of you may remember, VMS had a command interpreter
> called DCL (Digital Command language), part of an attempt to make
> command syntax uniform across DEC's different operating systems
> (TOPS-20 also used DCL).  As DEC started to recognize the value of the
> Unix marketplace, a project was born in DEC's Commercial Languages and
> Tools group to bring the Unix Bourne shell to VMS and to sell it as a
> product they called DEC Shell.
>
> I had been part of that effort and one of the issues we had to solve
> is providing formal UNIX pipe semantics.  They of course needed to
> somehow implement UNIX style process pipelines.  VMS from the
> beginning has had an interprocess communications pseudo-device called
> the mailbox that can be written to and read from via the usual I/O
> mechanism (the QIO system service).  A large problem with them is that
> it is not possible to detect the "broken pipe" condition with a
> mailbox and that feature deficiency made them unsuitable for use with
> DEC Shell.  So the team had me write a new device driver, based
> closely on the mailbox driver, but that could detect broken pipes
> lines UNIX-style.
>
> Shortly after I finished the VMS pipe driver, the team at DECwest had
> started work on the MICA project, which was Dave Culter's proposed OS
> unification.  Dave's team had developed a machine architecture called
> PRISM (Proposed RISC Machine) to be the VAX follow-on.  For forward
> compatibility purposes, PRISM would have to support both Ultrix and
> VMS.  Dave and team had already written a microkernel-based,
> lightweight OS for VAX called VAXeln that was intended for real-time
> applications.  His new idea was to have a MACH-like microkernel OS
> which he called MICA and then to put three user mode personality
> modules on top of that:
>
>     P.VMS, implementing the VMS system services and ABI
>     P.Ultrix, implementing the Unix  system calls and ABI
>     P.TBD, a new OS API and ABI intended to supersede VMS
>
> So I wrote the attached "why pipes" memo to explain to Cutler's team
> why it was important to implement pipes natively in P.TBD if they
> wanted that OS to be a viable follow-on to VMS and Ultrix.
>
> In the end, Dick Sites's 64-bit RISC machine architecture proposal,
> which was called Alpha, won out over PRISM. Cutler and a bunch of his
> DECwest engineering team went off to Microsoft.  Dave's idea of a
> microkernel-based OS with multiple personalities of course saw the
> light of day originally as NT OS/2, but because of the idea of
> multiple personalities, when Microsoft and IBM divorced Dave was able
> to quickly pivot to the now infamous Win32 personality, as what would
> be called Windows NT.  It was also easy for Softway Systems to later
> complete the NT POSIX layer for their Interix product, which now a few
> generations later is called WSL by Microsoft.
>
> -Paul W.
>

[-- Attachment #2: Type: text/html, Size: 4178 bytes --]

  reply	other threads:[~2022-03-01 21:32 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-01 16:56 Paul Winalski
2022-03-01 21:25 ` Richard Salz [this message]
2022-03-01 21:38   ` Larry McVoy
2022-03-01 21:49   ` Clem Cole
2022-03-01 22:09     ` Clem Cole
2022-03-02 18:51       ` Paul Winalski
2022-03-01 23:42     ` silas poulson
2022-03-02  1:18       ` Clem Cole

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFH29tqu2n0_o=0c1jRscToTamdAA1qd6MH3X+bnU478=jHehQ@mail.gmail.com' \
    --to=rich.salz@gmail.com \
    --cc=paul.winalski@gmail.com \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).