The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Unix with TCP/IP for small PDP-11s
@ 2017-05-23 13:43 Noel Chiappa
  0 siblings, 0 replies; 40+ messages in thread
From: Noel Chiappa @ 2017-05-23 13:43 UTC (permalink / raw)


    > From: Paul Ruizendaal

    > I'm looking into the history of Spider and early Datakit. Sandy Fraser
    > was kind enough to send me the 1974 report on Spider

Is that online? If not, any chances you can make it so?


    > Does anybody know of surviving v5/v6/v7 code for Spider networking (e.g.
    > the 'tiu' device driver, the 'nfs' file transfer package, etc.)?

You're in luck.

To start with, check out:

  http://minnie.tuhs.org/cgi-bin/utree.pl?file=SRI-NOSC/dmr/oldstuff

which contains the drivers tiu.c, mpx.c - I'm not sure what other files there
are part of it?

I'm not at all clear how this stuff got there - someone at Bell must have just
dumped the contents of the 'dmr' directory, and sent it all off?


The PWB1-based MIT systems also have a lot of the Spider software (although it
was never used). It's a slightly different version than the one above: 'diff'
shows that 'tiu.c' is almost identical, but mpx.c has more significant
differences.

It also contains man pages, and sources for some (?) user programs; I have the
source and manpage for 'nfs'. What other names should I be looking for? (The
man page for 'nfs' doesn't list any other commands.) I'll put them up
momentarily.

In the meantime, I'll append the 'tiu' man page. There isn't one for mpx,
alas.

	Noel


--------


.th TIU IV 10/28/73
.sh NAME
tiu \*- Spider interface
.sh DESCRIPTION
Spider
is a fast digital switching network.
.it Tiu
is a directory which contains
files each referring to a Spider control
or data channel.
The file /dev/tiu/d\fIn\fR refers to data channel \fIn;\fR
likewise /dev/tiu/c\fIn\fR refers to control channel \fIn\fR.
.s3
The precise nature of the UNIX interface
is specified elsewhere.
.sh FILES
/dev/tiu/d?, /dev/tiu/c?
.sh BUGS




^ permalink raw reply	[flat|nested] 40+ messages in thread
* [TUHS] Unix with TCP/IP for small PDP-11s
@ 2017-05-24 15:21 Noel Chiappa
  2017-05-24 17:19 ` Jeremy C. Reed
  0 siblings, 1 reply; 40+ messages in thread
From: Noel Chiappa @ 2017-05-24 15:21 UTC (permalink / raw)


    > From: Paul Ruizendaal

    >>> the 1974 report on Spider

    >> Is that online? If not, any chances you can make it so?

    > It is a paper copy, but I can make a scan for you.

That makes it sounds like it might not be possible to put it online?
What's the exact title, so I can look and see if it's already online?
I'm pretty sure I've got a hardcopy of some Spider thing, but it would
probably take me a while to find it... ;-)


    > I think that in the lifespan of Spider (1972-1978) there were 3 main
    > network programs (basing myself on McIlroy's Unix Reader):
    > - 'nfs' an FTP-like program ...
    > - 'ufs' not sure what it was, but I think a telnet-like facility
    > - 'npr' a network printing program

OK, the only one I have is 'nfs'. Here's the source, and man page:

  http://ana-3.lcs.mit.edu/~jnc/tech/unix/s2/nfs.a
  http://ana-3.lcs.mit.edu/~jnc/tech/unix/man6/nfs.6

	Noel


^ permalink raw reply	[flat|nested] 40+ messages in thread
[parent not found: <mailman.1.1495591202.25149.tuhs@minnie.tuhs.org>]
* [TUHS] Unix with TCP/IP for small PDP-11s
@ 2017-05-23 11:35 Paul Ruizendaal
  0 siblings, 0 replies; 40+ messages in thread
From: Paul Ruizendaal @ 2017-05-23 11:35 UTC (permalink / raw)



>> There are two other routes to TCP/IP on a PDP11 without split I/D:
>> ...
>> DCEC's adaptation of the Wingfield TCP/IP library, designed to work
>> with V6. It is mostly a user space daemon, but requires some kernel
>> enhancements.
> 
> I wonder what the performance would be like, since the TCP is in a user
> process (a different one from the application), i.e. there's a process switch
> every time the application goes to send or receive data. This wouldn't have
> been such an issue when the code was written, since ARPANet-type networks
> were not very fast, but with a better network, it would have been limiting.

IEN98 (http://www.rfc-editor.org/rfc/ien/ien98.txt, page 2) has the answer: about 10kb/s.

The DCEC version used shared memory instead of rand ports and was claimed to be
a bit more performant, but I have no number. I'd be surprised if it was twice as fast,
so perhaps 15kb/s.

Paul



^ permalink raw reply	[flat|nested] 40+ messages in thread
* [TUHS] Unix with TCP/IP for small PDP-11s
@ 2017-05-23  1:33 Noel Chiappa
  0 siblings, 0 replies; 40+ messages in thread
From: Noel Chiappa @ 2017-05-23  1:33 UTC (permalink / raw)


    > From: Clem Cole

    > So some other mechanism (also discussed here) needed to be created to
    > avoid blocking in the application.
    > ...
    > Rand, UNET & Chaos had something else that gave the save async function,
    > who's name I've forgotten at the moment

I don't think the RAND code had the non-blocking stuff; AFAICR, all it had was
named pipes (effectively). Jack Haverty at BBN defined and implemented two new
calls (IIRC, 'capac()' and 'await()') to do non-blocking I/O. The
documentation for that is in the 'BBN' branch at TUHS:

  http://minnie.tuhs.org/cgi-bin/utree.pl?file=BBN-V6/doc/ipc/await
  http://minnie.tuhs.org/cgi-bin/utree.pl?file=BBN-V6/doc/ipc/ipc

My memory might be incorrect, but I don't think it was asynchronous (i.e. a
process issued a read() or write(), and that returned right away, before the
I/O was actually done, and the system notified the process later when the I/O
actually completed).

I actually did implement asyn I/O for an early LAN device driver - and just to
make it fun, the device was a DMA device, and we didn't want the overhead of a
copy, so the DMA was direct to buffers in the process - i.e. 'raw' I/O. So
that required some major system tweaks, to keep the process from being swapped
out - or moved around - while the I/O was pending.
  
    > I believe Noel posted the code for same in the last year from one of the
    > MIT kernels

I found it on the dump of an MIT machine, but it was never run on any machine
at MIT - we just had the source in case we had any use fot it.

       Noel


^ permalink raw reply	[flat|nested] 40+ messages in thread
* [TUHS] Unix with TCP/IP for small PDP-11s
@ 2017-05-23  1:14 Noel Chiappa
  0 siblings, 0 replies; 40+ messages in thread
From: Noel Chiappa @ 2017-05-23  1:14 UTC (permalink / raw)


    > From: Paul Ruizendaal

    > There are two other routes to TCP/IP on a PDP11 without split I/D:
    > ...
    > DCEC's adaptation of the Wingfield TCP/IP library, designed to work
    > with V6. It is mostly a user space daemon, but requires some kernel
    > enhancements.

I wonder what the performance would be like, since the TCP is in a user
process (a different one from the application), i.e. there's a process switch
every time the application goes to send or receive data. This wouldn't have
been such an issue when the code was written, since ARPANet-type networks
were not very fast, but with a better network, it would have been limiting.


    > From: Steve Simon

    > do you have pointers to any documentation on the rand/MIT network API?

There was no 'MIT' network API. He was talking about the CHAOSNet API. The
TCP/IP done in the CSR group at MIT used a totally different API.

The various Unix systems at MIT were pretty well out of touch with each other,
and did not exchange code. The only exceptions were the DSSR (later RTS) and
CSR groups in Tech Sq, who used pretty much the same system.

	Noel


^ permalink raw reply	[flat|nested] 40+ messages in thread
* [TUHS] Unix with TCP/IP for small PDP-11s
@ 2017-05-22  9:28 Paul Ruizendaal
  2017-05-22 14:09 ` Clem Cole
  0 siblings, 1 reply; 40+ messages in thread
From: Paul Ruizendaal @ 2017-05-22  9:28 UTC (permalink / raw)



I had somehow convinced myself that Ultrix-11 needed split I/D, but indeed it does not:

# file unix
unix:   (0450) pure overlay executable not stripped
# size unix
14784+(8192,8000,8064,8000,8064,8128,8000,7808,7936,7936,7680,7360,1344)+3524+13500 = 31808b = 076100b (111296 total text)

With only 16KB of permanent kernel there will be a lot of overlay switching. I'm not entirely sure why bss could not be 1KB smaller, enabling 8KB more of permanent kernel. The loss of performance from 2 disk buffers less really outweighed less overlay switching?

If I understand correctly, the network code continuously switches around segment 5 to access the right mbuf.

According to the notes in the TUHS archive (http://www.tuhs.org/Archive/Distributions/DEC/Ultrix-11/Fred-Ultrix3/setup-3.1.txt), running Ultrix-11 with networking on a 11/40 class machine is borderline workable:

"I have personally tested it on a 23+, 53 and 83.  I know it runs
fine on the 73.  The smaller machines (34, 40 etc) should work
akin to the 23, meaning using overlays and be very tight on RAM
for the drivers.  TCP/IP is a biiiiig load for those systems!"

There are two other routes to TCP/IP on a PDP11 without split I/D:
- 3COM's TCP/IP package (initially an overlay over V7, soon after also over 2BSD); I believe the source to this is lost.
- DCEC's adaptation of the Wingfield TCP/IP library, designed to work with V6. It is mostly a user space daemon, but requires some kernel enhancements. The Wingfield code is in the TUHS archive, but that version has a modified V6 kernel that also supports NCP networking and requires split I/D. If used with a minimally enhanced V6 kernel, it would easily fit in 64KB, without overlays.

Note that these last two options have very different API's and would not be so easy to work with.

Paul
 






^ permalink raw reply	[flat|nested] 40+ messages in thread
[parent not found: <mailman.1.1495245601.20449.tuhs@minnie.tuhs.org>]
* [TUHS] Unix with TCP/IP for small PDP-11s
@ 2017-05-19 15:15 Noel Chiappa
  2017-05-19 16:29 ` Henry Bent
  2017-05-19 17:39 ` Clem Cole
  0 siblings, 2 replies; 40+ messages in thread
From: Noel Chiappa @ 2017-05-19 15:15 UTC (permalink / raw)


I'm trying to find out if there is any existing Unix for the PDP-11
which supports TCP/IP on /40-/34-23 class machines (i.e. non-I+D
machines)?

Does 2.9 BSD with TCP/IP (assuming such a thing exists) fit on those
machines? (I know 2.9 does run on them, but I don't know about the TCP/IP
part.)


The reason I ask is that MIT did a TCP/IP for V6 which would run on them
(only incoming packet de-mux is in the kernel - the TCP is in with the
application, in the user process), which has recently been recovered from a
backup tape.

I'm trying to figure out if there is any use for it, as it would take some
work to make it usable (I'd have to write device drivers for available
Ethernet cards, and adapt an ARP implementation for it).

	Noel


^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2017-05-24 17:19 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-23 13:43 [TUHS] Unix with TCP/IP for small PDP-11s Noel Chiappa
  -- strict thread matches above, loose matches on Subject: below --
2017-05-24 15:21 Noel Chiappa
2017-05-24 17:19 ` Jeremy C. Reed
     [not found] <mailman.1.1495591202.25149.tuhs@minnie.tuhs.org>
2017-05-24  9:20 ` Paul Ruizendaal
2017-05-23 11:35 Paul Ruizendaal
2017-05-23  1:33 Noel Chiappa
2017-05-23  1:14 Noel Chiappa
2017-05-22  9:28 Paul Ruizendaal
2017-05-22 14:09 ` Clem Cole
2017-05-22 14:51   ` Steve Simon
2017-05-22 16:29     ` Clem Cole
2017-05-22 16:35       ` Ron Natalie
2017-05-22 22:07       ` Paul Ruizendaal
2017-05-22 23:25         ` Clem Cole
2017-05-23  0:36           ` Paul Ruizendaal
     [not found] <mailman.1.1495245601.20449.tuhs@minnie.tuhs.org>
2017-05-20 10:46 ` Johnny Billquist
2017-05-20 17:39   ` Henry Bent
2017-05-20 20:40     ` Johnny Billquist
2017-05-20 20:44       ` Henry Bent
2017-05-20 18:18   ` Warner Losh
2017-05-20 19:05     ` arnold
2017-05-20 20:29       ` Warner Losh
2017-05-20 21:41       ` David Arnold
2017-05-20 21:59         ` Erik E. Fair
2017-05-20 20:40     ` Johnny Billquist
2017-05-20 21:05       ` Warner Losh
2017-05-20 21:34         ` Johnny Billquist
2017-05-21  5:13           ` Random832
2017-05-21 11:04             ` Ron Natalie
2017-05-19 15:15 Noel Chiappa
2017-05-19 16:29 ` Henry Bent
2017-05-19 19:04   ` Ron Natalie
2017-05-20  0:15     ` Warner Losh
2017-05-20  0:21       ` Warner Losh
2017-05-19 17:39 ` Clem Cole
2017-05-21 16:16   ` Dave Horsfall
2017-05-21 19:58     ` Clem Cole
2017-05-21 20:57       ` Ron Natalie
2017-05-21 21:26         ` Clem Cole
2017-05-21 21:46         ` William Pechter

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).