Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi

Similar presentations


Presentation on theme: "The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi"— Presentation transcript:

1 The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi (regmi.manish@gmail.com)regmi.manish@gmail.com Rajesh Bikram R.C. (rajesh.rc@gmail.com)rajesh.rc@gmail.com NITC (Nepal information Technology center) Singhadurbar Kathmandu, Nepal

2 Introduction Microkernel  A tiny kernel with very essential services in Kernel space and rest services in user space. ManRiX  Microkernel architecture with POSIX compliance.  Written from scratch using C & Assembly.  Separate architecture dependent and independent files.  Open Source project.

3 ManRiX’s Design  Microkernel based Design.  Only few essential services in Kernel space.  All other services in User Space.  Applications Communicate through IPC. ManRiX’s Microkernel ManRiX’s Architecture

4 Microkernel Components  Process and Threads  Process Passive Entity and Threads Active entity.  Process just encapsulates the threads and provides address space.  Memory Management  Memory Manager is based in Mach’s VM design.  VM manager is divided into two parts, the machine dependent part called that Pmap and the machine independent part called the vmmap.  Supports read/write sharing of memory and copy on write sharing of memory.  Uses a slab allocator (conceived by Solaris) to allocate kernel memory.

5 Contd…  POSIX Signal and Timers.  Signals provide a mechanism for notifying processes of system events.  26 signals standard POSIX signals and 5 are Real-time Signals.  Inter Process Communication (IPC).  IPC through Synchronous Message Passing.  Three types of messages:  SHORT: messages in CPU Registers.  LONG: Copying of messages (< 256 bytes).  MAP: Through Page Table Mapping.  Interrupt Management  Microkernel doesn’t handle interrupts in kernel space.  Microkernel acts as an IRQ redirector. User Space Applications run the Interrupt Handler.  Idle Hooking  ManRiX microkernel is capable of making effective use of idle CPU.  The user can hook a function to run when the processors are idle.

6  Kernel Preemption  Microkernel is a fully preemptible. It means that it is able to preempt a thread even if it is running in kernel mode.  Highly increases the responsiveness of the system and decreases the latencies.  Preemption can be disabled at critical section.  Symmetric Multiprocessor (SMP) support  ManRiX supports Multiprocessors.  For Now supports Intel Multi Processors (MP) systems only.  Kernel Synchronization through Spin locks.  Scheduler  Supports POSIX style scheduler.  128 priorities where numerically lower value means low priority and vice versa.  Scheduler is capable of distinguishing between interactive and non interactive threads.  Scheduler is aware of multiprocessors. Each processor has its own run queue.  Automatic balancing of Load. Contd…

7 User Space Components  Based on Client Server Architecture  Reduce IPC overhead through implementation  Important Components are:  File server.  Console server.  Separate Device Driver managers for separate devices.  Bus manager to manage PCI, USB Buses.  ATA manager for managing IDE disks.  Floppy Manager for Managing Floppy Controllers.  Miscellaneous manager for those who do not have their own server.

8 ManRiX>> Microkernel>> POSIX  Why ManRiX?  Learn how Operating Systems, Device Drivers work.  An attempt to make fast Microkernel based OS.  Why Microkernel?  Microkernel design makes ManRiX modular and scalable.  The fault in one subsystem does not bring the whole system down.  Subsystems and drivers can be restarted at runtime.  Microkernel code grows slower than that of Monolithic kernels.  Why POSIX?  End users and software developers does not need to learn ManRiX specific things.  Cuts down Training Cost and time.  UNIX/Linux programs will be source compatible with ManRiX.

9 Future Plans  High Availability Manager.  Network Manager.  Porting open source applications  Support X windows and different window managers  Port to different architectures like PPC, X86_64, Motorola, ARM etc.  Make it real time capable.

10 Q&A Thank You! http://manrix.sf.net


Download ppt "The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi"

Similar presentations


Ads by Google