2. Shell :
A shell is an environment or a special user program which provide an interface to user to use operating system services. It executes programs based on the input provided by the user.
2. Kernel :
Kernel is the heart and core of an Operating System that manages operations of computer and hardware. It acts as a bridge between the user and the resources of the system by accessing various computer resources like the CPU, I/O devices and other resources.
Difference between Shell and Kernel :
|1.||Shell allows the users to communicate with the kernel.||Kernel controls all the tasks of the system.|
|2.||It is the interface between kernel and user.||It is the core of the operating system.|
|3.||It is a command line interpreter (CLI).||Its a low level program interfacing with the hardware (CPU, RAM, disks) on top of which applications are running.|
|4.||Its types are – Bourne Shell, C shell, Korn Shell, etc.||Its types are – Monolithic Kernel, Micro kernel, Hybrid kernel, etc.|
|5.||It carries out commands on a group of files by specifying a pattern to match||It performs memory management.|
|6.||Shell commands like ls, mkdir and many more can be used to request to complete the specific operation to the OS.||It performs process management.|
|7.||It is the outer layer of OS.||It is the inner layer of OS.|
|8.||It interacts with user and interprets to machine understandable language.||Kernel directly interacts with the hardware by accepting machine understandable language from the shell.|