known as unknown
known as unknown
خواندن ۲ دقیقه·۳ سال پیش

کرنل چیست؟ / what is kernel

©️ owl
©️ owl

this is not a complete doc about kernels, just short and useful.

Kernel, is a program that manages what your computer do and has complete access and control all over a system. Includes CPU resources, system memory, devices, system files, network and processes.

+] Kernel, is the CORE of a system.

For example, when you start a program, kernel transfers it to the memory and creates required processes. When an app needs memory space, kernel allocates memory space. When an app needs network connection, kernel creates the low level connections. When a program wants to run in background, kernel takes it over.

©️ searchdatacenter.techtarget.com
©️ searchdatacenter.techtarget.com


+] Kernel, is a complex software.

As the Technology grew up, newer versions of kernels released in any types.

©️ researchgate.net
©️ researchgate.net

Monolithic Kernel

It means that User Services and Kernel services in a system, execute in an unit memory space. You don't use many memories.

By doing this, the kernel size will be increased and it causes OS size increase.

+ :

  • This type of kernel, manages the memory processes and files only by system calls.
  • This process, runs faster because there's nothing between User and Kernel.

- :

  • If one service down, it affects all over the system.
  • If you want to add a new service, you need to change the OS.
©️ cleanpng.com
©️ cleanpng.com

Micro Kernel

In Micro Kernels, services run in different spaces. There are many different spaces and because of that, Kernel size and OS size, is reduced.

As we use different spaces for user service and kernel service, the connection between the application and the service is done using message parsing, which in turn reduces the execution speed.

+ :

  • If you need to add new services, they can be easily added.
  • Because this type of kernel uses separate space for user and kernel services, the connections and processing volume created between them, can reduce the overall execution time of processes.
©️ Wikipedia
©️ Wikipedia

Nano Kernel

It means that the kernel's code, as the name of it, is very small. Meaning that the code executed in the hardware is very small. This kernel supports Nanosecond performance.

©️ semanticscholar.org
©️ semanticscholar.org

Exo Kernel

Wikipedia:
Exokernel is an operating system kernel developed by the MIT Parallel and Distributed Operating Systems group, and also a class of similar operating systems. Operating systems generally present hardware resources to applications through high-level abstractions such as file systems.
©️ Wikipedia
©️ Wikipedia

Hybrid Kernel

In this type, we have a collection of micro kernel and monolithic kernel's benefits. Monolithic kernel's speed and micro kernel's modularity and partitioning.

©️ Wikipedia
©️ Wikipedia
کرنلkernel
شاید از این پست‌ها خوشتان بیاید