MOSA is an open source software project that natively executes .NET applications within a virtual hypervisor or on bare metal hardware!
The MOSA project consists of:
Compiler - a high quality, multithreaded, cross-platform, optimizing .NET compiler
Kernel - a small kernel operating system
Device Drivers Framework - a modular, device drivers framework and device drivers
Debugger - QEMU-based debugger
The target platforms are:
Intel X86/32-bit (stable)
Intel X64 (in development)
ARM v6 (in early development)
The MOSA compiler supports nearly all and object oriented non-object oriented code, including:
Generic Code (example: List<T>)
Delegates (static and non-static) and with optional parameters
Exception Handling (try, finally, and catch code blocks)
The MOSA compiler seeks to provide high quality code generation using the following optimizations:
Constant Folding and Propagation
Strength Reduction optimization
Dead Code Elimination
Single Static Assignment (SSA)
Global Value Numbering / Common Subexpession Elimination
Sparse Conditional Constant Propagation
Loop-Invariant Code Motion
Greedy Register Allocation
The MOSA project is available as a zip download or via git:
git clone https://github.com/mosa/MOSA-Project.git
You will also need the following prerequisites:
Note: The MOSA source code repository includes Qemu virtual emulator for Windows.
The CodeMaid Visual Studio Extension is strongly recommended for MOSA contributors.
The minimum supported version of Mono is 5.16.
If using the APT package manager you can use the following command to quickly set up QEMU and Mono:
sudo apt-get -y install mono-devel qemu qemu-system qemu-system-x86
Running on Windows¶
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 that can:
Compile the operating system
Create a virtual disk image, with the compiled binary and boot loader
Launch a virtual machine instance (using QEMU by default)
By default, the CoolWorld operating system demo is pre-selected. Click the
Compile and Run button to compile and launch the demo.
Join the Discussion¶
Join us on Gitter chat. This is the most interactive way to connect to MOSA’s development team.