[TUHS] Fwd: Code bloat (was: How Unix brings people together, or it's a small...)
jnc at mercury.lcs.mit.edu
Thu Feb 9 14:14:45 AEST 2017
> From: Nick Downing
> I'm much more of a V7 guy and I think I would find V6 strange and
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
> 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.
More information about the TUHS