The venerable Unix operating system is without doubt the most successful operating system on the planet, if longevity, security and power have anything to do with it. You can read about the history of Unix at Wikipedia, so I won’t reiterate it here but this beauty of an OS has been with us since 1970 and just keeps on getting better.
For this blog when I talk about Unix I am also talking about its offshoots – which today include Linux, OSX, iOS, Android, FreeBSD and OpenBSD. All these wonderful operating systems have at their core, and in their general philosophy the basic DNA and great ideas of the Unix system.
The brilliance of why Unix has been so successful over the long-term (and in computing years we are talking millennia!) I think boils down to these initial premises:
- be a multi-user system
- be an easily networked system, and by default secure
- do what is necessary and no more. Specific software “tools” were added to do other jobs rather than trying to make the OS a bulky Swiss Army Knife. The software tools can be combined and piped to do very complex tasks.
These three factors are completely foreign to MS Windows….
My first very brief experience with Unix was in 1988 when I saw a very advanced (for its day) petroleum well logging application running under Unix on an Apollo workstation. This thing was so far advanced compared to other OS’s I had used as to almost blow my mind. Previous OS experiences had been with mainframe OS’ including Data General’s AOS, IBM’s MVS and MTS. I also knew quite well MS-DOS and AmigaDOS at this time, but these I considered to be just toy PC operating systems.
It was a few years later in 1994 that I had my first hands-on experience with Unix on a Solaris workstation, also running some earth science applications. It was a steep learning curve at first because other than the GUI application everything, especially file management was done on the command line. But this is where I learned how incredibly powerful the Unix command line was.
Let me give you just one example of that power:
dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp
That command above actually sends the output of your microphone to a remote computer’s speaker. Such a feat as that is virtually impossible to do with any GUI application I know of.
Another example here:
cat some_file | tr [A-Z] [a-z] > new_file
That command takes some_file and converts any capital letters to lowercase letters and creates a new file.
The above two examples are just a couple of very simple possibilities of what can be done with the Unix command line. For some more amazing feats move on over to commandlinefu.
But moving away from the command line we now have layers of much more user-friendly environments developed around a base Unix or Linux kernel. Some screenshots of these various GUI systems which run on top of Unix (or its offshoots) are shown below:
All the above are made possible because the base Unix/Linux kernel on which they run is so stable, secure and powerful and amenable to being able to be the base kernel of other software. The other reason I suspect why Unix has become a base for some of the very newest and best operating systems is that an open source version of it was available (FreeBSD and NetBSD) – these enabled Apple to use them as a base for OSX (along NeXTSTEP), Minix to be developed (from which Torvald’s got his ideas for Linux) and lastly Google used the Linux base kernel to develop Android.
You can download an amazing timeline history of Unix here.
If you are presently a Microsoft Windows user and this article has inspired you to convert to a much better operating system than what you presently have then please read my suggestions for doing so here and here.