SourceForge.net Logo

ManRiX
THE DESIGN OF ROBUST AND EFFICIENT MICROKERNEL

Support This Project Donation
  Development :
 
     Mailing List Archive
  Downloads
  Sources
  FAQS
  Resources
  Developers
  Browse CVS

Ext2Read project:
This is the project we have done which read ext2 partition from the DOS.
To Download click

Home
 
Google Search
SourceDownload
Intel Manuals
OS Resources
Forums
Contact
Status of Project
Papers

Contributers
of the project and sponsors

This Article Describes how ManRiX is loaded to the primary memory.Steps are given from loading the microkernel by GRUB bootloader upto the init process loading.

Initialization of ManRiX microkernel is highly architecture dependent. We give a brief overview how ManRiX boots in i386 systems. ManRiX can only be loaded by Grub (Boot Loader) or any multi boot complaint boot loaders. All executables are in UNIX ELF format. Since, the microkernel is not capable of loading whole Operating System; some extra modules need to be loaded by the boot loader. Boot loader typically loads Kernel, Console Manager, ATA and Floppy Manager, Bus Manager, File Manager and init process.

The boot loader then passes the control to the entry point of the kernel which is _start and it jumps to kernel_entry. The initializer part


1. Disables interrupt.
2. Sets up the PAGE sized STACK (statically allocated) and switches to new stack.
3. Calls multiboot_parse which checks if we are correctly loaded by a multiboot complaint boot loader.
4.Calls the main C function ManRiX_main (architecture independent)
5. Call arch_setup; which does architecture specific setup. It
o initializes paging
o setup descriptors
o initializes traps
6. Initialize VM Manager
7. Initialize Process and thread subsystem
8. Initialize Scheduler
9. Initialize IRQ
10. Initialize Timer
11. Initialize SMP
o if not SMP system, do nothing and return
o initialize Application Processors (AP)
o create idle threads
12. Initialize Module
13.Enable interrupts and become the idle thread for boot strap processor (BSP).

 
 
   
             
©2005 ManRiX Project