🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.folklore.computers
Article #625014

Re: The history of the MONITOR tops-10)

#625014
From: rp... Rob Warnock
Date: Sun, 15 Jul 2018 06:37
40 lines
3452 bytes
Johnny Billquist  <b...@softjar.se> wrote:
+---------------
| John Levine wrote:
| > In terms of getting useful work out of a computer that ran at about
| > 5MHz (yes, I know the KA was async) and had 1MB of core, TOPS-10 wins
| > just as much.  It had features that mattered then but don't any more
| > like doing disk I/O directly in and out of buffers in user space
| > without an extra copy.  I could have done without the sequence numbers
| > with the flag in the low bit of the word, though.
| 
| Disk directly to buffers in user space in Linux? Sure, it's called mmap. 
| Which, by the way, is more or less a direct ripoff from TOPS-20.
+---------------

Actually, TOPS-10 user-space buffered I/O was closer to Linux/Unix's
DIRECT_IO mode than to mmap(), except it was naturally multi-buffered.

That is, you had a *ring* of user-space buffers, with ownership flags
so both the kernel and the user program could see who was working
on a given buffer. This quite naturally allowed kernel I/O and the
user program to work asynchronously, as long as neither side caught
up to the portion of the ring owned by the other side. [And if that
happens, the faster side simply stopped until there was a free (or full)
buffer available for it.]

Plus, you could have *multiple* devices sharing the same user-space
buffer ring, such as disk I/O and magtape I/O, allowing the data to
be streamed continuously from one device through the buffers to the
other device. [In this case the ring was paritioned into *four* areas:
device #1, user area #1, device #2, user area #2.] This is how the
BACKUP program managed to keep the magtapes writing at full speed
[if you had fast-enough disks].


-Rob

-----
Rob Warnock		<rp...@rpw3.org>
627 26th Avenue		<http://rpw3.org/>
San Mateo, CA 94403
Technical Details
Message-ID: <pieq2s$ctl$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!o12-v6ni28292wmc.0!nntp.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!ecngs!feeder2.ecngs.de!78.46.240.70.MISMATCH!weretis.net!feeder4.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
References: <pib5q8$f7v$1@sdf.lonestar.org> <picc8e$360$2@dont-email.me> <pid2ak$15mo$1@gal.iecc.com> <pidigf$p59$1@Iltempo.Update.UU.SE>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a1c:e714:: with SMTP id e20-v6mr1108983wmh.31.1531636637617;        Sat, 14 Jul 2018 23:37:17 -0700 (PDT)
X-BeenThere: alt.folklore.computers@googlegroups.com
Received: by 2002:a1c:7301:: with SMTP id d1-v6ls2592774wmb.8.gmail; Sat, 14 Jul 2018 23:37:16 -0700 (PDT)
X-Received: by 2002:a1c:cc1a:: with SMTP id h26-v6mr1051659wmb.6.1531636636869;        Sat, 14 Jul 2018 23:37:16 -0700 (PDT)
MIME-Version: 1.0
Path: mbox-mo1.pugleaf.net!o12-v6ni28292wmc.0!nntp.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!ecngs!feeder2.ecngs.de!78.46.240.70.MISMATCH!weretis.net!feeder4.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: rp...@rpw3.org (Rob Warnock)
Newsgroups: alt.sys.pdp10,alt.folklore.computers
Subject: Re: The history of the MONITOR tops-10)
Date: Sun, 15 Jul 2018 06:37:16 -0000 (UTC)
Organization: Rob Warnock, Consulting Systems Architect
Lines: 41
Message-ID: <pieq2s$ctl$1@dont-email.me>
References: <pib5q8$f7v$1@sdf.lonestar.org> <picc8e$360$2@dont-email.me> <pid2ak$15mo$1@gal.iecc.com> <pidigf$p59$1@Iltempo.Update.UU.SE>
Injection-Date: Sun, 15 Jul 2018 06:37:16 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="406a63c1e63b8809010ed9b4f450c96b"; logging-data="13237"; mail-complaints-to="ab...@eternal-september.org"; posting-account="U2FsdGVkX1+9YToqpShY04oyeM7g/9dy"
Cancel-Lock: sha1:1r3S5qrBNKo0jLolLJAOy43wtXg=
Originator: rp...@rpw3.org (Rob Warnock)
X-Newsreader: trn 4.0-test76 (Apr 2, 2001)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit