Skip to main content

Micro kernel architecture

 Micro kernel architecture

What is Kernel?

A kernel is an important part of an OS that manages system resources. It also acts as a bridge between the software and hardware of the computer. It is one of the first program which is loaded on start-up after the bootloader. The Kernel is also responsible for offering secure access to the machine's hardware for various programs. It also decides when and how long a certain application uses specific hardware.

What is Microkernel?

Microkernel is a software or code which contains the required minimum amount of functions, data, and features to implement an operating system. It provides a minimal number of mechanisms, which is good enough to run the most basic functions of an operating system. It allows other parts of the operating system to be implemented as it does not impose a lot of policies.

Microkernels and their user environments are usually implemented in the C++ or C programming languages with a little bit of assembly. However, other implementation languages are possible with some high-level coding.

What is a Monolithic Kernel?

Monolithic Kernel runs all the basic system services like process management, Memory management, I/O communication, and interrupt handling, file system, etc in kernel space.

In this type of Kernel approach, the entire operating system runs as a single program in kernel mode. The operating system is written as a collection of procedures that are linked together into a large executable binary program.

1. Monolithic architecture

2.    Layerd archtecture.

3.     Virtual machine architecture

4.     Exokernel architecture

5.    Client server architecture 

6.     Micro kernel architecture

Microkernel Architecture

A Microkernel is the most important part for correct implementation of an operating system. You can see in the below-given diagram, that Microkernel fulfills basic operations like memory, process scheduling mechanisms, and inter-process communication.

Microkernel Based Operating System

Microkernel is the only software executing at the privileged level. The other important functionalities of the OS are removed from the kernel-mode and run in the user mode. These functionalities may be device drivers, application, file servers, interprocess communication, etc.

Components of Microkernel

A microkernel comprises only the core functionalities of the system. A component is included in the Microkernel only if putting it outside would interrupt the functionality of the system. All other non-essential components should be put in the user mode.

The minimum functionalities required in the Microkernel are:

  • Memory management mechanisms like address spaces should be included in the Microkernel. It also contains memory protection features.
  • Processor scheduling mechanisms should contain process and thread schedulers.
  • Inter-process communication manages the servers that run their own address spaces.

Difference Between Microkernel and Monolithic Kernel

ParametersMonolithic kernelMicroKernel
BasicIt is a large process running in a single address spaceIt can be broken down into separate processes called servers.
CodeIn order to write a monolithic kernel, less code is required.In order to write a microkernel, more code is required
SecurityIf a service crashes, the whole system collapses in a monolithic kernel.If a service crashes, it never affects the working of a microkernel.
CommunicationIt is a single static binary fileServers communicate through IPC.
ExampleLinux, BSDs, Microsoft Windows (95,98, Me), Solaris, OS-9, AIX, DOS, XTS-400, etc.L4Linux, QNX, SymbianK42, Mac OS X, Integrity, etc.

Advantages of Microkernel

Here, are the pros/benefits of using Microkernel

  • Microkernel architecture is small and isolated therefore it can function better.
  • Microkernels are secure because only those components are included that disrupt the functionality of the system otherwise.
  • The expansion of the system is more accessible, so it can be added to the system application without disturbing the Kernel.
  • Microkernels are modular, and the different modules can be replaced, reloaded, modified without even touching the Kernel.
  • Fewer system crashes when compared with monolithic systems.
  • Microkernel interface helps you to enforce a more modular system structure.
  • Without recompiling, add new features
  • Server malfunction is also isolated as any other user program's malfunction.
  • Microkernel system is flexible, so different strategies and APIs, implemented by different servers, which can coexist in the system.
  • Increased security and stability will result in a decreased amount of code which runs on kernel mode

Disadvantage of Microkernel

Here, are drawback/cons of using Microkernel:

  • Providing services in a microkernel system are expensive compared to the normal monolithic system.
  • Context switch or a function call needed when the drivers are implemented as procedures or processes, respectively.
  • The performance of a microkernel system can be indifferent and may lead to some problems.

Summary:

  • A kernel is an important part of an OS that manages system resources.
  • A microkernel is a software or code which contains the required minimum amount of functions, data, and features to implement an operating system.
  • In Monolithic Kernel approach, the entire operating system runs as a single program in kernel mode
  • A Microkernel is the most important part for correct implementation of an operating system.
  • A microkernel comprises only the core functionalities of the system.
  • A monolithic kernel is a large process running in a single address space, whereas Microkernel can be broken down into separate processes called servers.
  • Microkernel architecture is small and isolated therefore it can function better
  • Providing services in a microkernel system are expensive compared to the normal monolithic system.

Comments

Popular posts from this blog

Functions of Operating System

  Functions of operating system   5.                     protection and security : ·                       another important functions of an operating system is to protect itself from the user process and to protect different users processes from one another in a syatem. ·                       In a multi programming environment, where several users process reside in main memory at the same time, the may interface with OS or with each other. ·                       Thus, protection mechanism controls the access of users, programs and processes used by various applications. ·                       A total approach to computer security involves both external and internal security.   6.                     Networking: ·           Networking is used for exchanging    information among different computer that are distributed across various location. ·           Distributed system consist of multiple processors and each processor has its own memory and clock ·           This results in compu

OS its Resource Manager and its Function

  Operating system as resource manager:   ·           A computer system usually has many hardware and software resources such as processor , memory, disk printer, I/O devices etc. ·           The task of resources management becomes essential in multi-user operating system where different user compute for the same resource.   Operating system manages resources in two ways : 1.         Time multiplexing : it defines the sharing of resources on the basis of fixed time slices. For example, the operating system allocate the resources, such as CPUto program A for fixed time slice. 2.         Space timing:  it defines the concurrent sharing of resources among different programs.for example, sharing of hard disk and main memory is space multiplexing.     FUNCTION OF OPERATING SYSTEM     The primary function of an operating system is to provide an environment for excecution of users program . the various function of operating system are: 1.         process management 2.         main memory man

Defination of OS(operating system) and its concepts

    What do you mean by operating system?     Definition :  An operating system is a program that act as an interface between the user of a computer and the                                      Computer hardware. Operating system is a first program that gets loaded into the memory through a process called booting. Concepts of operating system : ·                       The purpose of operating system is to provide an environment in which a user can execute program in a convenient and efficient manner. ·                       Operating system is an integrated set of program that manages the various hardware resources such as processor, memory, I/O Devices , communication devices and overall operation of a computer system. ·                       Operating systems also acts as a platform on which various applications programs such as word processor and excel are executed. ·                       The most common operating system are the window family of operating system (windows 98, window

Multitasking System

  Multitasking system ·           Technically , multitasking is same as multi programming ·           In a multitasking operating system, s single user can execute multiple programs at the same time ·           We can also say, multitasking is the system capability to work on more than one job or process at the same time. ·           It means that whenever a job needs to perform I/O operation, the cpu can be used for execting some other job                                                        diagram of multi tasking     ·           There are two type of multitasking : 1.         Cooperative multitaskin g 2.         Preemptive multitasking   ·            Co operative multitasking    in cooperative multitasking , program can aquire the cpu for the required amount of time a program canshare CPU with any other program that is executing simultaneously, if it does not currently require the CPU.   ·           Preemptive multitasking . In preemptive multitasking the operating system allocat

Classification of Operating System

  Classification of operating systems The operating systems may be classified into different types depending upon the nature of interaction between the user and his/her program. The various types of operating system are : 1.       single user operating system    2.        Multi user operating system   3.         Batch processing operating system 4.        Multi programming operating system   5.       Multi tasking operating system   6.         Multiprocessing operating system 7.         Time sharing operating system 8.       Real time system      Distributed system Multi threading operating system       Single user operating system ·                       In single user operating system, a single user can access the computer at a particular time. ·                       The computer, that are based on the operating system have only single processor and execute only a single program at all the time   ·                       Single user is of two type : 1.         single user, single-tas