Skip to content

Latest commit

 

History

History
52 lines (38 loc) · 3.73 KB

README.md

File metadata and controls

52 lines (38 loc) · 3.73 KB

English | Français | 简体中文 | Polski

Cosmos gen3

A bare-metal C# kernel framework built on NativeAOT. Cosmos gen3 is the next generation of the Cosmos operating system project, replacing the IL2CPU transpiler with the official .NET ahead-of-time compiler. The result is an ordinary dotnet build that produces a bootable kernel ELF for x64 or ARM64, linked with an integrated runtime, plugged with the Cosmos plug system, and packaged into an ISO with the Limine bootloader.

Originally based on Zarlo's NativeAOT patcher. See CosmosOS/Cosmos#3088 for the design discussion behind the gen3 effort.

Why gen3?

Cosmos gen2 compiled C# IL to x86 assembly through IL2CPU, a custom transpiler. IL2CPU is powerful but maintains its own JIT-like backend separate from the .NET ecosystem. Gen3 replaces it with NativeAOT, the official .NET ahead-of-time toolchain, so kernels benefit from the same optimizer used in the wider .NET ecosystem and stay aligned with upstream as it evolves. This also makes it possible to support modern .NET features and additional architectures (currently ARM64 and RISC-V in the future) without re-implementing them in the toolchain.

Features

Documentation

Documentation site: split into a User Guide (build your own OS with Cosmos) and Contributor Docs (contribute to Cosmos itself / architecture internals).

License

BSD 3-Clause, the original Cosmos license. Copyright (c) 2007-2026, CosmosOS, COSMOS Project.