Is 4.2BSD a failure?

Jonathan Biggar jonab at sdcrdcf.UUCP
Fri Jan 18 04:28:19 AEST 1985


In article <182 at wdl1.UUCP> jbn at wdl1.UUCP writes:

       4.2BSD is an experiment that seems to have failed.  I am speaking
       only of the kernel, not the rest of the system here.

I think you are reading too much into the intentions of the designers of
4.2bsd.  They never planned that 4.2 should be the "be-all and end-all" of
operating systems.  If you want that, try VMS. :-)  4.2 is an experiment on
a very large scale.  The features that have been added are things that users
have desired for many years.  The experiment is to find out how useful these
features are.

       The much-touted ``fast file system'' does not seem to deliver
       anything like the promised order of magnitude performance
       improvement; in fact, overall 4.1BSD seems to slightly outperform
       4.2.

The "fast file system" really does give you up to an order of magnitude
improvement.  I have seen the entire 4.2bsd kernel compile in about half the
time it took to compile the 4.2 kernel in single user mode.  This
improvement comes entirely from the file system because the 4.2 kernel is
not smaller, and the C compiler is not faster.  The speed is there, but
supporting other features slowed 4.2 down.  There Ain't No Such Thing As A
Free Lunch.  Thinks of what 4.2 would be like with a v7 file system.
(Shudder!)

       4.2BSD has a huge resident kernel because of the large number of new
       and in many cases little used features.  There are far more bugs,
       security holes, and general problems than with 4.1.

Again, you miss the point.  Whenever you add new features, it takes time to
determine all of the reliability and security rammifications.  4.2 was late
anyway, would you have wanted Berkeley to wait 2-3 more years until they got
out "the last bug"?  Comparing 4.2 with 4.1 is fallacious.  4.1bsd is the
result of quite a bit of fine tuning over time.  The features of the system
did not change much from 3.0bsd to 4.1bsd except job control.  Thus 4.1 is a
good balanced, well tuned system that did its job well.  4.2bsd added new
features that no other unix system had.  It is going to take a while to tune
4.2 to deliver maximum performance.  Some of this work has already been done
and hopefully will be released soon.

       The most significant addition was the support for networking, which
       may be the last gasp of the networking-inside- the-operating-system
       approach.  (The state of the art is to use intelligent networking
       cards; Excelan and Communications Machinery make cards that provide
       IP/TCP services on an Ethernet; these cost about the same as ordinary
       dumb Ethernet cards.)

I differ with you here also.  Intelligent networking cards in no way make
kernel networking support obsolete.  I think if you look, you will find that
kernel packages to support these cards under 4.2bsd are available.  This
actually shows how well Berkeley designed the network software.  You can
offload the TCP processing to an auxillary processor without changing the
interface that a program sees at all.

       Other than networking, it is hard to point to a new feature in the
       kernel that is really necessary and is in fact used by any
       significant volume of software.

Nothing is "really necessary".  Do you want us all to go back to v6.  (After
all, who needs files larger than a megabyte or two anyway?)  Not much of the
software uses the new features because the software was written before the
new features were available.  Eventually this may change but very little
user application code has actually changed since v6.  Your definintion of
necessary only includes features that you think YOU might need.

       What are other's thoughts?  Was all the trouble worth it?  Should
       further work proceed from a 4.1 base?  A system V base?  Or what?

Well, you got my thoughts.  I thing 4.2 is a good place to continue the work
from.  After usng 4.2 for six months, I never want to go back to 4.1.  There
are just too many features of 4.2 that I don't want to do without.
Considering that 4.2 is capable of emulating almost all of system V's
features, it is much easier to port programs from system V to 4.2 than vice
versa.  Doesn't that seem to say that 4.2 provides a better general base for
the future development of UNIX?

Jon Biggar
{allegra,burdvax,cbosgd,hplabs,ihnp4,sdccsu3}!sdcrdcf!jonab



More information about the Comp.unix.wizards mailing list