Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 May 2001 14:06:09 -0500
From:      Andrew Hesford <ajh3@chmod.ath.cx>
To:        Ember Talent <etalent@bizjournals.com>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: What is BSD
Message-ID:  <20010502140609.B35812@cec.wustl.edu>
In-Reply-To: <007a01c0d330$ad4d7740$07e4380a@amcity.com>; from etalent@bizjournals.com on Wed, May 02, 2001 at 10:52:37AM -0700
References:  <007a01c0d330$ad4d7740$07e4380a@amcity.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 02, 2001 at 10:52:37AM -0700, Ember Talent wrote:
>    Hey there,
>    
>    Well my question is just a general one I was wondering if you could
>    explain in laymans terms (someone who is familar enough to keep simple
>    office tasks and other programs running on a Windows based computer
>    and knows how to munipulate files in DOS) what BSD is and how it
>    works?  Also any tips you can give me on what Linux is, (besides the
>    "someone created it based off the concept of Unix so it could be more
>    afforadble than Unix which is so great" line) would be appriciated.
>    
>    I currently sell classified advertising space in the Portland Business
>    Journal and one of my three catergories is technology.  I know a lot
>    about it but not enough I find as my clients leave me in the dust when
>    discussing these things with me.
>    
>    Thanks for any time taken regarding my question.

Phew, here we go. Time to whip out the UNIX timeline...
http://perso.wanadoo.fr/levenez/unix/. This is a VERY useful page if you
are interested in the past.

Back in the days when I was, oh, about -13 years old (yes, that's a
minus sign), a man named Dennis Ritchie and some of his cohorts at Bell
Labs decided to build an operating system to run on their PDP-11
computer. This was called UNICS, as a takeoff of the Honeywell operating
system MULTICS (at least, it runs on Honeywell computers... I can't be
sure who wrote the OS). Over the next decade, the system would become
the UNIX Time-Sharing System, and would go through seven editions.

Between the sixth and seventh edition, in 1978, some guys up at the
University of California, Berkeley decided to license UNIX code and
produce their own release. This was called, appropriately enough, the
Berkeley Software Distribution, or BSD. The first release was 1BSD, and
over time, this would become 4.4BSD. The things you hear about today,
like NetBSD, OpenBSD, and FreeBSD forked from 4.3BSD, but (at least
FreeBSD) had to be rewritten based on 4.4BSD to avoid AT&T copyright
issues. (4.4BSD was a release of BSD with all AT&T code cleaned out.)

That's a very cursory look at the process leading to the BSD
incarnations you see today. Neither NetBSD, FreeBSD, nor OpenBSD have
anything to do with UC Berkeley any more, except for their heritage.

To understand BSD and Linux, you also have to be aware of UNIX System V.
Sometime before BSD forked from the UNIX Time-Sharing System, another
fork was started, which would propagate and become UNIX System III, IV,
and then V. This code is now owned by SCO (who was purchased by Caldera
not too long ago).

The difference between BSD and System V is largely religious. The
filesystem layout is different. Commands can be different, as can
command-line flags for common utilities. Perhaps most notably, SysV has
a concept called "runlevels", which describe various states can be in.
For instance, one runlevel allows multiuser logins, another keeps the
machine single-user, and two runlevels bring the machine into shutdown
or reboot. This is a rather foolish concept, and BSD handles this more
gracefully. Basically, if you will pardon blatant advocacy, we can do
everything SysV can do, but we do it better and more logically.

Linux, as opposed to BSD and SysV, is a clone of UNIX, whose kernel was
written by Linus Torvalds, and whose userland was written by the GNU
project. The GNU project is a rather hypocritical bunch of guys, lead by
MIT professor Richard M. Stallman, who run around screaming about "Free"
software while producing a restrictive open-source license. Code quality
tends to be lower than that of the BSDs, and because each BSD
incarnation control development of both the kernel and the userland, the
consistency of each release is better than that of the GNU/Linux
duality. Technically, Linux is not a real UNIX, whereas the BSDs are.
Furthermore, Linux is like a bastard child of SysV and BSD; it combines
both into a combination that is somewhat inconsistent.

Notice that I have given you a nice history of UNIX, and BSD in
particular, without ever saying what BSD is. There's no real way to
describe it if you haven't seen it, but it's a multiuser,
network-enabled operating system. Unlike Windows and MacOS, the
graphical portion is not tied to the operating system, so it is entirely
possible to run BSD entirely from a command-line shell (tcsh and bash
are popular; tcsh is better). However, the BSDs do run XFree86, which is
an implementation of the MIT X Window System, developed in 1984 as a
graphical environment for UNIX systems. Note that this was long before a
graphical environment was even a gleam in Bill Gates's eye, and the
first year the Macintosh was developed. So UNIX was first, along with
Macintosh, to have a viable graphical operating system.

FreeBSD has worldwide developer support, and is open-source, which means
bugs are fixed very quickly. There is a selection of application
programs rivaled by nobody, although you will not find such applications
as Eudora or Microsoft Office.

Coming from Windows, you will probably spend most of your time in
XFree86, so I will tell you the advantages and disadvantages of this
system. Among the advantages are remote displays--you can run graphical
applications on another machine and have them display on your
computer--which Windows and Macintosh cannot do (unless you buy Windows
Terminal Server). Furthermore, you have a wide selection of window
managers and desktop environments to customize the look and feel of your
computer. Among the disadvantages are the wide selection of window
managers and desktop environments (I change every three months, because
nothing does quite what I want it to do, so I roam looking for the
closest fit). With Windows, you are confined to a few poor choices, so
you tend to shut up and deal with the interface problems. Also, XFree86
is generally known to be bloated and buggy, but not nearly as bad as
Windows.

Linux is similar, but again, it is typically less consistent, often
takes a little longer for bug fixes to propagate, and is regarded as
less stable than FreeBSD and its cousins. Among the disadvantages are a
less-than-robust default filesystem (although that is changing) called
ext2, or the Second Extended Filesystem. Recently, two journaling
filesystems have hit the scene, ReiserFS and SGI's XFS, which offer a
bit more data security (against loss, not against theft).

FreeBSD, on the other hand, uses a 16 year-old filesystem called UFS
(Unix Filesystem, a superset of the Berkeley Fast Filesystem, of FFS)
with a technology called softupdates, which orders disk writes in the
cache so that it is very reliable. The fact that the filesystem is 16
years old, has gone under only minor revision, is still as fast as can
be (faster than logging, and almost as fast as the unreliable ext2
filesystem), serve as an example of the thought put into its design, as
well as the thought put into the BSD release in general. UFS with soft
updates is so reliable and fast, we BSD'ers just sit and laugh at these
Linux journaling filesystems coming into play now.

By the way... you are likely familiar with defragmenting your hard drive
quite frequently in the Windows world. This is unnecessary with UFS. The
filesystem using intelligent writing and on-the-fly defragmentation,
meaning the fileystem suffers from very low fragmentation in all but the
most extreme (low-free space) conditions. All my filesystems are less
than 0.5% fragmented.

Now you will likely be frustrated. Believe me, I know how it is. I have
taken all this time to explain some of the finer points, but you still
feel you have no idea what BSD is. As I said, there is no good way to
explain it to you, without talking as if you understood UNIX. All I can
say is go try it out. Spend some time fooling around and breaking
things, and then you will have a good idea what BSD is.

Although you may not think so now, I am sure you will find this
description helpful and satisfying once you have used BSD for a short
period of time.

-- 
Andrew Hesford
ajh3@chmod.ath.cx

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010502140609.B35812>