Fusion OS: writing an OS in Nim

I decided to document my journey of writing an OS in Nim. Why Nim? It’s one of the few languages that allow low-level systems programming with deterministic memory management (garbage collector is optional) with destructors and move semantics. It’s also statically typed, which provides greater type safety. It also supports inline assembly, which is a must for OS development. Other options include C, C++, Rust, and Zig. They’re great languages, but I chose Nim for its simplicity, elegance, and performance.

↫ Fusion OS documentation website

I love it when a hobby operating system project not only uses a less common programming language, but the author also details the entire development process in great detail. It’s not a UNIX-like, and the goals are a single 64 bit address space, capability-based security model, and a lot more. It’s targeting UEFI machines, and the code is, of course, open source and available on GitHub.

7 Comments

  1. 2024-07-15 8:54 am
    • 2024-07-15 12:06 pm
    • 2024-07-16 8:07 am
      • 2024-07-16 11:01 am
        • 2024-07-17 9:47 am
        • 2024-07-18 9:23 am
          • 2024-07-18 1:52 pm