From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 22392 invoked from network); 1 Mar 2022 21:32:26 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 1 Mar 2022 21:32:26 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 9018C9D02D; Wed, 2 Mar 2022 07:32:22 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 6F6B69CFD0; Wed, 2 Mar 2022 07:30:10 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="EEROvSUg"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id A22329CFD0; Wed, 2 Mar 2022 07:25:35 +1000 (AEST) Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) by minnie.tuhs.org (Postfix) with ESMTPS id 1B2CD9CC02 for ; Wed, 2 Mar 2022 07:25:35 +1000 (AEST) Received: by mail-ot1-f47.google.com with SMTP id l21-20020a056830239500b005afd2a7eaa2so10477615ots.9 for ; Tue, 01 Mar 2022 13:25:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hHd86zjvgBhw3TZSteHym2zgf7dPX76wb3wFULL1RpE=; b=EEROvSUgIyJaH2CMq8+1B4rXWozKZsEBgqE9qtSNxUionbLbt8SNpcM2riU/dBkARj ZcIrq1DuOGymsYENfvqC3+y72syIDBcSQIUj5zDMDAXy9du8dpd1PFVjKiZKuAHviio7 e7x/BVMlEUh4BwULq4dCaHBt/ESq4b5ua4N/Hj9Xo9FUmOfcMC8GY1w8zsDqd9atfkp5 n8KaV6mzL9kxSIVfefMFfBWX2TjjKAOZ5ChU+OLsHPeqPWeLKbkAyH5/00PuP/HADj7g 0vUIFMOv48bQQHgruZ69dW5FTkHKUtCga6appo5eKaZCCKhg5zvlVbDZvcxaDhqKS7R4 n4vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hHd86zjvgBhw3TZSteHym2zgf7dPX76wb3wFULL1RpE=; b=nMuVX5Fd6ASVVYkpPz7aHk0y0cGj37uGREhKuKwVRHzQYGarPyRgkqmzE3r9Egx28h 2/wlX0DiG0WRY+9FVF4OkAWQgUTWsQEdOIt86EarYmsLmlRGpVTqZ7prRcUsQKQH+aIL M5E7M5FeP2Nnnoq8KgxsX4j86gI5NdRChVsF6z+RHqsE/z09zZPFHipfQoXLtwtlYKq9 Xfl2d02BldcSOMBucQH/6G4iTSaoqg/RUID/2uhlmo6cMPuZCT+HWWYJAOTF0OEcdq43 2Az7ckvw8MGt4yOhysNal6vJXSJINEIMtnuW+FaubIfoqb3uQeIPfB55EYhLnbWNRqBJ W7KQ== X-Gm-Message-State: AOAM532CUofuIPtKmI9wB7lQ6WSAr2tZF+O1jHJxvxvndXq5R+F9WCjR oWXmg/V4o/sjNOy4dfYCwQzOZHql2Q2osS3wFz0= X-Google-Smtp-Source: ABdhPJz4bAJA228yy+4v3To6pQtXF85jZRoFJPYVvx8hdt/cZVDTCahBzkeaoWtXYKwC2jadAIyqH00K6BPNfNHm8Fw= X-Received: by 2002:a05:6830:2b25:b0:5af:d0c2:8707 with SMTP id l37-20020a0568302b2500b005afd0c28707mr11543637otv.212.1646169934266; Tue, 01 Mar 2022 13:25:34 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Richard Salz Date: Tue, 1 Mar 2022 16:25:23 -0500 Message-ID: To: Paul Winalski Content-Type: multipart/alternative; boundary="0000000000002c03dc05d92ece7d" Subject: Re: [TUHS] Pipes and PRISM X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: TUHS main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --0000000000002c03dc05d92ece7d Content-Type: text/plain; charset="UTF-8" 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 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. > --0000000000002c03dc05d92ece7d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
The VMS process model is different from Unix; like TO= PS-20, it was more a shared address space. I don't remember details, bu= t I do recall that a "logout" call in a DCL script logged you out= of the system.

Did Softway Systems make kernel ch= anges? I know MSFT's original Posix plan was to do it all in user-space= .=C2=A0 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 shel= ls
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.=C2=A0 =C2=A0Some of you may remember, VMS had a command interpreter<= br> 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).=C2=A0 As DEC started to recognize the value of the=
Unix marketplace, a project was born in DEC's Commercial Languages and<= br> 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.=C2=A0 They of course needed to
somehow implement UNIX style process pipelines.=C2=A0 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).=C2=A0 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.=C2=A0 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.=C2=A0 Dave's team had developed a machine architecture cal= led
PRISM (Proposed RISC Machine) to be the VAX follow-on.=C2=A0 For forward compatibility purposes, PRISM would have to support both Ultrix and
VMS.=C2=A0 Dave and team had already written a microkernel-based,
lightweight OS for VAX called VAXeln that was intended for real-time
applications.=C2=A0 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:

=C2=A0 =C2=A0 P.VMS, implementing the VMS system services and ABI
=C2=A0 =C2=A0 P.Ultrix, implementing the Unix=C2=A0 system calls and ABI =C2=A0 =C2=A0 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.=C2=A0 Dave's idea of a<= br> 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.=C2=A0 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.
--0000000000002c03dc05d92ece7d--