Update

One new tab added. Open in browser view if it is not visible. (25/08/2022 08:48)

Kernel

Q. What is Kernel?

Ans : - Kernel is an interface between Hardware and Software. It is the heart of operating systems. It is responsible for low level tasks such as Resource management, Device management, Memory management, etc.

Every Operating System, be it Windows, MacOS, Linux has a Kernel, which has full control over the performance of an Operating System.

It decides when and which process will be given to a processor to execute. It shares resources between processes in such a way that each resource has a uniform access.




Q. What is Virtual Address?

Ans :- It is a reference to the Physical Address, generated by CPU when running a program. It does not exist physically hence the term Virtual.

The hardware device called Memory-Management Unit (MMU) is used for mapping logical address to its corresponding physical address. 

Users never directly deal with the Physical Address, in fact they access it using their corresponding logical addresses.

Q. What are the Types of Kernel?

Ans :- Following are the five types of kernel:

1. Monolithic Kernel:

All Operations happen in Kernel space. This means that the user services and kernel services are implemented in the same memory space.
Execution of a process takes place faster but the code complexity increases.
Less modularity when it comes to adding a new service.
Failure of one service leads to Failure of entire system.

2. Micro Kernel:

Here to overcome problems when implementing a Monolithic Kernel, there is a seperate user space and a kernel space. The size of Kernel and the OS goes down and it is more stable,
But the execution time increases due to message parsing, system calls and context switching. The IPC (Inter-Process Communication) is a huge overhead.
Modularity is a added benifit. A new service can be easily added.

3. Hybrid Kernel:

Microsoft Windows NT kernel is a prominent example of a Hybrid Kernel. Of course as the name suggests, it uses benifits of both a monolithic kernel and a micro kernel.

4. Exo Kernel: 

By far the most complex in design is the Exo Kernel. It handles allocation of system resources onto the applications. So Hardware abstractions are less, but the complexity of writing applications go way up.


5. Nano Kernel: 

It is analogous to Micro Kernel and hence used less.

No comments: