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>