Welcome to XOmB!
What is XOmB? (pronounced Zombie)
XOmB is the name given to a 64-bit exokernel and the project to create it. The XOmB project was started as a collective effort by Computer Science and Computer Engineering students at the University of Pittsburgh.
The XOmB kernel is being written under the BSD license, giving developers the flexibility to utilize, change, and redistribute XOmB kernel code as they see fit.
What is InfantXOmB?
In order to produce a functional operating system from the XOmB kernel, multiple LibOSes must be written. As a test system, the XOmB project will produce and release "InfantXOmB," a bundling of the XOmB kernel with the most basic of LibOSes required for a working system.
What is an exokernel?
An exokernel is a paradigm of operating system development that takes many of the responsibilities of the kernel and ports them to individualized LibOSes (Operating System Libraries). The result is a highly-efficient and exceedingly fast kernel given the responsibility of memory management only.
With the development of LibOSes, XOmB-based operating systems can be written to be highly compatible and exceedingly flexible.
Exokernels depend upon their LibOSes for their high-level functionality. Because LibOSes are independent entities, exokernels are designed inherently with multi-threading support. As a result, exokernels fit exceedingly well into multi-core or multi-processor systems. Conversely, current monolithic operating systems (such as Windows, Unix, etc.) have poor multi-processing support; although they can be "optimized" for dual-core or quad-core machines, monolithic kernels still contain constructs that resist parallel access by multiple threads.
For more information on exokernels, please view the XOmB Exokernel article, located here.
Project Goals
- To demonstrate the feasibility of the exokernel operating system paradigm
- To document the process of operating system development
- To speed the development of operating system development by introducing the concept of the LibOS
- To provide an extensive educational resource on many topics tied to operating system development
- To involve undergrads in research topics relating to system development
- To produce a clean, legacy-free operating system
- To provide an alternative to the current monolithic paradigm of operating system development
- To learn more about the arge-application, open-source software development process
Possible Applications of the XOmB Kernel
- Because of its multi-processor support, XOmB-based operating systems will be well-suited to large data management / super computing applications
- XOmB can be applied well to systems requiring applications compiled for different operating systems (e.g. Macintosh OS X and Windows) to run side-by-side without compromised performance
Whats with that name anyway?!
The name XOmB was chosen somewhat at random. The developers wanted a name that incorporated the XO (standing for exokernel) in the name, yet wanted something that sounded cool (all projects have to have a cool name!!!). After they decided on the name XOmB, the developers realized just how perfect this name really was. Zombies are often portrayed as dumb, or brainless -- our exokernel is very similar as the bulk of the "thinking" happens in the libOSes.