During the past 35 years, the operating system known as UNIX has evolved into a powerful, flexible, and versatile operating system. The different variants of UNIX conform to a variety of standards and are closely related. To understand how to use any or all of them, you need to only understand the basic conceptual model upon which UNIX is built. Once this conceptual model is understood, it is straightforward to learn the peculiarities of a variant of UNIX or to learn how to use a new variant of UNIX if you already know how to use another.
UNIX, as it is implemented in its many variants, serves as the operating system for all types of computers, including personal computers and engineering workstations, multiuser microcomputers, minicomputers, mainframes, and supercomputers, as well as special-purpose devices. The number of computers running a variant of UNIX has grown explosively with more than 40 million computers now running a variant of UNIX and more than 300 million people using these systems. This rapid growth, especially for computers running Linux, is expected to continue, according to most computer industry experts. The success of UNIX is due to many factors, including its portability to a wide range of machines, its adaptability and simplicity, the wide range of tasks that it can perform, its multiuser and multitasking nature, and its suitability for networking, which has become increasingly important as the Internet has blossomed. What follows is a description of the features that have made UNIX so popular.
Open Source Code
The source code for key variants of UNIX, and not just the executable code, has been made available to users and programmers. Because of this, many people have been able to adapt UNIX in different ways. This openness has led to the introduction of a wide range of new features and versions customized to meet special needs. It has been easy for developers to adapt to UNIX, because the computer code for UNIX is straightforward, modular, and compact. This has fostered the evolution of UNIX. New features are constantly being developed for various versions of UNIX, with most of these features compatible with earlier versions.
Cooperative Tools and Utilities
The UNIX System provides users with many different tools and utilities that can be leveraged to perform an amazing variety of jobs. Some of these tools are simple commands that you can use to carry out specific tasks. Other tools and utilities are really small programming languages that you can use to build scripts to solve your own problems.
Most important, the tools are intended to work together, like machine parts or building blocks. Not only are many tools and utilities included with UNIX, but many others are available as add-ons, including many that are available free of charge from archives on the Internet.
Multiuser and Multitasking Abilities
The UNIX operating system can be used for computers with many users or a single user, because it is a multiuser system. It is also a multitasking operating system, because a single user can carry out more than one task at once. For instance, you can run a program that checks the spelling of words in a text file while you simultaneously read your electronic mail.
Excellent Networking Environment
The UNIX operating system provides an excellent environment for networking. It offers programs and utilities that provide the services needed to build networked applications-the basis for distributed, networked computing. With networked computing, information and processing is shared among different computers in a network. The UNIX system has proved to be useful in client/server computing where machines on a network can be both clients and servers at the same time. UNIX also has been the base system for the development of Internet services and for the growth of the Internet. UNIX provides an excellent platform for web servers. Consequently, with the growing importance of distributed computing and the Internet, the popularity of UNIX has grown.
It is far easier to port UNIX to new machines than other operating systems-that is, far less work is needed to adapt it to run on a new hardware platform. The portability of UNIX results from its being written almost entirely in the C programming language. The portability to a wide range of computers makes it possible to move applications from one system to another.
The preceding brief description shows some of the important attributes of UNIX that have led to its explosive growth. More and more people are using UNIX variants, especially Linux, as they realize that it provides a computing environment that supports their needs. Also, many people use UNIX without even knowing it, such as people using the desktop environment of Mac OS X without knowing that it is built on UNIX, and people who use devices running a UNIX variant designed to support embedded systems. Moreover, many people now use computers running a variety of operating systems, with clients, servers, and special-purpose computers running different operating systems. UNIX plays an important role in this mix of operating systems. Many people run both a variety of Windows and one of UNIX on the same personal computer; some of these machines even ask the user which operating system to boot when the machine is turned on.