What is UNIX?

UNIX is one of the most important operating system in use today, perhaps even the most important. Since its invention around the beginning of the 1970s it has been an object of continual research and development. UNIX is not popular because it is the best operating system one could imagine, but because it is an extremely flexible system which is easy to extend and modify. It is an ideal platform for developing new ideas.

UNIX was written by programmers for programmers. It is popular in situations where a lot of computing power is required and for database applications, where timesharing is critical. In contrast to some operating systems, UNIX performs equally well on large scale computers (with many processors) and small computers which fit in your suitcase!

If you are coming to UNIX from Windows or DOS you may well be used to using applications software or helpful interactive utilities to solve every problem. UNIX is not usually like this: the operating system has much greater functionality and provides the possibilities for making your own, so it is less common to find applications software which implements the same things. In UNIX you are usually asked to learn a language in order to express exactly what you want. This is much more powerful than menu systems, but it is harder to learn

Advantages and features of Unix:

UNIX is important and successful because it is a multi-process system which

  • Has an enormous functionality built in, and the capacity to adapt itself to changing technologies

  • Its relatively portable

  • Is good at sharing resources (but not so good at security)

  • Has tools which are each developed to do one thing well

  • Allow these tools to be combined in every imaginable way, using pipes and channeling of data streams

  • Incorporates networking almost trivially, because all the right mechanisms are already there for providing services and sharing, building client-server pairs etc.

  • It is very adaptable and is often used to develop new ideas because of the rich variety of tools it possesses.

Problems:

UNIX has some problems: it is old, it contains a lot of rubbish which no one ever bothered to throw away. Although it develops quickly (at light speed compared to either DOS/Windows or McIntosh) the user interface has been the slowest thing to change. UNIX is not user-friendly for beginners. It is user-friendly for advanced users. It is made for users who know about computing. It sometimes makes simple things difficult, but above all it makes things possible!

UNIX different interfaces:

shell       Command line interacting making scripts which performs simple jobs such as running programs, installing new software, simple system configuration and administration

perl        Text interpretation, text formatting, output filters, mail robots, WWW cgi (common gateway interface) scripts in forms, password testing, simple database manipulation, simple client-server applications.

C             Nearly all of UNIX is written in C. Any program which cannot be solved quickly using shell or perl can be written in C. One advantage is that C is a compiled language and many simple errors can be caught at compile time.

Unix version /flavors of UNIX:

UNIX is not a single operating system. It has branched out in many different directions since it was introduced by AT&T

Here are some of the most common implementations of UNIX.

BSD:                       Berkeley, BSD

SunOS:                 Sun Microsystems, BSD/sys 5

Solaris:                 Sun Microsystems, Sys 5/BSD

Ultrix:                    Digital Equipment Corporation, BSD

OSF 1:                   Digital Equipment Corporation, BSD/sys 5

HPUX:                   Hewlett-Packard, Sys5

AIX:                        IBM, Sys 5/BSD

IRIX:                       Silicon Graphics, Sys 5

GNU/Linux:        GNU, BSD/Posix

What is kernel and Shell

The kernel is the core of the UNIX operating system. Basically, the kernel is a large program that is loaded into memory when the machine is turned on, and it controls the allocation of hardware resources from that point forward. The kernel knows what hardware resources are available (like the processor(s), the on-board memory, the disk drives, network interfaces, etc.), and it has the necessary programs to talk to all the devices connected to it.

Since users cannot command the kernel directly, UNIX has a command language known as the shell. The word shell implies a layer around the kernel. A shell is a user interface, or command interpreter.

            There are two main versions of the shell, plus a number of enhancements.

/bin/sh                 The Bourne Shell. The shell is most often used for writing system scripts. It is part of the      original UNIX system.

/bin/csh               The c-shell. This was added to UNIX by the Berkeley workers. The commands and syntax resemble C code. C-Shell  is better suited for interactive work than the Bourne shell.

The program tcsh is a public-domain enhancement of the csh and is in common use. Two improved versions of the Bourne shell also exist: ksh, the Korn shell bash, the Bourne-again shell.

Although the shells are mainly tools for typing in commands (which are executable files to be loaded and run), they contain features such as aliases, a command history, wildcard-expansions and job control functions which provide a comfortable user environment.