*BSD News Article 7381


Return to BSD News archive

Path: sserve!manuel.anu.edu.au!munnari.oz.au!sgiblab!zaphod.mps.ohio-state.edu!cs.utexas.edu!uunet!mcsun!news.funet.fi!hydra!klaava!torvalds
From: torvalds@klaava.Helsinki.FI (Linus Torvalds)
Newsgroups: comp.unix.bsd
Subject: Re: 386BSD or LINUX?
Message-ID: <1992Nov4.160417.25258@klaava.Helsinki.FI>
Date: 4 Nov 92 16:04:17 GMT
References: <Nov.2.20.33.38.1992.18690@remus.rutgers.edu> <1992Nov4.052106.29266@menudo.uh.edu> <2582@bigfoot.first.gmd.de>
Organization: University of Helsinki
Lines: 79

In article <2582@bigfoot.first.gmd.de> gt@prosun.first.gmd.de (Gerd Truschinski) writes:
>In article <1992Nov4.052106.29266@menudo.uh.edu>, wjin@cs.uh.edu (W. Woody Jin) writes:
>|> In article <Nov.2.20.33.38.1992.18690@remus.rutgers.edu> glenw@remus.rutgers.edu (Glenn Wasserman) writes:
>|> >
>|> >I have Linux running on my machine now, and I'm just wondering if this 
>|> >is the right choice. Is 386BSD more stable? 
>|> 
>|> Version numbers say it : Linux 0.98  <--> 386BSD 0.1 p58.
>                                  ^^^^               ^^^^^^^
>Hey, its  --> 4.3 <--- 386BSD isn't it :-)

Yes, yes, yes.  I promised myself that I wouldn't bother with this
thread, but so what.  Anyway, the only good way to tell which is better
for your needs is to actually try them both out.  Version numbers don't
tell you much: different people give different version-numbers, and the
different design policies between the setups also change the way the
numbers grow: linux has "real-time" developement, ie most of the time
people can use a version that is at most a week or two away from my
current one, so linux numbers automatically grow differently. 

386bsd was started before linux was (judging by the DDJ articles), but
due to various problems (disagreement about the first version as well as
just the porting problems) linux has actually been available for a
longer time.  So in some respects linux may be more stable, especially
when it comes to the 386-specific things.  But yes, 386bsd has many
years of developement behind it, so not surprisingly it probably is more
stable in other areas (networking..  you can still easily crash linux
with heavy ftp'ing it seems)

As to other arguments I've seen: neither 386bsd or linux are
microkernels, and I cannot really say anything about speed.  There has
been some talk about linux seeming more responsive: that may be
partially true due to (a) scheduler implementation and (b) less memory
usage due to shared libs (especially under X).  On the other hand, I
assume 386bsd handles swapping more gracefully: the linux paging deamon
(actually implemented in the kernel) isn't exactly clever.  It's gotten
a lot better since 0.95, but it's still simplistic. 

And yes, both kernels seem to have problems with some hardware: not
surprising when you consider the amount of different hardware available
for the IBM PC/AT.  I have reports of linux running for 50 days (under
actual load - not just sitting there) without a reboot (and even then
due to upgrading the kernel), but I also have some reports of linux not
even booting, although the hardware "in theory" should fit.  I'd assume
the same holds for 386bsd. 

One major difference between the systems is the way they grow: linux has
grown openly with many smaller patches and releases and with different
people handling different aspects of the system (I only handle actual
kernel source: others do gcc/X11/rootdisk etc).  This has it's good
sides: the system has grown pretty fast, and people who want to keep up
can do so.  The more centralized (and judging by myself probably better
administered) 386bsd releases mean people don't have to worry about
where to get things, when to upgrade etc. 

The linux realtime releases have had their share of problems: it means
end-users can be bitten by bugs more easily (but it also means they can
be found/fixed more easily).  It also means many have gotten the idea
that you have to recompile the kernel every week just to keep it
working, as well as resulting in that there has often been different
versions of the same binary that may use features that aren't available
in all kernels.  But if you are a kernel hacker, the linux way is
probably preferable. 

So the result of the above is: read both c.o.linux and c.u.bsd, try them
both out, keep an open mind, and select the one that fits you (or keep
running both: variatio delectat).  Linux is more of a hackers kernel:
both the kernel and tools are updated all the time (gcc has generally
been available for alpha-testing under linux even before it's been
released - hlu has made images from the snapshots GNU puts out.  And so
on).  And while linux now does have networking and NFS support, 386bsd
is still probably the choice if you really need networking as opposed to
"just want to play around with it". 

		Linus

PS.  No, I don't follow my own advice: I haven't got the diskspace to
try out 386bsd.  That has never hindered anybody else on usenet from
giving good advice.  And besides, I'm biased.  Just a teeny-weeny bit.