On Sat, Sep 30, 2000 at 01:39:15PM +0600, Selim Jahangir wrote:

> what is the fundamental diff between BSD and SysV unix ?

I'm not really qualified to answer this but it looked as though nobody else
has mailed the list about it so I'll have a go.

The _fundamental_ difference is historical.  For a long time during the 70's
and 80's AT&T allowed third parties to write their own versions of Unix, and
one version that caught on was written at the University of California at
Berkeley, hence "BSD" for Berkeley Software Distribution.  System V was the
last in-house AT&T version (which actually incorporated a lot of features of
BSD Unix and previous AT&T-derived versions).

Both BSD and AT&T/System V Unix spawned a lot of offshoots, and inspired
a lot of imitation in Unix-like OS's which weren't direct offshoots.  Sun's
"SunOS" was a BSD offshoot up through the 4.0 series, but at 5.0 they rewrote
it extensively, incorporated a lot of "SysV'isms", and started calling it
"Solaris".  They still make a lot of the BSD-style commands available under
their /usr/ucb directory (ucb == "University of California, Berkeley").

AIX is a completely independent, from-scratch rewrite of a Unix-like OS, but
it usually gets classed in the System V family because it has more in common
with SysV than with BSD.

IRIX has some AT&T code in it, but also exhibits some BSD-style behaviors 
(though I'd be hard pressed to come up with examples off the top of my head).

Linux tries to be a sensible hybrid of both systems, to the delight of some
and the frustration of others, but the real lesson I get from it is that the
BSD/SysV distinction is really only useful in a historical context; as Linux
demonstrates, you can mix and match where appropriate.

The most obvious differences in style have to do with the way each system
handles initialization and service control during runtime.  Under BSD, there
are a few files under /etc which list the services to run at boot time, and
that's about it; there is no such notion as a "runlevel", although I think
that BSD does have a "single user" mode for system maintenance.

Under System V, things get a little more complex (and, in my opinion, more
elegant).  Most of the system services have their own script (traditionally
stored in /etc/init.d/ or in RedHat under /etc/rc.d/init.d/) which controls
how that service is started and stopped.  SysV also has the notion of 
runlevels, different system states which are defined by the list of services
that the system runs in each given state.  The precise behavior of each
runlevel varies a lot among systems, and can be extensively customized by
the system administrator.  (man init for the details on how it all works.)

There are a lot of differences deeper down as well, but the distinction starts
to get a little blurry.  Most SysV-style systems use Berkeley-style network
sockets, for example.  Printing could be SysV or BSD or both.  And many common
commands will have different behaviors; an obvious example is the "ps" command.
Historically "ps" took different arguments and displayed completely different
behavior under BSD vs. SysV, and each camp thought their ps was the superior
implementation.  Modern Red Hat systems come with a ps that merges the two:
run "ps -[options]" and you get SysV behavior; run "ps [options]" (no dash) and
you get BSD behavior.  Again, the manpage explains the details.

Well I had to leave this for a couple of hours, and by now somebody has 
probably handled this better so I'll stop.  Hope this helps somehow.

-m

-- 
Michael Jinks, IB
Systems Administrator, CCCP
finger [EMAIL PROTECTED] for public key
Vote Duke! http://www.entertaindom.com/pages/duke2000/home.jsp



_______________________________________________
Redhat-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/redhat-list

Reply via email to