explaingit

iamdaven/miraos

Analysis updated 2026-05-18

1CAudience · developerComplexity · 5/5LicenseSetup · hard

TLDR

A from-scratch 64-bit x86 operating system written in C and Assembly as a learning project, covering bootloader, kernel, memory management, multitasking, drivers, and a minimal shell.

Mindmap

mindmap
  root((MiraOS))
    Boot Process
      Custom BIOS sector
      No GRUB
      Kernel handoff
    Kernel
      GDT IDT setup
      Memory paging
      Heap allocator
    Features
      Multitask scheduler
      RAM filesystem
      Networking hooks
    Drivers
      Display keyboard
      Mouse timers
      Minimal shell
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study how a bootloader, kernel, memory paging, and process scheduler are implemented by reading a complete working example.

USE CASE 2

Use MiraOS as a starting point for building your own OS kernel features like a custom filesystem or new device driver.

USE CASE 3

Run the OS in a virtual machine to observe how the boot sequence and kernel initialization actually execute.

What is it built with?

CAssemblyx86_64

How does it compare?

iamdaven/miraosadroxz1122/injected-host-enumerationloganw234/mercenaries2
Stars111
LanguageCCC
Setup difficultyhardmoderatehard
Complexity5/53/55/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires an x86 emulator like QEMU and a cross-compiler toolchain to build and run the OS from source.

GPL 3.0, you can use and modify freely, but if you distribute a modified version you must also release the source code under GPL 3.0.

In plain English

MiraOS is an operating system written from scratch in C and Assembly, built as a learning project for understanding how operating systems work at a low level. It targets 64-bit x86 hardware and runs in a virtual machine or emulator. The project covers the core parts of what makes an operating system function. It includes a custom bootloader that loads the kernel directly without relying on GRUB, a kernel that sets up the fundamental CPU data structures (GDT and IDT), manages memory with paging and a simple heap allocator, and runs multiple tasks through a basic scheduler. There is a RAM-based virtual filesystem that stores files entirely in memory, basic networking hooks, and driver support for display, keyboard, mouse, and timers. A minimal graphical shell provides a simple interface. The codebase is organized into folders for each major subsystem: boot code, CPU and hardware setup, kernel core, drivers, filesystem, networking, interface, and shared utilities. The README describes the boot sequence as starting with a BIOS sector that displays a brief message and pauses while the kernel is loaded from outside before handing over control. This is a from-scratch educational project rather than a usable general-purpose operating system. It is intended to demonstrate and explore how the fundamental pieces of an OS fit together. The project is released under the GPL 3.0 license, which requires that any modified version you distribute must also be made available under the same terms.

Copy-paste prompts

Prompt 1
How does MiraOS boot without GRUB and what happens during the BIOS sector startup sequence?
Prompt 2
How is memory management implemented in MiraOS, specifically paging and the heap allocator?
Prompt 3
How does the MiraOS scheduler work and what process model does it use for multitasking?

Frequently asked questions

What is miraos?

A from-scratch 64-bit x86 operating system written in C and Assembly as a learning project, covering bootloader, kernel, memory management, multitasking, drivers, and a minimal shell.

What language is miraos written in?

Mainly C. The stack also includes C, Assembly, x86_64.

What license does miraos use?

GPL 3.0, you can use and modify freely, but if you distribute a modified version you must also release the source code under GPL 3.0.

How hard is miraos to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is miraos for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub iamdaven on gitmyhub

Verify against the repo before relying on details.