NovaOS is a x86 protected mode operating system made in C and x86 Assembly by ArTic/JhoPro. It has a lot of features, including a GUI and a shell! This project is being actively developed as a personal journey to dive deeper into the world of operating systems. As such, NovaOS is constantly evolving, with new features and improvements being added over time. It’s a work in progress, but every update pushes the boundaries of what’s possible in this ambitious endeavor.
NovaOS.GUI.mp4
NovaOS.Shell.mp4
NovaOS will only work on QEMU, so it can have more easily and readable operations and functions.
- ✅ VBE Support (800x600 8bpp)
- ✅ Global Descriptor Table (GDT)
- ✅ Entering Protected Mode
- ✅ Fonts and Print Functions
- ✅ Interrupts (IDT, ISR, IRQ)
- ✅ Keyboard Driver
- ✅ Mouse Driver
- ✅ Memory Management
- ✅ File System
- ✅ Shell
- ✅ Graphical Interface (GUI)
- ✅ ELF Loader
- ✅ Task State Segment (TSS)
- ✅ Network Driver
- ✅ Audio Driver
- ❌ FAT32 Support
- ❌ OpenGL-like API
- ❌ Integrated Development Environment (IDE)
- ❌ C/C++ Compiler
- ❌ Processes
- ❌ Multitasking
- ❌ Installation Setup
- ❌ Web Browser
- ❌ User Documentation
i686 elf gcc and nasm
Run the make.bat script for windows (Not included bash)
use qemu-img create -f raw disk.raw 256M
and then qemu-system-x86_64 -device sb16 -net nic,model=rtl8139 -net user -drive file=NovaOS.img,format=raw,if=ide,index=0 -drive file=disk.raw,format=raw,if=ide,index=2
NovaOS is an Open Source project, so everyone can contibute for it! You can help me starring/forking this project or help with code using pull requests (and optimize more!)