Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Feb 2002 08:26:56 +0100
From:      Cliff Sarginson <csfbsd@raggedclown.net>
To:        questions@freebsd.org
Subject:   Re: primary differences between BSD-based and System V rel 4 *nixes
Message-ID:  <20020223072656.GB4649@raggedclown.net>
In-Reply-To: <20020223001042.60725.qmail@web20106.mail.yahoo.com>
References:  <15478.56566.343039.47710@guru.mired.org> <20020223001042.60725.qmail@web20106.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 22, 2002 at 04:10:42PM -0800, Bsd Neophyte wrote:
> (...snip...)
> > Want to tell us what parts of the system
> > are significant to you, and what kind of system you were on before?
> > 
> > 	<mike
> 
> Honestly, I'm pretty new to unix in any form.  I'm asking this question
> because I'm taking an intro to Solaris class (SA-118) but I really started
> tinkering with FreeBSD before any involvement with Solaris.
> 
> Since, I'm receiving formal training on Solaris, I wanted to know the
> differences that I'd need to be aware of so that I could flag these
> differences and not confuse the two OS'es later on.
> 
The thing about UNIX is that all of it's different manifestations have
more in common than they have differences..at least from a normal user
perspective. If you know how to use one of the mainline shells on one
system, then you know it on all of them.
The differences however are where the pain can lie. Many of the system
programs have subtle and not so subtle differences...and even between
System V based systems there are differences, makefiles for example that
run on Solaris "make" break often on HP-UX "make". "ps" has a different
set of switches on FreeBSD than on most System V systems, and Linux "ps"
sort of supports all of them. Some of these differences can be ironed
out at sites which use the Gnu tools, which also give you long
"mnemonic" names as alternatives for most of the command line switches,
so for program "foo", say, it can take a flag "-l" or
"--laugh_like_a_hyena_and_make_my_coffee_black=yes", to mean the same
thing. And then there is Posix conformance sticking it's oar in as well.

From a programmer's perspective there may also be differences.

The major system management difference is based on the behaviour of the
"init" program, the famous process 1. FreeBSD is based on an older and
much simpler mechanism, in which your system is either running as a
single-user (for system management purposes) or as multi-user, where
everything you have configured to run for daily use is running. System V
has a very different model based on run-levels. Theoretically there can
be 9 levels at which a system can be running, although I have never seen
a system where more than 6 are present. Each level represents a
different state, usually 0 means the system is halted, and 6 means it is
rebooting. Very few systems use all the levels in between. Level 3 is
usually the most popular one for normal multi-user, but not always (I
work on Solaris every day but I cannot for the life of me remember what
level number is normal multi-user on it). Associated with each level is
a set of S(for Start) and K(for kill) symbolic links to scripts with a
defined structure that start and stop system services for a particular
run-level change. On some systems these links are actually links to
other links, that link to the final script.

FreeBSD basically just has a file called /etc/rc that starts up a
pre-defined set of services, considered essential system services,
(the essentaility of these can be switched on/off according to taste),
and then a bunch of scripts for subsequently installed programs that
take a start or stop command, these are traditionally placed in
/usr/local/etc - although you can (and I do) extend the search for these
scripts to other locations. The FreeBSD model has an advantage of great
simplicity, whereas System V is very opaque, and also very complex on
some systems. The major disadvantage of the FreeBSD system, which I find
a real pain in the butt, is that the startup scripts are executed in
lexicographical order, so if you want or need an ordering on your
startup scripts you have to rename the scripts accordingly, usually
by putting a number in the front of their name.

Solaris also comes with a variety of extra's that may or may not be
installed, there is more than one "C" compiler for example. This can
make search paths very long and things difficult to find at times. If
you do get involved with Solaris System Management in any kind of
networked environment you will also find it requires a thing called
a "flexible license manager", for controlling software licenses. This
is one of the most bizarrely thought out pieces of software I have ever
come across. FreeBSD, being free, of course has no need for such
vanities.

What I think you will be struck by is that Solaris is a very complex
system to manage if you compare it to FreeBSD. Also typically on Solaris
you will be using it through a GUI, CDE probably, but they are also
going to embrace Gnome. GUI (i.e. X11) interfaces are a matter of choice
on FreeBSD. As regards System V systems in general, they all embrace the
same model, but few of them lay that model out in the same way as each
other.

A final word of warning. Beware of the command "killall". Solaris has
a rather more literal interpretation of what this command does than any
other system I know ..

Anyway Solaris is a good career choice, and will cause you less
brain-damage than if you were trying to understand AIX, the version of
Unix brought to you by the inventors of EBCDIC.

-- 
Regards
   Cliff Sarginson -- <csfbsd@raggedclown.net>

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?20020223072656.GB4649>