April 27, 2011

What is Unix?

Unix is not that easy to define. At the lowest level it is simply the kernel (suite of programs which make the computer work) of an operating system. It was first developed in the 1960s, and has been under development ever since. It is a stable, multi-user, multi-tasking system for servers, desktops and laptops.
UNIX systems also have a graphical user interface (GUI) similar to Microsoft Windows which provides an easy to use environment. However, knowledge of UNIX is required for operations which aren't covered by a graphical program, or for when there is no windows interface available.

Types of Unix

There are many different versions of UNIX, although they share common similarities. The most popular varieties of UNIX are Solaris, GNU/Linux, and MacOS X.

The Kernel

The kernel of UNIX is the core of the operating system: it allocates time and memory to programs and handles the filestore and communications in response to system calls.

The Shell

The shell acts as an interface between the user and the kernel. When a user logs in, the login program checks the username and password, and then starts another program called the shell. The shell is a command line interpreter (CLI). It interprets the commands the user types in and arranges for them to be carried out. The commands are themselves programs: when they terminate, the shell gives the user another prompt ($ on my Ubuntu systems). A % symbol indicates that you have the C shell; a $ means you have the Bourne shell. (There are other shells and other prompts, but these two are the most common.)

The Directory Structure

All the files are grouped together in the directory structure. The file-system is arranged in a hierarchical structure, like an inverted tree. The top of the hierarchy is traditionally called root (written as a slash / )

In the diagram above, we see that the home directory of the undergraduate student (ug1)"ee51vn" contains two sub-directories (docs and pics) and a file called report.doc.
The full path to the file report.doc is "/home/its/ug1/ee51vn/report.doc"