[TUHS] History of select(2)

Johnny Billquist bqt at softjar.se
Sun Jan 15 08:09:17 AEST 2017

On 2017-01-14 23:02, Johnny Billquist wrote:
> On 2017-01-13 18:57, Paul Ruizendaal <pnr at planet.nl> wrote:
>> On 12 Jan 2017, at 4:54 , Clem Cole wrote:
>>> The point is that while I have no memory of capac(), but I can
>>> confirm that I definitely programmed with the empty() system call and
>>> Rand ports on a v6 based kernel in the mid-1970s and that it was
>>> definitely at places besides Rand themselves.
>> Thank you for confirming that. If anybody knows of surviving source
>> for these extensions I'd love to hear about it. Although the
>> description in the implementation report is clear enough to recreate
>> it (it would seem to be one file similar to pipe.c and a pseudo device
>> driver similar in size to mem.c), original code is better. It is also
>> possible that the code in pipe.c was modified to drive both pipes and
>> ports -- there would have been a lot of similarity between the two,
>> and kernel space was at a premium.
>>> [...] confirming something I have been saying for few years and some
>>> people have had a hard time believing. The specifications for what
>>> would become IP and TCP were kicking around the ARPAnet in the late
>>> 1970s.
>> My understanding is that all RFC's and IEN's were available to all
>> legit users of the Arpanet. By 1979 there were 90 nodes (IMP's) and
>> about 200 hosts connected. I don't get the impression that stuff was
>> always easy to find, with Postel making a few posts about putting
>> together "protocol information binders". Apparently nobody had the
>> idea to put all RFC's in a directory and give FTP access to it.
> They were, and still are. And I suspect Clem is thinking of me, as I
> constantly question his memory on this subject.
> The problem is that all the RFCs are available, and they are later than
> this. The ARPAnet existed in 1979, but it was not using TCP/IP. If you
> look at the early drafts of TCP/IP, from around 1980-1981, you will also
> see that there are significant differences compared to the TCP/IP we
> know today. There was no ICMP, for example. Error handling and passing
> around looked different.
> IMPs did not talk IP, just for the record.
> RFC760 defines IPv4, and is dated January 1980. It refers to some
> previous documents that describe IP, but they are not RFCs. Also, if you
> look at RFC760, you will see that errors were supposed to be handled
> through options in the packet header, and that IP addresses, while 32
> bits, were just split into 8 bits for network number, and 24 bits for
> host. There were obviously still some work needed before we got to what
> people think on IPv4 today. Anyone implementing RFC760 would probably
> not work at all with an IPv4 implementation that exist today.

I should have also said that RFC791 is where IPv4 pretty much becomes 
what we can recognize, and what will probably work against other 
machines today.
And RFC791 is dated September 1981.

So I have this problem with people who say that they implemented TC/IP 
in 1978 for some reason. :-) Especially if they say they followed some 
RFC, and it was working well in heterogeneous networks.

I don't want to claim that people didn't do the networking, but I don't 
think it's correct to say that it was TCP/IP, as we know it today. It 
was either some other protocol (like NCP) or some other version of IP, 
which was not even published as an RFC.

Or else the RFCs in the IETF archives have been falsified with regards 
to their dates.


Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol

More information about the TUHS mailing list