Introduction and Background


Introduction

As we get started, students often ask "What is this Unix thing?"

In most general terms, Unix (pronounced "yoo-niks") is an Operating System. An Operating System is a control program (or manager) for some type of hardware, often (but not always) computer hardware.

Why Unix?

Unix is the most widely used computer Operating System (OS) in the world. Unix has been ported to run on a wide range of electronic devices, ranging from phones and tablets to to inexpensive home computing systems to some of the worlds' largest super-computers. Unix is a multiuser, multitasking operating system which enables many people to run many programs on a single computer at the same time. After more than three decades of use, Unix is still regarded as one of the most powerful, versatile, flexible and (perhaps most importantly) reliable operating systems in the world of computing.

With this power, versatility and flexibility, some people who are new to Unix and have little to no experience with command line interfaces find themselves intimitdated. The intent of this hypertext is to remove the intimidation by presenting the Unix OS in a clear, concise and organized manner.

As a new user to the world of Unix, don't be afraid to try things. You, as a single user can not damage the system. So experiment and have fun, you'll have nothing to lose, and you will probably even learn something. Or as Richard Feynman might add, experience "the pleasure of finding things out."

Before getting started, always, always remember that Unix is case sensitive, which more often than not implies lower case (at least for commands).


Unix Flavors

People new to Unix are sometimes a little confused about the different names they hear used. People frequently ask "What's the difference between Unix and Solaris and Linux?" The short answer is "for most users, not a great deal". All of todays varieties of Unix are offspring from the original Unix operating system created at Bell Labs. Over the years, specific universities and computer vendors made their own modifications to the Unix source code to (hopefully) make the operating system run more efficiently (and faster) on their proprietary hardware. When the vendors sold their hardware, they also distributed (sometimes referred to as "bundled") their modified version (or flavor) of Unix. All flavors of Unix share basic features, which is an essential concept for the end user to understand. Several modern flavors of Unix are listed below.

Originator Proprietary Name 1
U. Cal. Berkley BSD
Sun Solaris
IBM AIX
HP HP-UX
SGI IRIX
Digital Equipment 2 DEC Unix
Compaq Tru64 Unix 3
Apple MacOS X 4
L. Torvalds/GNU 5 Linux 6


1 All proprietary Unix flavors and their names are respective trademarks of the originating entity/vendor.

2 Digital Equipment Corp. (DEC) is no longer a corporate entity since being acquired by Compaq in 1998. Compaq then "merged" with Hewlett-Packard (HP) in 2001.

3 Compaq acquired DEC Unix in its acquisition of DEC, and renamed this Tru64 Unix, which now belongs to HP. However, both the DEC Unix and the Tru64 Unix flavors of Unix are still in use.

4 Mac OS X is an offspring from a BSD parent.

5 This is not the place to put on the gloves and settle which group provided what.

6 Pronounced lih-nuhks with a short "i".


As Operating System portability became a focal point, several flavors of Unix were "ported" to multiple hardware platforms. For example, Sun's Solaris will run on PC's as well as Sun's proprietary hardware. It is interesting to note at this point that Linux is a non-proprietary flavor of Unix that has been ported to a plethora of different types of hardware devices, not just computers (e.g. PDA's, cell phones, digital video devices such as TiVo, gaming consoles, etc.)

What is important for the Unix end-user to keep in mind is that most basic (core) commands are similar (and most likely identical) on most Unix systems. A user can query the operating system for specific version information using the uname -a command (see also the dmesg command).


Unix Features

The Unix Operating System has a number of features that account for its flexibility, stability, power, robustness and success. Some of these features include:

Students sometimes remark "so what, don't all operating systems provide these features?" The simple answer to this is No! Not all modern operating systems provide the stability, flexibility, and power these features provide in Unix. So you don't believe me...ask yourself when was the last time you had to reboot your computer?

Another example of an OS lacking the aforementioned features is Apple Computer's Mac OS 9 (and earlier versions). Apple apparently could not create an OS with this stability and robustness, so they ported Unix to the Mac and named it Mac OS X.2

1 To port software means to move the original source code to a different hardware device (e.g. a different computer), modify the code as necessary, re-build the execuatble image (i.e. re-compile/link the source), and have the program provide the same services with the same reliability as on the original machine.

2 See: Mac OS X. [Wikipedia contributors]


Unix Philosophy

Much has been written, discussed, argued, debated and celebrated about the underlying philosophies of the design of the Unix operating system. I will say very little here and defer to those many folks who have more experience and wisdom than myself. I will quote one of those more experienced and wiser than me with...

"This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface." [Salus], p. 12

Another wonderful reference text with an abundance of Unix philosophical information is The Art of Unix Programming. [Raymond]




©2017, Mark A. Thomas. All Rights Reserved.