ARCHITECTURE OF UNIX

Posted by Amrita Gautam at May 15, 2021

UNIX follows Layered architecture as shown in figure below. It consists of four main layers called: Hardware, shall and Utilities.

HARDWARE 

It Consist with all physical components of computer system and hardware modules of the system visible with naked eyes such as:monitor, CPU, RAM etc.

KERNEL 

The kernel of UNIX is the hub of the operating system: it allocates time and memory to programs and handles the file storage and communications in response to system calls. It manages the communication between software components and hardware.

Architecture of kernel 

Hardware level: The whole architecture of system kernel is divided into 3 levels user level, kernel level and hardware level. At the kernel level there are three system: System call Interface, process control sub system, File system,device and Hardware control.

Process Control 1 subsystem:     It is responsible for process synchronisation; Inter process Communication, Memory Management and process Scheduling i.e. allocate CPU to processes. 

File System: A file system is a collection of files and directories on a disk or tape in standard UNIX file system former. Kernel’s file sub system regulates data flow between the kernel and secondary storage devices.

Device Drivers or Controllers: A collection of the drivers or controllers for devices installed or attached with the system.

Hardware Control: Hardware control is responsible for handling interrupts and for communication with the machine. Devices such as disks or terminals may interrupt the CPU while a process is executing. The kernel may resume execution of the interrupted process after servicing the interrupt.

System call Interface: System call interface is responsible to handle all the system calls generated by users to access the services of operating system and passes all the calls accordingly to various modules.

Functions of kernel 

The main goal of kernel is to manage all the resources of operating system. The functions of kernel are as follows:

It keeps track of all the various programs beging run.

It allocates time to each process, decides when one will stop and another will start, also called as process scheduling.

It serves as an interface between the shell and the UNIX command on the one hand and the hardware on the other hand. 

manage memory, to control access to the computer also called as Memory management.

Maintain file system.

Handle errors.

Allow to interact with terminals, storage devices and to allocate the resources to the computers.

Manage the functionnality of all the devices attach to the system also called as Device Management.

Shell

The shell is both a command language that provides an interface to the UNIX operating system, we must give the shell command. If the command requires a utility, the shell requests of the utility by kernel. If the command requires an application program, the shell requests that it to run.

There are two major parts of shell: the first parts is called as interpreter and second part is called as shell script. The interpreter read commands given by the user and pass to the kernel to execute them. The shell script part provides the programming facilities that allow user to write a shell script or program using shell commands.

There are three standard shells used in UNIX:

This is the original UNIX shell written by Steve Bourne of Bell Labs. It is available on all UNIX systems. 

This shell does not have the interactive facilities provided by modern shells such as the C shell and korn shell.

The Bourne shell does provide an easy to use language with which you can write shell scripts 

The C shell (csh) is a UNIX shell developed by Bill joy for the BSD UNIX system.

Its syntax is modelled after the C programming language. The C shell added many feature improvements over the Boune shell, such as aliases and command history. Today, the original C shell is not in wide use on UNIX.

Korn shell 

The korn shell (ksh) is a UNIX shell which was developed by David korn (AT&T Bell Laboratories) in the early 1980s.

It provides all the features of the C shell and bourne shell together with a shell language similar to that of the original Bourne shell.

It is the most efficient shell consider using this as your standers interactive shell.

The main advantage of ksh over the traditional UNIX shell is its use as a programming language. Since its conception, several feature were gradually added, while maintaining strong backwards compatibility with the Bourne shell.

Comparison between all three shells 

Facilities Bourne C Korn 

Command history No Yes Yes

Command alias No Yes Yes

Shell scripts Yes Yes Yes

Command line editing No No Yes

Joy control No   Yes Yes Yes

Utilities

Utilities are standard UNIX program that provide for users. The UNIX system contains several utilities or user programs. Commands are also called as tools UNIX utilities can be divided into following groups-

– Commands 

General purpose

File and directory

Administrator etc.

– Text processing

Text editing 

Formatting etc.

– Software Development

– Communication

– Graphics 

– Games


Comments

Write a Reply or Comment