Skip to content

A fork of FlingOS, an educational operating system written in C#.

License

Notifications You must be signed in to change notification settings

FrankRay78/FlamingOS

Repository files navigation

FlamingOS

A fork of FlingOS, an educational operating system written in C#.

Background

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).

Documentation

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.

License

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).

About

A fork of FlingOS, an educational operating system written in C#.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published