The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Clem Cole <clemc@ccc.com>
To: Paul Winalski <paul.winalski@gmail.com>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] non-blocking IO
Date: Tue, 2 Jun 2020 15:18:16 -0400	[thread overview]
Message-ID: <CAC20D2NT-KGP6hb0Zsd2uNpMJjRDxp3EKU2xC2WJW1U8Npawjw@mail.gmail.com> (raw)
In-Reply-To: <CABH=_VQj_3qdK+Cu3t5hZPQFUny_TFPxR51Cfuj=Av4Jt3cYyQ@mail.gmail.com>

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

On Tue, Jun 2, 2020 at 2:54 PM Paul Winalski <paul.winalski@gmail.com>
wrote:

> I first encountered DOS/360 on a System/360 model 25 with 48K of
> memory.  This was a one-job-at-a-time batch system, but the I/O
> primitive (EXCP--execute channel program) was asynchronous.  So I
> don't think the small memory rationale really applies.
>
Hrrmpt... it was single task.   Being asynchronous in the I/O and allowed
process asynchrony takes a lot more housekeeping.  Paul you know I agree
with you, it was always an issue with UNIX IMO.  The problem is how to do
it differently.

At Masscomp RRU, our solution was not to try to 'fix it' as much as add a
new scheme beside the synchronous one.  We added a general AST's mechanism
that anyone could use (very much like RSX and VMS in semantics), but left
signals alone.  We added new async calls, which were just implemented via
ioctl's (the universal hack) for the specific HW that supported it.   In
retrospect, that was an error, it should have been aread(2)/awrite(2) and
then added the completion routine/call back as the 4th & 5th parameters.
 Since Stellix was not Real-Time, we left them out.  [ tjt and I have
argued about that for years ].

So back to Doug/Dan's answer -- I think for a small system, like the
original PDP-7 and the PDP-11/20 putting the effort to make it multiprocess
and leaving the I/O synchronous definitely made it easier.   Particularly,
since what was created with the signal semantics.   To me, UNIX got way
more right than wrong.   I suspect if signals had been more like AST's, the
idea of being async might have gone farther.  But to use Dennis's like
about C being quirky, signals are very quirky.  wnj tried to 'fix' them and
frankly it just made matters worse.  And IMO, signaction(3) as Doug says,
is a nightmare.

I've generally been a fan of introducing a new idea separately as a
'stronger strain' and then seeing if people likely it.

FWIW: A couple of us did try to get AST's into the POSIX.4 (they were there
in a draft), but ultimately *.4 was rejected as 'not UNIX.'

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

  reply	other threads:[~2020-06-02 19:19 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-02 14:19 Paul Ruizendaal
2020-06-02 17:45 ` Paul Winalski
2020-06-02 17:59   ` arnold
2020-06-02 18:53     ` Paul Winalski
2020-06-02 19:18       ` Clem Cole [this message]
2020-06-02 21:15         ` Lawrence Stewart
2020-06-02 22:03           ` [TUHS] non-blocking IO - threads Jon Steinhart
2020-06-02 23:05             ` Rob Pike
2020-06-02 23:09               ` Rob Pike
2020-06-02 23:21                 ` Larry McVoy
2020-06-03  0:39                   ` Rob Pike
2020-06-02 23:12               ` Jon Steinhart
2020-06-03 16:42                 ` Paul Winalski
2020-06-03 17:57                   ` Jon Forrest
2020-06-03  5:38           ` [TUHS] Unix on the Arpanet Lars Brinkhoff
2020-06-03 12:23             ` Lawrence Stewart
2020-06-02 18:23   ` [TUHS] non-blocking IO Dan Cross
2020-06-02 18:56     ` Paul Winalski
2020-06-02 19:23       ` Clem Cole
  -- strict thread matches above, loose matches on Subject: below --
2020-06-06 13:29 Noel Chiappa
2020-06-02 20:13 Noel Chiappa
2020-06-02 20:43 ` Clem Cole
2020-06-02 22:14   ` Rich Morin
2020-06-03 16:31     ` Paul Winalski
2020-06-03 19:19       ` John P. Linderman
2020-06-02  8:22 Paul Ruizendaal
2020-06-02  0:08 Noel Chiappa
2020-06-01 23:17 Noel Chiappa
2020-05-31 11:09 Paul Ruizendaal
2020-05-31 16:05 ` Clem Cole
2020-05-31 16:46   ` Warner Losh
2020-05-31 22:01     ` Rob Pike
2020-06-01  3:32       ` Dave Horsfall
2020-06-01 14:58         ` Larry McVoy
2020-06-04  9:04           ` Peter Jeremy
2020-06-04 14:19             ` Warner Losh
2020-06-04 16:34               ` Tony Finch
2020-06-04 16:50               ` Larry McVoy
2020-06-05 16:00                 ` Dan Cross
2020-06-12  8:18                   ` Dave Horsfall
2020-06-01 16:58     ` Heinz Lycklama

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=CAC20D2NT-KGP6hb0Zsd2uNpMJjRDxp3EKU2xC2WJW1U8Npawjw@mail.gmail.com \
    --to=clemc@ccc.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).