The world of IT (information Technology) is being swept by the Unix*
phenomenon. The magazines say so, and the Internet agrees.
Though the Unix operating system first came to the attention of most
Mac users through it's use as the core of Mac OS X, other sections
of the computing community - particularly among the Intel-based crowd -
have had a head start via Linux, a popular, often-free version of Unix
sometimes touted as a "Microsoft killer."
Interestingly, for an operating system which has generated so much
publicity only recently, Unix is quite possibly the oldest
still-published operating system around. It hails from the same age as
the moon-landings - development started at AT&T's Bell Labs in 1969
(see The Creation of
the Unix Operating System for a brief history).
In the meantime, Unix has sat silently in the background running
much of the Internet, the world's telephone systems, and a myriad of
other high-demand and often critical tasks. It did so beautifully,
before being swept to public view by the startling popularity of such
free variants of itself as Linux and FreeBSD.
So what make Unix stand out from, say, the Mac OS (prior to
OS X) or Windows? And just what is it all about anyway?
One of the more bewildering aspects of Unix is that you can't walk
into your nearest computer superstore and pick up a copy of, say, "Unix
11.7" fresh off the shelf. Rather, Unix has fragmented into a melee of
derivatives, clones, and work-a-likes - ranging from the now familiar
Mac OS X, commercial heavyweights such as Silicon Graphic's IRIX
and IBM's AIX, and free "home-brew" systems such as the perennial Linux
or the ultra-secure OpenBSD.
This fragmentation dates back from the earliest days of the Unix
Time-Sharing System, as it was then known. At the time, AT&T was
prohibited from selling it's new OS, so it chose to distribute it at
minimal cost to universities.
Universities have a well-deserved reputation as hotbeds of technical
innovation, so it came as no surprise when they took this new system
and worked it into new forms - adding functionality here, optimizing
something there. Not only did AT&T's generosity accelerate the
development of it's new system (albeit at the price of
standardization), but it also ensured that there was a large pool of
technicians available who were well-versed in Unix from their
university days.
As these students went out into the industry, they took their
knowledge with them, ensuring Unix a place at firms such as Digital
Equipment, Sun Microsystems, and Hewlett Packard, each of which
developed their own version of the OS to suit their own machines and
markets. Some control over all these differing versions is offered by
POSIX - a standard to which all Unix variants have to comply to qualify
as "Unix." Just because all these systems qualify as Unix, however,
doesn't mean that there aren't differences between them. Unix comes
with a bewildering array of "shells" (programs that provide the command
line interfaces) and even more graphical front-ends - ranging from Mac
OS X's sumptuous Aqua to the KDE Desktop usually associated Linux -
each with enough differences to ensure that knowing one doesn't
necessarily mean you know them all.
The strengths of Unix over most other operating systems are easy to
list.
First off it offers excellent multitasking, with an
industrial-strength implementation of protected-memory - if one
program crashes, it can't bring the entire system down to its knees.
Also, badly written programs cannot overwrite another program's memory
space, hanging the system. Indeed it is very difficult for a program or
user to bring down an entire Unix system.
Unix's multitasking is preemptive - it allocates resources to
programs as it sees fit and even allows you to set priority between
various running programs. This is a marked departure from the
"cooperative multitasking" system used in operating systems such as Mac
OS 9 and earlier, which depends on programs being well behaved and not
hogging the CPU.
Unix is also a multi-user operating system. Hundreds of
people can log into a single Unix server, and each can interact with it
just as if they were sitting in front of its keyboard and mouse - you
can even do this with a Unix system on the other side of the world via
the Internet.
This points to Unix's other great strength - networking. Unix
natively supports the TCP/IP protocol that drives the Internet, which
is one of the reasons why the majority of the world's Internet servers
are Unix machines. The operating system was built with networking in
mind more or less from day one, with the emphasis being on speed,
support, and reliability.
It is possible to hook a Unix box up to an IPX or AppleTalk network,
and the system can even support such obscure networking protocols as
Acorn's Econet.
As you can imagine from an OS used in so many mission critical
applications, Unix is very, very robust. While Windows boxes can crash
on a daily basis, and even a Macintosh running a pre-X OS needs to be
restarted regularly if you open and close many programs, Unix can go
for months between reboots. Indeed, one of the main causes for downtime
on Unix servers is power outages.
Unix has a reputation for being complex and unwieldy in use, and,
for some part, it is a well-deserved one. It has been added to by
countless people, each with their own ideas of program design and how
things should work. This means that the conventions used in one program
will not necessarily carry over to another.
More intimidating from the point of view of many Mac users (and
Windows junkies, for that matter) is that Unix is primarily a
character-driven OS - you type sometimes cryptic commands at a text
prompt as you would with MS-DOS. While this initially puts many off,
any version of Unix you are likely to encounter will include support
for the X-Windows system, which provides semi-familiar graphical front
end to the OS.
As I mentioned, Unix vendors are free to design their own GUIs, and
some versions can put dedicated graphical OSes to shame. With a modern
Unix variant such as Mac OS X,or Linux with KDE 2.x, there is
often no need to touch the command line, though your Unix education
would be poorer for it.
There are plenty of commercial applications available for Unix. For
the most part, these tended to be biased towards the server market or
to a specific hardware/Unix combination. For instance, a Silicon
Graphics workstation has a number of image, video, and 3D editing
programs available to take advantage of it's sheer A/V power and role
in motion picture special effects creation.
Where there has been a traditional shortage of applications,
however, is in the productivity realm. Unix systems have traditionally
been aimed at the server and high-end workstation markets, not towards
the home or office worker. This has begun to change with the surge in
popularity of Linux, and there are now word processors, office suites,
image editors, and many, many other applications to choose from. Better
yet is the price - many are free.
But is Unix right for you? If you are reading this, it's almost
certain that one day you will find yourself eye-to-eye with the Mac
OS X desktop.
Should you try your hand at Linux, NetBSD, et al? That depends on
you. If your curious enough about these OSes to be contemplating
installing them, then chances are that you'll have something to gain
from taking the plunge.
Unix skills (of the sort you don't get burning CDs with iTunes in
OS X) are highly sought after in today's workforce. With an Open
Source Unix such as Linux, you can learn what makes the OS - including
the Mac running OS X - tick at a fundamental level. You can even
write some code, offer it up to the Open Source community, and have it
incorporated into your favorite free Unix.
Generally, if you're looking for a powerful, infinitely customizable
OS that can be molded to perform just about any task you can imagine,
or if you're just a geek who loves playing around with big, powerful,
complex things, you'll likely find Unix a rewarding adventure.