From mboxrd@z Thu Jan 1 00:00:00 1970 From: pnr@planet.nl (Paul Ruizendaal) Date: Mon, 30 Jan 2017 09:26:05 +0100 Subject: [TUHS] Early Internet work (Was: History of select(2)) In-Reply-To: <20170130025003.1CAEA18C0BA@mercury.lcs.mit.edu> References: <20170130025003.1CAEA18C0BA@mercury.lcs.mit.edu> Message-ID: On 30 Jan 2017, at 3:50 , Noel Chiappa wrote: > I think it _is_ the V6 from UoI/DTI. The source has Gary (?) Grossman's and > Steve Holmgren's name on it, and the headers say they date from 1074-75. Wow, that's great! That means that you have the initial version. Possibly it is V5 not V6 (according to Holmgren they started out on V5 and ported to V6). All my leads for the 1975 version of this code base came up dry and I feared it lost. I think this code base is an important milestone. For example, I think it may contain the first version of 'mbufs'. It may also contain the first (Unix) instance of a network "work queue", which also seems to have been a common design element of early (Unix) TCP's. I still have one pending lead on the 1978 version of this code base. > The archive does include the complete kernel, but i) the changes aren't listed > in any way (I forsee a lot of 'diffs', unless you just take the entire > kernel), ii) there's a file called 'history' which contains a long list of > general changes/improvements of the kernel not really related to TCP/IP, by a > long list of people, dated from the middle of '78 to the middle of '79. So it > looks like he started with a considerably modified system. Yes, a 'history' file seems to have been common practice at BBN. The kernel would have had many modifications: - the 'ports' extension from Rand - the 'await' extension by Jack Haverty - an 1822-driver - possibly, an Autodin II network driver - possibly, shared memory extensions It might even have some NCP code in it, and if so probably derived from the above. Indeed, lot's of diff'ing ahead to figure out what changes belong together. There seem to have been two versions of the BBN modified kernel. One was done for systems without separate I/D with stuff heavily trimmed (even kernel messages were shortened to a few bytes to save space). The other may have extended the V6 kernel to run in separate I and D spaces and was less anemic. Paul