Sebria OS is a minimal 32-bit operating system built from scratch in C and x86 Assembly, featuring a custom bootloader, VGA-based shell interface, multitasking, and a virtual file system. It is designed for educational purposes and runs inside QEMU.
Inspired by projects like AlexJMercer's Bootloader/Kernel
- Real mode entry at
0x7C00 - BIOS-based input and output
- Loads kernel from sector 2 onward
- Switches to protected mode using a GDT
- VGA text mode interface (80x25)
- VGA color-coded shell with UI windows
- Paging setup with flat memory model
- Cooperative multitasking via a priority-based scheduler
- User-space syscall simulation via
int 0x80
| Command | Description |
|---|---|
print |
Prints a test message |
ls |
Lists all files in the VFS |
touch <file> |
Create and write to a new file |
cat <file> |
Paginate through file contents |
diary |
Opens a text UI to save notes |
ps |
Shows running processes |
kill <pid> |
Terminates a process by PID |
dump |
Displays screen buffer contents |
virtual |
Shows virtual memory and file info |
clear |
Clears the shell display area |
halt |
Halts the OS |
- Simple in-memory structure
- Max 8 inodes (
MAX_INODES = 8) - Max 2048 bytes per file (
MAX_FILE_SIZE = 2048) - Supports
create,open,read,write,close,ls
- Supports up to 8 processes
- Priority-based scheduling
- Kernel and simulated user-level processes
docker run -it -v $(pwd):/work myos-build bash
make run # or manually: qemu-system-i386 -cdrom os-image.iso -vga stdi686-elf-gccnasmqemu-system-i386
- Disk-backed persistence (FAT/ext2)
- More robust paging and process isolation
- Basic I/O streams and redirection
- Support for external modules and drivers
MIT License
Duc Le San Diego State University — Computer Science