The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Clem Cole <clemc@ccc.com>
To: Richard Salz <rich.salz@gmail.com>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] Pipes and PRISM
Date: Tue, 1 Mar 2022 16:49:21 -0500	[thread overview]
Message-ID: <CAC20D2NuCAEw1wnKqwq8NdVuVfggqQFLtcsg9XUxqq048-BEEQ@mail.gmail.com> (raw)
In-Reply-To: <CAFH29tqu2n0_o=0c1jRscToTamdAA1qd6MH3X+bnU478=jHehQ@mail.gmail.com>

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

Very few.  They had nt sources. Because of the Unisys law suite against
Msft and DEC.   Fwiw  Dave had defined a hard link link in the file system
on disk format but Win32 lacked away to create them.  So they had to add
that nt call to support it.   They also fixed a few bugs but that purely
the POSIX layer drive the uk differently and until they pushed it, they had
been exposed

Dave has started to write the posix.exe sub system but not completed it so
they did that of course.  But over all nt itself was pretty much as Dave
had designed it

Remember nt (aka mica) was not designed for windows.  Dave never cared what
the user interface was.  He had fought that war at DEC and mica was his
answer as Paul mentioned

Eventually Msft bought softway and created the SFU product.  When Linux
took off they cancelled it and. It the deal with canonical who helped them
with WSL.

Btw Steve Walli gave a great USENIX talk on the whole softway/interix
experience at some point.  He had some choice comments which decorum will
not allow me to repeat here.

On Tue, Mar 1, 2022 at 4:32 PM Richard Salz <rich.salz@gmail.com> wrote:

> 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.
>>
> --
Sent from a handheld expect more typos than usual

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

  parent reply	other threads:[~2022-03-01 21:51 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
2022-03-01 21:38   ` Larry McVoy
2022-03-01 21:49   ` Clem Cole [this message]
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=CAC20D2NuCAEw1wnKqwq8NdVuVfggqQFLtcsg9XUxqq048-BEEQ@mail.gmail.com \
    --to=clemc@ccc.com \
    --cc=rich.salz@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).