Chapter 7 : UNIX

The UNIX operating system was developed in the 60’s and 70’s by a group of AT & T employees at Bell Labs.  Unix is used by both servers and workstations and is the basis for a wide variety of other operating systems. 

The UNIX system was designed to be portable, multi-tasking and multi-user in a time-sharing configuration.  There are various concepts that are unique to all UNIX systems.  These concepts include:

  • The use of plain text for storing data
  • A hierarchical file system
  • Treating devices and certain types of inter-process communication as files
  • The use of a large number of small programs that can be strung together through a command line interpreter using “pipes” as opposed to a single monolithic program with the same functionality.

The operating system under UNIX consists of many of the utilities listed above along with the master control program which is called the “kernel”.  The kernel helps start and stop programs, handle the file system, take care of other common high level tasks that most programs share and schedule access to hardware to avoid conflicts if two programs try to access the same resource or device simultaneously.

Besides the main kernel, UNIX systems also had micro-kernels which tried to reverse the growing size of kernels and return to a system in which most tasks were completed by smaller utilities.

In an era where a “normal” computer consisted of a hard disk for storage and a data terminal for input and output, the UNIX file model worked quite well as most input/output was linear.  However, modern systems include networking and other new devices.

Describing a graphical user interface driven by mouse control in an “event driven” fashion didn’t work well under the old model.  Work on systems supporting these new devices in the 1980’s led to facilities for non-blocking input/output forms of inter-process communications other than just pipes, as well as moving functionality such as network protocols out of the kernel.

Just as with other operating systems, the programming was updated periodically to add other features and to streamline processes that the system would run.  Ironically, the importance of the UNIX system is quite far-reaching.  In fact, some experts call it the most important system you’ll never use.

UNIX is mostly used by Internet servers and database servers.  It is a very efficient multi-user, multi-tasking operating system traditionally used by large companies and educational institutions.

It is scalable from a small system right up to a mainframe-class system (all you need to do is add extra hardware), which makes it suitable for anyone looking for a low cost, reliable operating system. 

For programmers it has a wonderful set of built-in utilities, a programmable shell (command/user interface) and a straight forward structure that makes it very easy to quickly produce quite complex programs.  For end users, UNIX has a friendly graphical interface (called X Windows) and many business applications and games.

As we said, UNIX is used as a basis for other operating systems.  One of those is Linux.

Join us on Facebook