Tuesday, 24 May 2016

Unix System Architecture

There 4 major components in the Unix system.

Kernal : Monitors and controls the resources of a computer and allocates them among its users in an
              optimal manner.
Shell    : Provides a processing environment for the user programs and acts like a command translator
Utilities : Programs which are used for development purposes
User Applications : Programs written by the user

The above 4 components can be understood better by a layer approach as following:





Layer 1 (Hardware ) : 

This layer is the hardware over which the different OS layers are built. Hardware is not a part of the Unix OS.

Layer 2 (Kernal) :

This layer is the Kernel, which is the most important component of the Unix system. It is a collection of programs which directly communicate with the hardware. It is that part of the Unix system that is loaded into memory first when the system is booted. It manages the system resources, allocates them between users and the processes, decides priorities of different processes etc.

Layer 3 (User Application/Commands): 

This layer contains programs that interact with the Kernel by invoking some system-calls. Basically these programs are Unix commands like wc, grep, find etc.

Layer 4 (Shell):

This layer is called Shell. Technically another Unix command, it is the interpreter of user requests. It takes a command from the user, deciphers it, and communicates with the Kernel to see that the command is executed. It is actually the interface between the user and the kernel, which effectively insulates the user from the knowledge of kernel functions. It also has a programming capability of its own.

The kernel and shell together make the Unix system work. The shell provides a processing environment to the user programs.




No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...