About
Subverge is a radical and experimental, fully independent 64-bit operating system. Its shell is a programming language called omega, and the kernel runs whatever you type at the prompt directly. Everything runs in ring 0.
Subverge is a personal project and is not meant for everyday use, so do not daily drive it. It has only been run in QEMU, so read the expectations before you try it.
Features
- The shell is omega, a stack language, and the kernel runs whatever is typed at the prompt as code.
- Programs run in the kernel's address space and reach memory, I/O ports, PCI devices and the screen through ordinary words.
- Ordinals and cardinals are ordinary values that can be added, multiplied and compared.
- Each line runs as a transaction, so a failing word rolls back the whole line and the last 64 lines can be rewound.
- A quote is compiled to x86-64 the second time it runs, and the built-in disassembler shows the result beside the source.
- The tools that ship with the system are omega source that can be edited from inside the running system, and an edit that fails to build leaves the old version live.
- The four tabs are scheduled preemptively and each has its own stack, definitions and history, so a tab stuck in a loop does not block the others.
- The kernel, shell, JIT, disassembler, installer and the bootloader for installed drives were written for Subverge, and GRUB only boots the ISO.
- There is no filesystem, and an installed disk holds the bootloader, the kernel and fixed slots that are saved after every successful line.
Why
Subverge started from an interest in TempleOS and takes the idea in its own direction. Separating programs from the kernel would mean building the layer that Subverge was written to leave out.
Documentation
Start with installation and first steps, check the documentation for everything else, and read the FAQ if you have a question that is probably common.