Regarding putting TCP/IP Into V7, I found it not that hard. First, it's not that hard
to implement Dennis' streams in V7, and then, using the streams structure, do a
straight forward TCP right from the pseudocode from the appendix of the RFC. I still have
it around somewhere.
If you're interested I can share it with you.
Brantley
Sent from my iPad
On Feb 8, 2017, at 11:14 PM, Noel Chiappa <jnc(a)mercury.lcs.mit.edu> wrote:
From: Nick
Downing
I'm much more of a V7 guy and I think I
would find V6 strange and
compromised
De gustibus. I used it for many years, and am quite at home in it. I think
it's a marvel of functionality/size - at the time it came out, not much bigger
than DEC PDP-11 OS's, but with a 'big system' feel to it (which they
_definitely_ did not) - in fact, _better_ than most big systems of the day.
But I can see it would be rather too simple (and in the kernel inelegant,
code-wise, by today's standards - see below) for many. V7 is not that
different, in terms of user experience, from V6, though.
I am thinking I will definitely have to apply
some of these patches, or
at least check how much they increase the code size by.
Sorry, that page is kind of a mish-mosh. Most of the stuff that's talked about
there is for user commands, not the kernel.
There are only a few kernel changes (lseek() and mdate(), and param.c so that
the new 'si' command can get thing from param.h without having to have it
compiled in), and they are all small.
But probably my preferred approach is to
calculate a patch V6 -> Mini
Unix or V6 -> LSX and then try to apply that on top of V7.
I'm a little confused as to what your goal is here. Get V6 running on some
other architecture? Upgrade V6 for some goal which I am not aware of? I know
you probably said something in an earlier email, sorry, I don't recall.
Anyway, if you're going to do anything with V6 kernel code, you need to be
aware that it's really idiosyncratic - a lot of its written in a very early
dialect of C, and while things like 'a =+ b' -> 'a += b' and
'int a 1' -> 'int
a = 1' are pretty easy to fix, there are lots of intances of int's being used
as pointers to several different kinds of structures, etc, etc.
If you want to move an early, small Unix to something other than a PDP-11, V7
is probably a much better bet.
As to moving to a V7 kernel and then adding
TCP/IP I'm not sure if this
is adviseable, as I was saying earlier I think it might be best to keep
that functionality outboard from the kernel.
There are a couple of early TCP/IP's which ran outside the kernel, but I think
the standard Berkeley one might be a handful to move out.
Noel