Unix

UNIX

R4R provide basic UNIX Tutorials concept with UNIX Examples .Through R4R you can develop UNIX programming concept. R4R provide UNIX Interview Questions with answers.R4R provide UNIX Languages study materials in easy way.

Introduction of Unix

UNIX is an operating system which was first developed in the 1960s, and has been under constant development ever since. It is a stable, multi-user, multi-tasking system for servers, desktops and laptops. The philosophy behind the design of UNIX was to provide simple, yet powerful utilities that could be pieced together in a flexible manner to perform a wide variety of tasks

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, for example, in a telnet session.

The UNIX operating system comprises three parts
  • The kernel
  • The standard utility programs
  • The system configuration files
  • The kernel

    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.

    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 our systems)

    The system configuration files

    The system configuration files are read by the kernel, and some of the standard utilities. The UNIX kernel and the utilities are flexible programs, and certain aspects of their behavior can be controlled by changing the standard configuration files. One example of a system configuration file is the filesystem table "fstab" , which tells the kernel where to find all the files on the disk drives.

    Another example is the system log configuration file "syslog.conf", which tells the kernel how to record the various kinds of events and errors it may encounter.

    History Of Unix

    The UNIX story start in 1969, when AT&T Bell Labs dropped out of a joint project between themselves, General Electric, and the Massachusetts Institute of Technology. Multics, the project in question, was an experimental operating system on the GE 645

    Ken Thompson and Dennis Ritchie, both from Bell Labs, had been exposed to the Multics project. They ported a game, called `Space Travel', from the GE 645 running Multics, onto a PDP-7. To help them do the porting, Thompson wrote a ` `simple file system and some utilities for the PDP-7" [8, p. 3]. This was the birth of UNIX, in 1970 (``UNIX" was meant to be a pun on ``Multics").

    Late in 1970, a PDP-11/20 was purchased, and UNIX became an official Bell Labs project. The first UNIX edition ``was documented in a manual authored by Thompson and Ritchie dated November 1971" [1, p. 2]. Most of the ideas found today's UNIX systems were incorporated in this edition.

    The second edition, 1972, incorporated the piping concept.

    In 1973, UNIX was re-written in C, by Thompson and Ritchie. Note that Ritchie developed the C language (derived from the B language by Thompson) at approximately the same time.

    UNIX was first distributed in May 1975 for a nominal fee. This was UNIX Version 6.

    In 1979, a more portable version of UNIX (Version 7) was released for general use; from here, three major UNIX versions emerged: BSD (Berkeley System Distribution), XENIX, and AT&T's System V.

    Unix Architecture

    a typical Unix system running in a high-end PC or low- to midrange workstation will consist of a single monolithic kernel, perhaps augmented with dynamically loadable drivers or shared libraries (see chart, p. 12A). The Unix system call interface is implemented directly by the operating system kernel. Microkernel-based Unix-like operating systems, such as Mach and others, lie somewhere between a conventional BSD Unix implementation and Windows NT's executive/protected subsystem model. The Unix run-time environment consists of library calls, operating-system service calls, and remote procedure calls (RPCs).

    Library calls typically are linked into an application's user space either statically or via a dynamically loaded or shared library. Operating-system service calls are entry points into the Unix kernel and provide relatively low-level system services such as file I/O, TCP/IP sockets I/O, and RPCs