Microkernel architecture
-
Upload
rqk-khan -
Category
Technology
-
view
3.062 -
download
1
description
Transcript of Microkernel architecture
![Page 1: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/1.jpg)
MICROKERNEL ARCHITECTURE
PRESENTATION PRESENTED BY
REEMA QAISER KHAN
![Page 2: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/2.jpg)
INTRODUCTION
KERNEL: Is an important part of the operating system.
An operating system itself consists of two parts; the kernel space (privileged mode) and the user space (user mode).
PRIVILEGED MODE: Privileged mode or kernel mode is the processing mode that allows code to directly access to all hardware and memory in the system.
USER MODE: Is the processing mode in which applications run.
![Page 3: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/3.jpg)
There are two different concepts of kernels:
1- Monolithic Kernel2- Microkernel
MONOLITHIC KERNEL: It runs every basic system service like process and memory management, interrupt handling and I/O communication, file system etc. in kernel space.
Examples are Linux, Unix.
![Page 4: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/4.jpg)
Three drawbacks: Kernel size is too large. Lack of extensibility. Bad maintainability. Bug fixing or adding a new feature
means recompilation of the whole kernel. To overcome these limitations of extensibility and maintainability, the idea of microkernel appeared at the end of the 1980’s.
![Page 5: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/5.jpg)
MICROKERNEL: The kernel is broken down into separate processes, known as servers. Some of the servers run in kernel space and some run in user-space. All servers are kept separate and run in different address spaces.
The communication in microkernels is done via message passing. The servers communicate through InterProcess Communication IPC.
Servers invoke “services” from each other by sending messages.
Advantage is this that if one server fails, other servers can still work efficiently.
Examples are Mac OS X and Windows NT.
![Page 6: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/6.jpg)
![Page 7: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/7.jpg)
ARCHITECTURE OF MICROKERNEL
Absolutely essential core OS functions should be in the kernel, less essential services and applications are built on the microkernel and executed in user mode.
Many services that traditionally have been part of the OS are now external subsystems that interact with the kernel and with each other; these include device drivers, file systems, virtual memory manager, windowing system and security system.
The microkernel functions as a message exchange. It validates messages, passes them between components and grants access to the hardware, it also prevents message passing unless exchange is allowed.
![Page 8: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/8.jpg)
BENEFITS OF MICROKERNEL ORGANIZATION
USER INFACES: The kernel level services and the user level services have a uniform interface for processes which use their services by means of message passing.
EXTENSIBILTY: New services can be added.
FLEXIBILTY: Services can be subtracted or modified.
![Page 9: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/9.jpg)
PORTABILITY: All or at least much of the processor specific code is in the microkernel. So the changes needed to port the system to a new processor are fewer and are arranged in logical groupings.
RELIABLITY: Smaller kernel makes its implementation likely to be more reliable.
DISTRIBUTED SYSTEM SUPPORT: A process can send a message without knowing on which computer the target service resides. Pieces can be on another machine.
![Page 10: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/10.jpg)
OBJECT-ORIENTED OPERATING SYSTEM:
An object-oriented approach can lend discipline to the design of microkernel. One promising approach is the use of components. Components are objects with clearly defined interfaces that can be interconnected to form software in a building block fashion. All interaction between components uses the component interface.
![Page 11: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/11.jpg)
MICROKERNEL PERFORMANCE
A potential disadvantage of microkernel is its performance. It takes longer to build and send a message via the microkernel, and accept and decode the reply, than to make a single service call.
![Page 12: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/12.jpg)
One response to this problem is to enlarge the microkernel. It would improve the performance but would effect the microkernel design strengths i.e. minimal interfaces, flexibility and reliability.
Another approach is to make microkernel smaller. This improves the performance as well as flexibility and reliability.
![Page 13: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/13.jpg)
MICROKERNEL DESIGN
The microkernel must include those functions needed to support the services and applications operating in user mode. These functions fall into the general categories of low-level memory management, interprocess communication (IPC), and I/O interrupt management.
![Page 14: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/14.jpg)
LOW-LEVEL MEMORY MANAGEMENT:
The microkernel control the hardware concept of address space to make it possible to implement at the process level.
A virtual memory module outside the microkernel decides when to bring a page into memory and which page already in memory is to be replaced; the microkernel maps these page references into a physical address in main memory.
![Page 15: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/15.jpg)
INTERPROCESS COMMUNICATION (IPC):
The basic form of communication between processes or threads in microkernel operating system is messages. A message includes a header that identifies the sending and receiving process and a body that contains direct data, a pointer to a block of data, or some control information about the process.
![Page 16: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/16.jpg)
I/O AND INTERRUPT MANAGEMENT: With microkernel architecture it is
possible to handle interrupt as messages and to include I/O ports in address spaces.
![Page 17: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/17.jpg)
CONCLUSION Operating system has two parts kernel mode and user mode. Microkernel has separate processes known as servers. Some
run in kernel space and some run in user space. In microkernel the user mode is an external subsystem which
includes services such as device drivers file systems, virtual memory manager, windowing system, and security system.
The essential OS functions are included in kernel mode where as the less efficient are built in microkernel but executed in user mode.
Communication between the processes is done via message passing.
They can do message passing within a mode with each other or with processes residing in the other mode.
Microkernel’s performance is not good because message passing takes a lot of time.
Its performance can improve by making the kernel size smaller.
![Page 18: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/18.jpg)
Microkernel uses a virtual memory. Handles interrupts as messages and
includes I/O ports in address space.
![Page 19: Microkernel architecture](https://reader036.fdocuments.in/reader036/viewer/2022082702/55619eabd8b42ad9538b488f/html5/thumbnails/19.jpg)
THANKYOU