Skip to content
/ Cosmos Public

Cosmos is an operating system "construction kit". Build your own OS using managed languages such as C#, VB.NET, and more!

License

NotificationsYou must be signed in to change notification settings

CosmosOS/Cosmos

Folders and files

NameName
Last commit message
Last commit date
Oct 1, 2023
Feb 2, 2023
Mar 10, 2024
May 10, 2024
Oct 9, 2023
Jan 25, 2024
Nov 29, 2023
Apr 10, 2024
Jan 25, 2023
May 12, 2024
Apr 8, 2023
Dec 26, 2014
Sep 26, 2023
Apr 17, 2023
Mar 27, 2018
Jun 23, 2017
Mar 13, 2023
Nov 22, 2022
Mar 7, 2022
Jan 26, 2024
Dec 27, 2022
May 25, 2022
Mar 26, 2023
Jan 2, 2024
May 4, 2024
Mar 28, 2024
Nov 28, 2022
Oct 13, 2023
Feb 13, 2020
Nov 29, 2023


Cosmos (C# Open Source Managed Operating System) is an operating system development kit which uses .NET, alongside the custom IL2CPU compiler to convert (most) C# code into a working bare-metal OS. Despite C# in the name, any .NET-based language can be used, which includes: VB.NET, IronPython, F# and more. Cosmos itself and its kernel routines are primarily written in C#, and thus the Cosmos name.

In a project, Cosmos can be thought of as a compiler and a sort-of standard library for a project. It gives the user access to often hard to find or otherwise difficult to understand tools.


Features

The following is a non-exhaustive list of features that Cosmos offers:

  • Low level assembly access and pointer memory control
  • A basic filesystem
  • Most features found in the .NET core library
  • A CPU/FPU accelerated math library
  • A basic graphics interface
  • A basic network interface
  • A basic audio interface

Setting it up

Cosmos has an article here on how to do that.

Documentation

The Cosmos documentation can be found here.

If you still have any questions on how to use Cosmos, you can open a discussion or you can join the Discord server!

The devkit changelog can be found here.

Reporting an issue

If you think you found a bug in Cosmos, please check existing issues first before opening a new one. Do not open an issue if you need help with something in Cosmos that is not a bug, if you don't know how to code it's not a Cosmos issue for example.