From mboxrd@z Thu Jan 1 00:00:00 1970 From: brantleycoile@me.com (Brantley Coile) Date: Thu, 09 Feb 2017 04:36:20 -0500 Subject: [TUHS] Fwd: Code bloat (was: How Unix brings people together, or it's a small...) In-Reply-To: <20170209041445.9E6FD18C11A@mercury.lcs.mit.edu> References: <20170209041445.9E6FD18C11A@mercury.lcs.mit.edu> Message-ID: <6D29294E-CC6F-483B-B4EE-D3DBB7A23E65@me.com> 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 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