HTTPS clone URL
Subversion checkout URL
Clone this wiki locally
MOSA is an open source software project aiming to create a high quality, cross-platform, optimizing .NET compiler designed specifically to support a managed operating system based on the .NET framework.
The MOSA project consists of:
- Compiler - a high quality, multithreaded, cross-platform, optimizing .NET compiler.
- Kernel - a small, micro-kernel operating system.
- Device Drivers Framework - a modular, device drivers framework and device drivers.
Read our Frequently Asked Questions for more about this project.
The MOSA compiler supports:
- almost all non-object oriented code (arithmetic, assignment, bitwise logic, bitwise shifts, boolean logic, conditional evaluation, equality testing, calling functions, increment and decrement, member selection, object size, order relations, reference and dereference, sequencing, and subexpression grouping),
- basic object oriented code (such as new operator, member methods and virtual methods),
- basic type conversion (implicit type and explicit type conversion on primitives types and "is" and "as" operators),
- generic code (example, List), and
- delegates (static and non-static) and with optional parameters.
- exception handling (try, finally, and catch code blocks)
The MOSA project is available as a zip download or via git:
git clone https://github.com/tgiphil/MOSA-Project.git
You will also need the following prerequisites:
sudo apt-get -y install mono-devel qemu
Double click on the "Compile.bat" script in the root directory to compile all the tools, sample kernels, and demos.
Next double click on the "Launcher.bat" script, which will bring up the MOSA Launcher tool (screenshot below) that can:
- Compile the operating system
- Create a virtual disk image, with the compiled binary and boot loader
- Launch a virtual machine instance (QEMU by default)
By default, the CoolWorld operating system demo is pre-selected. Click the "Compiler and Emulator" button to compile and launch the demo.
We have our own IRC chat channel #mosa on irc.freenode.org. The IRC channel can be access via this browser-based client.
MOSA is licensed under the New BSD License.