UNIX Unbounded: A Beginning Approach

Chapter 2: The UNIX Operating System


Objectives:

This chapter introduces the history and basic features of the UNIX operating system. The objectives important to this chapter are:

  • Where did UNIX come from?
  • What are the two main kinds of UNIX?
  • Capabilities of UNIX
  • Components of UNIX
Concepts:

UNIX was developed at Bell Labs in 1969. It was an attempt to improve on the characteristics of computer systems that frustrated computer professionals at the time. Remember this, as we go on, and savor the irony.

UNIX was originally written in assembly language, and later rewritten in C, a language that was developed by the same folks.

UNIX comes in two basic flavors. The AT&T version is descended from the folks at Bell, and is called SVR4. This means System V (that's a Roman 5, gang) Release 4. The second type is called BSD, for Berkeley Standard Distribution. It is descended from the version that evolved from the many changes made at the University of California at Berkeley. What were they doing with it? Well, Bell Labs couldn't sell UNIX at the time, so they gave it away to schools, who changed to to suit themselves. If only Bell could have sold it, maybe it could have evolved into Windows, and no one would have ever heard of Bill Gates.

UNIX is available for sale now, and you can get a version to run on any size computer you have.

As stated in Chapter 1, UNIX has several parts.

The innermost part is the Kernel, which interacts with the hardware itself.

The Service layer, called the Resident Modules layer here, contains system parts that happen in the background. It is indistinguishable from the Kernel, from the user's point of view.

The Shell, here called the Utility layer, is the part the user sees, and does contain utility programs that the user can run.

The concept of the Virtual Computer means that it can seem to the user that he/she is the only user on the system, since each user has access to all computer services, even if operating a "dumb terminal". It appears to the user that the whole system is there only for him/her.

A Process is like a job on the computer, a task that a user starts when a command is issued. A system that uses processes keeps track of what to do next for each process as resources are shared between them.

The features of UNIX the chapter lists are:

  • Portability - runs on many kinds of computers
  • Multi-user capability - many user can share the common resources of the system
  • Multitasking - users can start processes that seem to run at the same time
  • Hierarchical file system - this is just like DOS; it means files are stored in a tree based system of directories
  • Device-Independent I/O - means that the system treats all devices like files and output can be directed to any of them
  • Shell - the user interface, is character based, command line driven

Shell scripts, which we spend a whole course on, are commands to the shell that are stored in a file which can be executed.