written 5.5 years ago by |
Kernel:
The kernel is the heart of the operating system. Actual operating system code and the functionality resides on it. It interacts with the hardware and performs most of the tasks like memory management, task scheduling, and file management.
Shell:
The shell is the utility that processes our requests. When we type in command on our terminal, the shell interprets the command and calls the respective program. The shell uses the standard syntax for all the commands. C Shell, Bourne Shell, and Korn Shell are the most popular shells which are available with most UNIX systems.
Bourn Shell - It is original Unix Shell which provides compactness and speed. Hence it is widely preferred in the programming world. But it lacks interactivity. It does not remember previous commands, does not handle arithmetic and logical expressions which makes it very complicated for its users.
C Shell - It is the enhancement of previous shell having interactive features for the users. It provides features like aliases and command history. It also includes convenient programming features like built-in arithmetic and logical operations as well as C like expression syntax.
Korn Shell - It is the most enhanced version of the Bourn shell. It supports everything in bourn shell plus interactive features like c shell. It also includes programming features, arithmetic, and logical operations, C like arrays, functions, and operations for manipulating strings. And it is faster than C shell.
Commands and Utilities:
There are various commands and utilities provided by UNIX which we can use in our day-to-day activities. Example: cp for copying the file, mv for moving the contents of files, cat for concatenating the two files and grep for searching the particular pattern of character in a file, and many more.
The programs which form the outermost layer interact directly with the kernel using system calls. These programs are executed with the help of Compiler (CC). Sometimes assembler, linker, loader, are also required. There are over 250 standard commands plus numerous others provided by third-party software.
Users:
Here, users do not mean actual persons but the application programs like mailing, FTP, DBMS, c programs, etc. The end users use these applications for doing file transmission, data storage, for sending and receiving emails, etc.
Hardware:
The lowermost layer is a hardware layer which is actually not part of the UNIX operating system. However, the operating system interacts directly with the hardware and provides basic services.