Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Monolithic kernel vs.   Microkernel     Benjamin Roch        TU Wien    phibre@gmx.net
ABSTRACT• The author Benjamin Roch explains the two  kernel architectures of operating systems: the  monolithic kernel and...
INTRODUCTION• The author refers to the fact that kernel is an  important part of the operating system.• Operating system i...
• In monolithic kernel the author tells us that it  runs every basic system service in kernel  space.
• It has three drawbacks, the kernel size, lack of  extensibility, and bad maintainability.• Whereas the concept for micro...
Comparison Between Basic Concepts    Of The Two Approaches:• The author Benjamin Roch introduces the  basic concepts of op...
Inter Process Communication:• The author examines three concepts of inter  process communication (IPC). First concept is  ...
• A system more powerful than sockets are  message queues. Built as a FIFO queue, a  message queue stores all incoming mes...
Memory management• The author discusses about the memory management in  monolithic kernel and first and second generation ...
Security And Stability• Excluding system processes from kernel space  is a way to make the system stable. Another  argumen...
I/O Communication• I/O communication works through  interrupts, issued by or sent to the hardware.  Monolithic kernels (an...
Extensibility And Portability• Adding new features to a monolithic system  means recompilation of the whole  kernel, often...
Implementations• The author just gives a short overview  presenting implementations of monolithic  kernels, microkernels a...
• Microkernel:- QNX (QUICK UNIX)- L4• CONCLUSION:• According to the author L4 and QNX have  proven that speed is not an ar...
REFERENCES•   [1] Frank Kolnick. The qnx 4 real-time operating system.Jul 2000.•   [2] Jochen Liedtke. On micro-kernel con...
Monolithic kernel vs. Microkernel
Monolithic kernel vs. Microkernel
Upcoming SlideShare
Loading in …5
×

Monolithic kernel vs. Microkernel

10,988 views

Published on

The presentation has been made on the research paper written by Benjamin Roch and TU Wien.

  • Be the first to comment

Monolithic kernel vs. Microkernel

  1. 1. Monolithic kernel vs. Microkernel Benjamin Roch TU Wien phibre@gmx.net
  2. 2. ABSTRACT• The author Benjamin Roch explains the two kernel architectures of operating systems: the monolithic kernel and the microkernel.• A comparison of benefits and disadvantages of both architectures.• Their examples where they are implemented.
  3. 3. INTRODUCTION• The author refers to the fact that kernel is an important part of the operating system.• Operating system itself consists of two parts: the kernel space (privileged mode) and the user space (unprivileged mode).• There are two concepts of Kernels: Monolithic Kernel and Microkernel.
  4. 4. • In monolithic kernel the author tells us that it runs every basic system service in kernel space.
  5. 5. • It has three drawbacks, the kernel size, lack of extensibility, and bad maintainability.• Whereas the concept for microkernel was to reduce the kernel to basic process communication and I/O control, and let the other system services reside in user space in form of normal processes (as so called servers).• The author also examines the two generations of microkernels.
  6. 6. Comparison Between Basic Concepts Of The Two Approaches:• The author Benjamin Roch introduces the basic concepts of operating systems, with their realizations in the two different architectures.
  7. 7. Inter Process Communication:• The author examines three concepts of inter process communication (IPC). First concept is signals. It is widely used in UNIX systems.• Signals are predefined numerical constants, e.g. KILL, STOP, etc., which are sent to the user, the operating system or another process.• Second concept for communication is sockets. A process binds itself to one socket (or more), and “listens” to it i.e. from then on, it can receive messages from other processes.
  8. 8. • A system more powerful than sockets are message queues. Built as a FIFO queue, a message queue stores all incoming messages, sent by other processes and sorts them, based on their priority.• Monolithic Kernels uses “signals” and “sockets”.• The microkernel approach uses message queues.
  9. 9. Memory management• The author discusses about the memory management in monolithic kernel and first and second generation microkernels.• According to the author Monolithic Kernel implements everything needed for memory management in kernel space. This includes allocation strategies, virtual memory management, and page replacement algorithms, as shown in Figure 3.• According to the author, first generation microkernels delegate the memory management to user space, controlling just the basic access rights as shown in Figure 4.• Second generation microkernels have more refined strategies, e.g. L4. With L4 every process has got three memory management primitives: map, grant and flush.
  10. 10. Security And Stability• Excluding system processes from kernel space is a way to make the system stable. Another argument for a true microkernel is its code size.• So it is better to built a small kernel, than a big one. That way, stability issues are simpler to solve with that approach.
  11. 11. I/O Communication• I/O communication works through interrupts, issued by or sent to the hardware. Monolithic kernels (and most of the first generation microkernels) run device drivers inside the kernel space. Hardware interrupts are directly handled by kernel processes.• The microkernel approach doesnt handle I/O communication directly. It only ensures the communication. Requests from or to the hardware are redirected as messages by the microkernel to the servers in user space.
  12. 12. Extensibility And Portability• Adding new features to a monolithic system means recompilation of the whole kernel, often including the whole driver infrastructure.• In case of microkernel the services are isolated from each other through the message system.
  13. 13. Implementations• The author just gives a short overview presenting implementations of monolithic kernels, microkernels and hybrids.• Monolithic Kernel:- GNU/Linux• Hybrid Kernel:- Mach- Windows NT
  14. 14. • Microkernel:- QNX (QUICK UNIX)- L4• CONCLUSION:• According to the author L4 and QNX have proven that speed is not an argument against microkernels anymore.• They are more easily maintainable than their monolithic counterparts. Microkernel systems can be easily extended and modified.
  15. 15. REFERENCES• [1] Frank Kolnick. The qnx 4 real-time operating system.Jul 2000.• [2] Jochen Liedtke. On micro-kernel construction. 15th ACM Symposium on Operating System Principles (SOSP), December 1995.• [3] Jochen Liedtke. micro-kernels must and can be small. 5th Workshop on Object- Orientation in Operating Systems (IWOOOS), October 1996.• [4] Jochen Liedtke. Achieved ipc performance (still foundation for extensibility). 6th Workshop on Hot Topics in Operating Systems (HotOS), May 1997.• [5] William Stallings. Operating systems. internals and design principles. 3rd (international) edition.1998.• [6] Lok Sun Nelson Tam. A comparison of l4 and k42 on powerpc. The university of New South Wales, Dec 2003.

×