lux (intentionally stylized in lowercase) is a portable work-in-progress microkernel written from scratch that currently runs on x86_64, with future p

Search code, repositories, users, issues, pull requests...

submited by
Style Pass
2024-10-08 19:30:06

lux (intentionally stylized in lowercase) is a portable work-in-progress microkernel written from scratch that currently runs on x86_64, with future plans for an ARM64 port. For the operating system built on the lux microkernel, visit lux-operating-system/lux.

In little over 4,000 lines [1] of code, lux implements memory management, preemptive multiprocessor priority scheduling, interprocess communication, and basic Unix-like system calls. This elimination of bloat minimizes resource consumption compared to mainstream operating systems and increases stability and memory protection. lux is developed primarily as a one-person project, both as a learning and research tool as well as a criticism of the bloat that has become normalized in modern software engineering.

lux is a microkernel that provides minimal kernel-level functionality and behaves as a wrapper for a variety of standalone servers running in user space, which provide the expected OS functionality. This design depends on a user space router (lux-operating-system/lumen) to forward or "route" messages between the kernel and the servers. The router additionally doubles as an init program. The servers implement driver functionality, such as device drivers, file system drivers, networking stacks, and other higher-level abstractions. lux, lumen, and the servers follow the client-server paradigm and communicate via standard Unix domain sockets.

Leave a Comment