NovaOS: Building a 16-bit OS from Scratch
For anyone interested in the low-level grit of OS development, this is a great example of a "from scratch" build. It's essentially a modern take on the MikeOS philosophy, running inside QEMU.
Core Technical Features
The current build isn't just a bootloader; it has a functioning ecosystem:
- CLI Toolset: Includes standard file operations like
DIR,CAT,COPY, andDEL. - Language Support: A built-in BASIC interpreter for executing simple scripts.
- Filesystem: Full FAT12 implementation to handle data persistence on floppy images.
- Text Editing: A native editor called NovaPad.
Deployment and Testing
If you want to test a 16-bit kernel locally, QEMU is the standard. Once you have the ISO, the deployment is a single command:
qemu-system-x86_64 -cdrom NovaOS.isoThe Learning Curve
Developing at this level reveals exactly why modern AI workflows are so critical—debugging Assembly without a high-level debugger is brutal. Most of the "debugging" in projects like this happens through manual register tracking and print-style logging.
The roadmap for NovaOS highlights the classic OSDev progression: moving from 16-bit real mode to 32-bit Protected Mode to break the memory barrier and implementing a proper GUI with window management.
For those looking for a practical tutorial on how to start, looking at the source of projects like this is better than any textbook. It shows the actual jump from a boot sector to a kernel that can execute high-level commands.
Source: github.com/danieldevir/NovaOS