Like other operating systems, the UNIX system is a control program for computers. It has become extremely popular and an industry standard in recent years because of the following reasons. It is written almost entirely in a machine-independent language C which makes it easily adaptable to different machines and it provides an ideal software development environment where software packages can be written without regard to the computer hardware that it runs on. Another strength of the UNIX system from the point of view of programming comes from the fact that there is by now a large collection of commands/tools which can be combined to perform very sophisticated functions with elegance and ease.
There are three layers involved in running on the UNIX operating system. The core of the operating system is known as the "Kernel". The "shell" is an interface between the user and the kernel. There are also a number of "utility" programs and tools that users can use to build applications.
The Kernel
The Kernel is the nucleus of the operating system and controls the hardware. It handles the allocation and management of system resources such as memory, CPU and input/output devices.
The Shell
The shell is a command interpreter, analogous to DCL on VMS machines, that acts as an interface between users and the operating system. But unlike VMS, which uses a single shell (DCL), Unix has many shells, three of which are popular: the Bourne shell (sh), the Korn shell (ksh) and the C shell (csh). A super-set of the C shell, called the t shell (tcsh) is very useful for VMS users since it enables features like command line recall and editing using arrow keys.
Utilities
The UNIX system has a large number of utility programs often referred to as commands. These utilities perform functions that are universally required by users. An example of such a utility is sort. The sort utility can be used to put lists in alphabetical or numerical order. Other examples of utilities are man for online documentation, grep which can be used for searching for a pattern in a file,echo,find etc.