Andy Welter September 28, 2001
While I am not an operating systems bigot or "religious" fanatic, I prefer to work with UNIX systems over those running other operating systems such as Windows NT/2000/XP.. Because UNIX servers tend to live behind glass walls in a data center, and Microsoft Windows systems are out on everyone's desktop, many people in the IT industry do not have a clear understanding of UNIX. This article is meant to explain where UNIX came from, why businesses continue to use it, and why it will continue to thrive in the future.
Very briefly, UNIX was designed in the early 70s at AT&T's Bell Labs as mini-computer operating system, originally running on a DEC PDP-7, and later ported to the PDP-11. Early in UNIX's life, the core (known the kernel) of the OS was re-written in the then new C programming language. This established the strong linkage between the C language and UNIX that survives till today. By writing the UNIX OS in C rather than assembly language, UNIX was more portable than other OS's in existence at the time. It also made the operating system an ideal educational platform since it's source code was made available by Bell Labs, and was more readily understood than an OS written in assembly language. These factors were major reasons for the spread of UNIX.
UNIX in one flavor or another has been ported to more different types of computers than any other computer operating system, and has been sold by more software and system vendors than any other. Some of the vendors that have sold a version of UNIX include: IBM, Sun, HP, DEC (now owned by Compaq), Silicon Graphics, NCR, SCO, CDC, Cray, NCR, Tandem, and Sequent (now both owned by IBM). These versions of UNIX all have roots in the original Bell Labs UNIX or the UC Berkley's BSD UNIX. These vendors both cooperated and competed with each other. They cooperated by adhering to some measure of common application interfaces and user interface specifications. They competed by producing their own hardware, and adding their own features to UNIX in order to gain competitive advantage in the market.
Sun, IBM, and HP are the current market leaders in the UNIX market, with Compaq, NCR, SCO, and SGI still selling their own UNIX OSs. In addition, the open source Linux operating system, has become a major force in the UNIX market. This OS is a clean sheet of paper implementation of UNIX, independent of the Bell Labs or BSD source code base. The original author of the Linux OS Kernel is Linus Torvaldis. Since it's release in the early 90s, Linux has grown in maturity and popularity. As open source software, it is freely available for use in source code form, and is supported and further developed by the voluntary efforts of thousands of developers around the globe.
A Linux "Distribution" is a bundle of software built around the Linux kernel. This software is generally also open source, and provides necessary or helpful networking services, utilities, development tools, and end user applications. A number of companies produce and sell Linux distributions: Red Hat, Caldera, Turbo Linux, and SuSE Linux are some of the biggest. In accordance with the license for Linux and the associated software, these vendors supply source code and also make the software freely available for download. Their revenue comes from packaging the software in convenient installation packages on CD-ROM and providing documentation and support for the software.
There are several nationally known system vendors that only sell with Linux pre-loaded on them: VA Linux, and Penguin Computing. In addition, major PC vendors such as IBM, Compaq, HP, and Dell all sell systems that come pre-loaded with Linux as an option.
Other versions of UNIX, OpenBSD and FreeBSD are similar to Linux in terms of licensing and cost, but was developed using the UC Berkley BSD UNIX as a base. These BSD variants are not as well known as Linux, but are well known for their security and stability.
Because UNIX is a mature established operating system, it is generally a stable, and maintainable operating system. It is very common for busy UNIX servers to go months between crashes or reboots for maintenance. It is also not unusual for UNIX servers to run continuously for more than a year between crashes or reboots. Administrators can perform many configuration changes, software installations, and even some times even operating system patch installations while servers are up and running in production without requiring a reboot. UNIX systems are generally administered from a text based command line interface rather than a GUI interface, which allows for easy remote administration. But even GUI interfaces to the systems and their administration tools are generally easy to run remotely. This is because the X-windows GUI environment used by UNIX was designed from the beginning as a client server system capable from being run remotely. Command line based administration tasks are generally easier to automate than GUI based tasks. Because of this, UNIX servers generally require fewer administrators per system or system user than Windows NT servers do. Once a UNIX system is properly set up, it can often run without any administrative care and feeding whatsoever. One of my favorite UNIX stories came from 3X Health Care. While 3X was conducting a Y2K audit at a hospital, they stumpled upon an RS/6000 that everyone had forgotten about, running in a closet. It turned out that this system ran fetal heart monitoring equipment in neo-natal intensive care. No one had needed to log into the system or perform any maintenance in recent memory it was so trouble free they forgot they had it.
UNIX scales from tiny embedded computers running consumer devices and industrial equipment to systems with hundreds of CPUs. UNIX can also be used to create giant parallel processing systems where hundreds of individual systems form one multiprocessing cluster. Large UNIX systems commonly host hundreds or thousands of simultaneous users. Sun Solaris, IBM AIX, HP HP-UX, and Compaq Tru64 UNIX all run on CPUs with 64 bit word sizes. Intel CPUs are currently 32 bit only. CPUs with larger word sizes can do more processing and move more data per instruction cycle than CPUs with smaller word sizes. This makes a 64 bit CPU faster than a 32 bit CPU of the same megahertz clock speed.
Because of its modular design and ease of customization, it is a productive development environment. Because each version of UNIX was designed using a common set of system and application interfaces, it is generally easy to port an application from one version of UNIX to another. While the UNIX market is fragmented with multiple flavors of the operating system on the market, developers can generally move from one brand of UNIX to another with ease.
The use of common, publicly published interfaces is the reason why UNIX is termed an "Open" operating system. Applications are generally available on multiple competing versions of the OS, and in-house developed applications can usually easily be ported to other vendor's platforms if needed. This allows users of UNIX a degree of flexibility and negotiating power when dealing with different UNIX vendors. Many companies run multiple versions of UNIX, selecting the version of UNIX and hardware platform that best suits a particular purpose, or provides the best bang for the buck at the time that a system was purchased. A database that was originally deployed on Solaris using Oracle for instance could be migrated to Oracle on AIX, HP-UX or Windows NT. In contrast a database deployed on SQL Server and Windows NT does not provide that sort of flexibility. While all UNIX flavors are considered open systems, Linux and OpenBSD take the principles of openness to a higher level. In addition to adhering to openly published common standards, Linux FreeBSD, and OpenBSD operate under open source code licenses. With these systems the source code for the operating systems is freely available. Individuals and companies can modify or extend the systems. The principle is that cooperative development will advance the state of computing more rapidly than by having multiple people re-implement software to solve the same problems. Besides operating systems, a wide variety of utilities, network services, and personal productivity applications have been developed as open source code projects. In fact, the number one web server software on the Internet, Apache, is an open source program.
While it is true that in many cases, UNIX systems can be more expensive than Windows systems, ironically, in many cases they can also be less expensive. Because of the upward and downward scalability of UNIX systems, a small dedicated UNIX server can be considerably cheaper than the smallest practical Windows NT server. Many of the "thin server" products such as dedicated file, print, and web servers utilize UNIX as their operating system, even if this OS choice is invisible the users of the systems. Dedicated thin server systems often use low cost RISC CPUs developed for the embedded computer market, or older versions of Intel X86 CPUs that are now priced at a commodity level for embedded computer use.
Users can often re-deploy older general purpose servers as specialized single purpose systems, extending their life span considerably.
UNIX operating systems are often licensed for unlimited clients rather than on a per client basis, which can make them less expensive. Or in the case of Linux and OpenBSD, the operating system may be installed on as many systems as desired from a single copy of media. This savings per server can be a large benefit for a user such as an ISP or ASP that may have to deploy hundreds of small systems for dedicated web or application hosting, or a university that must equip large computer labs.
While RISC computer hardware is often more expensive than Intel based computers, there are several versions of UNIX that run on Intel systems, including Linux, OpenBSD, Solaris for X86, and SCO UNIX. Because of this, the hardware costs for similar UNIX and NT servers can be identical.
While UNIX has many advantages, it does have drawbacks. Because of these drawbacks, UNIX is not generally used as a desktop operating system. This though is changing some due to advances in Linux's ease of use and ease of installation.
The user interface for UNIX can be daunting to a newcomer. It is generally harder for first time users to get around in a UNIX system than on a Windows based system. The graphical user interface of a UNIX system is generally harder to configure than Windows system.
More shrink wrap applications are available for the Windows platform than for the UNIX platform. In addition, some vendors will support only the major UNIX's such as Sun Solaris, IBM AIX, or HP's HP-UX. This can make life more difficult for users of less popular UNIX such as SGI, SCO, or Compaq UNIX. The application gap is largest for personal productivity and desktop software such as spreadsheets, word processors, and graphics programs. There are however multiple "office" suites available for UNIX, including Word Perfect, Star Office, and Applix.
While it is true that UNIX can be much cheaper than Windows NT, it can also be more expensive in other cases. Using Sun Sparc, IBM RS/6000, or HP PA-RISC UNIX servers for simple file and print serving is a typically more expensive than using Intel systems. Using these types of systems for end user desktop systems is also typically more expensive than a Windows desktop system would be. Because of this, UNIX systems are typically only used for specialized desktop uses such as CAD/CAM designers or software developers. If a company is going to use UNIX for file and print duties, they typically use a UNIX that will run on Intel hardware such as Linux, SCO UNIX, or Solaris for X86. They may also assign file and print serving as an additional side duty for a major vendor RISC system such as an RS/6000, rather than it being the system's sole purpose.
While UNIX systems are more scalable and maintainable than Windows systems, UNIX in the datacenter also competes with IBM Mainframes running MVS or IBM AS/400 systems. These competitors can often match or beat UNIX at scalability and maintainability. But these competitors also suffer more from user interface, application availability and cost problems than UNIX does.
UNIX has survived and thrived in spite of competition from Windows at the low end of the market, and other enterprise level operating systems at the high end of the market. In areas where stability, scalability or open interfaces are important, UNIX is hard to beat. UNIX can also compete strongly in cases where a low cost of entry is important.