Mosa.ClassLib 1.0.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package Mosa.ClassLib --version 1.0.0.3                
NuGet\Install-Package Mosa.ClassLib -Version 1.0.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Mosa.ClassLib" Version="1.0.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Mosa.ClassLib --version 1.0.0.3                
#r "nuget: Mosa.ClassLib, 1.0.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Mosa.ClassLib as a Cake Addin
#addin nuget:?package=Mosa.ClassLib&version=1.0.0.3

// Install Mosa.ClassLib as a Cake Tool
#tool nuget:?package=Mosa.ClassLib&version=1.0.0.3                

Build status License Issues Stars Forks Gitter Chat

Bountysource

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, micro-kernel operating system
  • Device Drivers Framework - a modular, device drivers framework and device drivers
  • Debugger - QEMU-based debugger

Read our Frequently Asked Questions for more information about this project.

Current Status

The target platforms are:

  • Intel X86/32-bit (stable)
  • Intel X64 (in development)
  • ARM v6 (in early development)

The MOSA compiler supports nearly all object oriented and 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
  • Inlined Expansion
  • Loop-Invariant Code Motion
  • Block Reordering
  • Greedy Register Allocation

Getting Started

Download

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

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

Prerequisites

You will also need the following prerequisites:

Windows

Install any Visual Studio version 2018 or newer. All editions are supported including the fully-featured free Community Edition.

Note: The MOSA source code repository includes Qemu virtual emulator for Windows.

The CodeMaid Visual Studio Extension is strongly recommended for MOSA contributors.

Linux

Install Mono and Qemu.

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 <pre> sudo apt-get -y install mono-devel qemu </pre>

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.

Product Compatible and additional computed target framework versions.
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.9.7.35 578 6/23/2019
1.9.7.31 522 6/23/2019
1.0.0.5 523 6/22/2019
1.0.0.3 806 6/22/2019
1.0.0.2 525 6/22/2019
1.0.0.1 1,499 4/27/2018
1.0.0 1,199 2/20/2017