Sunday, August 12, 2012

Architecture of UNIX

                                                                                                  
      Some key features of the UNIX architecture concept are:

·         UNIX systems use a centralized operating system kernsel which manages system and process activities
·         All non-kernel software is organized into separate, kernel-managed processes
·         UNIX systems are preemptively multitasking: multiple processes can run at the same time, or within small time slices and nearly at the same time, and any process can be interrupted and moved out of execution by the kernel. This is known as thread management.
·         Files are stored on disk in a hierarchical file system, with a single top location throughout the system (root, or "/"), with both files and directories, subdirectories, sub-subdirectories, and so on below it.
·         With few exceptions, devices and some types of communications between processes are managed and visible as files or pseudo-files within the file system hierarchy. This is known as everything is a file. However, Linus Torvalds states that this is inaccurate and may be better rephrased as "everything is a stream of bytes".

Shell:

         Unix shell is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems. Users direct the operation of the computer by entering commands as text for a command line interpreter to execute or by creating text scripts of one or more such commands.
       Shell is an interface between User and Kernel. Shell works like a programming language.

Kernel:

·         Kernel is collection of system Calls and Device Drivers. In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level.
·         The kernel's responsibilities include managing the system's resources (the communication between hardware and software components). 
·         Usually as a basic component of an operating system, a kernel can provide the lowest-level abstraction layer for the resources (especially processors and I/O devices) that application software must control to perform its function.
·         It typically makes these facilities available to application processes through inter-process communication mechanisms and system calls.
·         Any version of UNIX will have only one kernel and it will be loaded when UNIX is booted.

Kernel process many jobs some important jobs are
1.      File Management
2.      Time sharing Between users
3.      Device Management
4.      Process Management
5.      Processor Management
6.      Memory Management
7.      Inter Process Communication
8.      Signaling System
9.      File Sharing

Application Software Library
It is a part of Application Software. It will be generated automatically when the application software installed.
For Example, C language header files, java packages, Oracle packages, etc.
 Application Software Library communicates with Hardware components through the OS library.
Application Software Library

OS Library

Hardware

System Calls
System Calls is a low level function to communicate with Hardware components through the Drivers. It is called as “OS Library”


Note:
UNIX provides 232 System calls. LINUX provides 363 System calls.
 Ex:
Open ()        to activate device
Write ()       to write
Close ()     to deactivate device
Fork (), pipe (), etc.

Device Drivers
·         These are hardware programs developed in Assembly language and C language.
·         These are separated by Hardware vendors depending upon components.
·         These are to communicate with Hardware components.


No comments:

Post a Comment

Thank you :
- kareem