I don't know if I would go so far as to say hardly relevant. The Unix
stream model is quite close to Tops-20's. For TCP, there is a certain
amount of shared conceptual ancestry. Both Tops-20 and Unix have the
idea of attempting to divorce the program from the data it is reading,
which allows you to pick different devices with relative ease at the
user level (think pipes)
BSD broke this paradigm with sockets because now you can't pipe into
them. Plan 9 doesn't do that. Tops-20 broke this in exactly the same
way except that they're called JCN's, but you have an entirely separate
set of JSYi to talk to the network. This is what I mean by a shared
conceptual framework as I believe these were two of the early TCP
implementations.
Tops-20 dropped the JCN stuff to switch back to a JFN interface, which
makes programming this a lot simpler. MRC and the rest of the ARPA
community made a pretty big stick about doing it "the right way"
When you are trying to figure out the way something works, it is very
useful to see how different operating systems are implementing the
protocol. For Tops-20 FTP, I had source for Tops-20, ITS and BSD FTP
and that helped me understand a conceptual and then fix a problem with
passive mode (which the Tops-20 FTP client had not implemented).
It is a very sad fact that the number of operating systems in active use
has vastly decreased because there are less cross fertilization
opportunities. And if you want to bullet proof your code, have it run
on different OS's...
I really grind my teeth when I see some You-Boob'ers talk about
different OS's when they're just really different versions of Windows.
Same API, different glitz. Big deal.
------------------------------------------------------------------------
On 11/26/22 11:49 AM, Johnny Billquist wrote:
The Unix stream mode sockets over DECnet was an interesting detail. I
think I might have seen them mentioned before (maybe by John Forecast
then too?), but since noone else would understand them, it's hardly
relevant for TOPS-20. But it's cool to hear about, and I think it
would obviously not be hard to add such a layer in between, to get
this kind of semantics, if one wanted to.