A fork of FlingOS, an educational operating system written in C#.
FlingOS is an educational operating system developed to provide high-quality resources for learning OS and low-level development.
It was written in 2015/16 at a time when the Microsoft .Net Framework didn't allow compilation to native code. FlingOS uses a custom MSBuild task to transform the Microsoft C# compiler's generated IL code to CPU-specific instructions. Compiling to x86 and MIPS architectures is supported.
Fast forward to 2024 and Microsoft .Net 7/8+ supports compilation to native machine code. FlamingOS aims to remove the hand-rolled IL-to-CPU compilation and replace it with the standard .Net 7/8+ tooling, drastically simplifying the codebase and leveraging contemporary .Net tooling.
However, it's acknowledged that reducing the codebase will also reduce the educational value, which is why this fork was created (ie. to preserve the educational aspects afforded by FlingOS's IL-to-CPU approach).
FlingOS, as an education operating system, already provides substantial documentation (eg. README.md, Wiki, Website). Documentation updates/additions/changes etc generated through the development of FlamingOS will be hosted separately to FlingOS, either within this repository or as advised.
GNU GENERAL PUBLIC LICENSE, Version 2, as per FlingOS's original licensing requirement.
This repository retains FlingOS's original commit history, adding further code changes made in the development of FlamingOS in a fully open and transparent manner (eg. you will be able to query the combined FlamingOS + FlingOS commit history with git diff
, for instance).