Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site sdcrdcf.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!zehntel!hplabs!sdcrdcf!jonab From: jonab@sdcrdcf.UUCP (Jonathan Biggar) Newsgroups: net.unix-wizards Subject: Re: Is 4.2BSD a failure? Message-ID: <1679@sdcrdcf.UUCP> Date: Thu, 17-Jan-85 13:28:19 EST Article-I.D.: sdcrdcf.1679 Posted: Thu Jan 17 13:28:19 1985 Date-Received: Tue, 22-Jan-85 04:36:32 EST References: <182@wdl1.UUCP> Reply-To: jonab@sdcrdcf.UUCP (Jonathan Biggar) Organization: System Development Corp. R+D, Santa Monica Lines: 79 Summary: In article <182@wdl1.UUCP> jbn@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