0

I would like to understand the meaning of the term Linux Kernel and the various types of kernel. For example, I would like to know what is the difference between Microkernels and Monolithic Kernels. Would you please simplify these terms and provide examples. I hear that other systems like Windows or Android, are all have Kernels as well. So what is the difference between Kernel in all these systems.

closed as off-topic by Rui F Ribeiro, maulinglawns, Kiwy, Christopher, dr01 Sep 14 '18 at 13:36

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Requests for learning materials (tutorials, how-tos etc.) are off topic. The only exception is questions about where to find official documentation (e.g. POSIX specifications). See the Help Center and our Community Meta for more information." – maulinglawns, Kiwy, Christopher, dr01
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 4
    Hello and welcome on StackExchange Unix&Linux, please take the time to read the tour. Questions related to tutorials or basic explanation are not really on topic here. You should maybe try to find complete documentation about operating systems such as : github.com/concerttttt/books/blob/master/… – Kiwy Sep 14 '18 at 13:01
  • 3
    If you google kernel you will find a lot of articles about this topic!! – user88036 Sep 14 '18 at 13:13
2

This term was covered very well in the internet! The kernel is a term means the core or the central or the most important part of something. It provides basic services for all other parts of the Operating System (OS). It creates a bridge between the OS and hardware, and it helps with memory management, interrupt handling, process management, device management & control , file systems, and networking.

Kernel is often compared with a shell, which is the outermost part of an OS that interacts with user commands. Kernel and shell are terms widely used in Unix the core programming language in Linux. A kernel is not a basic input/output system (BIOS), which is an independent program stored on a chip within a computer's circuit board. There are types of kernel such as: microkernels and monolithic kernels as well as a hybrid kernel.

Microkernels vs. Monolithic kernels Kernels fall into two main architectures: monolithic and microkernel. The main difference between these types is the number of address spaces they support. A microkernel delegates user services and kernel services in different address spaces, whereas monolithic kernels implement services in the same address space.

The microkernel has all of its services in the kernel address space. The monolithic kernel is larger because it houses both kernel and user services in the same address space.

Communication protocol also differs between the two, with monolithic kernels using a faster system call to execute processes between the hardware and software. Microkernels use message passing, which sends data packets, signals and functions to the correct processes.

Microkernels provide greater flexibility; to add a new service, admins can modify the user address space. Monolithic kernels require more work because admins must reconstruct the entire kernel to support the new service.

Because of their isolated nature, microkernels are more secure and remain unaffected if one service within the address space fails. Monolithic kernels pose a greater security risk to systems because, if a service fails, then the entire system shuts down.

Monolithic kernels don't require as much source code as a microkernel, which means they are less susceptible to bugs.

Examples of microkernel based OSs are Mac OS X, Windows NT, QNX, L4 and HURD. Examples of monolithic kernels are those used in Unix and Linux.

It is good to note that monolithic kernel is much older than microkernel, the idea was conceived at the end of the 1980's.

Yes, every system has it is own unique core (i.e. Kernel) which has different ways of handling system resources and bridging between software/hardware.

More information are in this article: More details and very interesting article can be reached in here