Skip to content

mosa/MOSA-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bdb4eeb · Jan 24, 2017
Jan 21, 2017
Jan 14, 2017
Dec 22, 2015
Sep 25, 2016
Jan 24, 2017
Sep 25, 2016
Sep 20, 2016
Dec 25, 2014
Dec 26, 2014
Apr 24, 2016
Nov 22, 2015
Feb 15, 2015
Aug 7, 2014
Sep 20, 2016
Sep 30, 2016

Repository files navigation

Build status License Issues Stars Forks Gitter Chat

Bountysource

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 information about this project.

Current Status

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)

Getting Started

Download

The MOSA project is available as a zip download or via git:

git clone https://github.com/mosa/MOSA-Project.git

Prerequisites

You will also need the following prerequisites:

Windows

Install any Visual Studio version 2015 or newer.

All editions are supported including the fully-featured free Community Edition.

The EditorConfig plugin is recommended for MOSA contributors.

Linux

Install Mono and Qemu.

The minimum supported version of Mono is 4.4, this is not in some distributions repositories and must be added manually. A tutorial on how to do this can be found at the following URL. http://www.mono-project.com/download/#download-lin

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

Mac

Install Mono and Qemu.

Running

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 (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 "Compile and Run" button to compile and launch the demo.

MOSA Launcher

MOSA CoolWorld Demo

Join the Discussion

Join us on Gitter chat. This is the most interactive way to connect to MOSA's development team.

License

MOSA is licensed under the New BSD License.