uBixOS is a monolithic kernel targeting i386 (IA-32). The scheduler uses a
32-level priority bitmap — a bitmask approach that makes "find the highest
priority runnable task" a single bsf instruction.
Scheduling is O(1) regardless of how many tasks are sleeping.
The VMM has been overhauled from a flat array of VMAs to a red-black tree,
matching the architecture of FreeBSD's vm_map and Linux's
mm_struct. Every page fault, mmap, and munmap is now O(log n).
uBixOS boots from FAT-formatted disk images and exposes a POSIX-compatible VFS layer. procfs provides runtime process introspection without a separate process.
ps, top, and the shell read process state
directly from the kernel through normal file reads — no extra syscall needed.
A hand-written UHCI host controller driver handles USB enumeration, descriptor parsing, and two device classes: HID keyboards and bulk mass storage (BBB protocol).
The Intel AC97 audio codec driver uses DMA ring buffers to stream PCM audio without CPU intervention. Doom's music and sound effects play through the same driver.
Views is uBixOS's windowing compositor. It supports overlapping windows, a taskbar with an application launcher, a login screen, and per-pixel alpha blending for window chrome.
uBixOS has a configurable, themeable desktop. The wallpaper, background mode, and accent color are all stored per-user in the registry and applied live by the compositor — no reboot, no config files to hand-edit.
ubistry is uBixOS's system registry — a hierarchical, typed configuration tree that the desktop, theming, start menu, and network stack all read from. The 2004-era flat key/value store was rewritten into a path-addressed tree persisted to disk and served over MPI.
/var/db/ubistry.db (boot load, coalesced flush)ubix_api client lib with per-user override resolutionulog() system log — klog_write → logd → /var/log/messages/views/startmenuviews/desktop/mode is the machine default;
/users/<name>/views/desktop/mode is a per-user override. The
client resolves user-first then falls back — so the daemon stays simple
and every app gets layered config for free.
uBixOS runs the lwIP TCP/IP stack in-kernel. A UbixOS-native
net_configure() syscall lets userland push a network configuration
— DHCP or static — into the stack, driven from the registry and the
Settings Network pane.
net_configure() syscall (slot 59) applied on the tcpip threadbin/netcfg reads /net/* at boot and is re-run by Settings/net/* to the registry and runs netcfg,
which calls into the kernel to reconfigure the live lwIP interface.
musl libc 1.2.5 provides a full POSIX C standard library. A custom ELF dynamic
linker bootstraps shared-library loading at process startup — the same
mechanism Linux uses. Every user account defaults to /bin/tcsh, and a
busybox 1.36.1 userland fills out the command set.
vi for in-system text editingsetenv,
job control (Ctrl-Z / fg), and shell scripts all work
the way a Unix user expects.
Two fully playable games ship with uBixOS. They're not tech demos — they exercise every layer of the stack: scheduler, VMM, VFS, USB input, AC97 sound, and the Views compositor.