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 | Back  
 
Google Search
SourceDownload
Intel Manuals
OS Resources
Forums
Contact
Status of Project
Papers

Contributers
of the project and sponsors

How the User services take control ?.

ManRiX Microkernel contains just few basic components of an Operating System. Those components that are not required inside the microkernel are implemented as user process. ManRiX has its own set of Standard C library conforming to ANSI C and POSIX. The system services and drivers can easily use the standard C library but the Driver writers should be cautious to see the chicken or egg problem does not arise. The system services are based on Client Server architecture. All the applications use message passing to communicate with the servers. All servers are multithreaded. They implement a pool of threads called worker threads which do the actual work on request arrival. The listener thread listens for the request and passes it to the worker threads.

A special technique is used reduce the number of message passing for I/O managers. Using this technique, after an open call, the applications can directly send read, write, ioctl etc to I/O manager. For an example, if an application opens a file “/dev/ttyS0” (serial port), it can directly call the serial driver without going through File System. It is achieved by using a multiplexed file descriptor where first 16 bit is the file descriptor and the other 16 bit is the thread id of the thread managing that I/O device.
For Non I/O managers, there is a separate namespace server that resolve server name to its thread id.

File System Manager:  
File system manager manages the various filesystem. Actually It implements VFS(virtual files system) concept which gives the generic interface so that different filesystem which reside beneth it can use same interface. So the VFS is based on object oriented concept. Each file is represented by VNODE.ManRiX is conforming to POSIX so the file system is based on UNIX. File System manager uses VNODE/VFS architecture. It makes possible to support multiple file systems (like fat, ext2/3, ufs, ntfs etc.).
Floppy Manager    
floppy manager manages the floppy controller
Console Manager  
ManRiX has a POSIX terminal support. It can support more than one terminal. The Console manager manages the Keyboard Driver and the Text console driver. So, when an application do printf( ), the message is sent to the console manager which displays the output to the terminal associated with that process.
Bus Manager
ManRiX manages almost all devices in User Space. The Bus manager manages the various buses like PCI, USB etc. So, if any other driver manager needs to read Configuration space of its device (connected to PCI BUS), it requests the BUS manager through IPC. Up to now there is no support of USB Driver
ATA Manager  
The ATA manager manages ATA/ATAPI devices. They are popularly known as Integrated Device Electronics (IDE). The file manager requests the ATA manager if it needs to read/write a disk block.
Miscellaneous Managers  

It manages the devices whom don't have their own servers. In ManRiX the CPU Driver information is implemented in miscellaneous manager.

 
 
   
             
©2005 ManRiX Project