Skip to Content

Exploring Anos: A Non-POSIX Hobby Operating System

9 April 2026 by
Suraj Barman
Advertisement

An Introduction to Anos: A Modern Hobby Operating System

Anos is a non-POSIX operating system designed as a hobby project, targeting x86_64 PCs and RISC-V machines. Despite its modest aspirations, it has achieved significant milestones, including support for user mode preemptive multitasking across up to 16 CPUs and the ability to run functioning device drivers in userspace. Though not yet a fully-fledged operating system, Anos has reached toy kernel status and has the capability to operate on real hardware. The project is licensed under the GPLv2, incorporating linkage exceptions similar to other major free software systems.

The Architecture of Anos

At its core, Anos is built around the STAGE3 microkernel, which provides essential features like scheduling, memory management, and IPC (inter-process communication) primitives. This microkernel operates with a non-zealous design philosophy, offering only the bare minimum drivers required for kernel-specific hardware functionality. The system also employs synchronous, zero-copy message passing for efficient communication.

Decisions regarding the kernel architecture remain flexible, with many aspects subject to change as the project evolves. However, the kernel has been designed from the outset as a 64-bit system, allowing the exploration of unique features and ideas that would not be feasible otherwise. Supported architectures include both x86_64 and RISC-V, and the kernel's syscall interface is deliberately small and targeted for optimal performance.

Usability Through the Usermode Supervisor

To bridge the gap between hardware and applications, Anos includes a usermode SYSTEM supervisor that provides essential operating system services. This supervisor plays a critical role in coordinating the activities of other services, including hardware drivers for PCI and AHCI via a capability-based MMIO system. The SYSTEM supervisor serves as the bootstrap layer for userspace processes, ensuring seamless interaction with the underlying kernel.

The design philosophy limits most user processes to minimal syscall capabilities, pushing them to rely on specific services provided by the SYSTEM supervisor. This approach ensures a controlled and secure execution environment while maintaining the modularity of the operating system.

Experimental Toolchain and Development Environment

Anos comes with a work-in-progress toolchain that includes components such as Binutils, a pre-release version of GCC 16, Newlib, and a custom libgloss. This toolchain is tailored to support the unique requirements of the Anos operating system, enabling developers to build and run software within its ecosystem. The experimental nature of the toolchain underscores the projects research-oriented goals and its commitment to exploring novel system design approaches.

While the toolchain is still under active development, it provides a foundational framework for developers to experiment with and contribute to the system. The documentation and source comments aim to be as detailed as possible, offering insights into both the current implementation and the potential future directions of the project.

Future Directions and Flexibility

The Anos operating system is a dynamic and evolving project, with many aspects of its design still under exploration. The developer behind Anos is actively experimenting with a variety of ideas, leveraging the freedom provided by its 64-bit architecture. This experimental nature allows for the integration of advanced features and optimizations that set Anos apart from more traditional systems.

Although the kernel and related components are still in their early stages, the project demonstrates a clear commitment to maintaining a balance between minimalism and functionality. This focus ensures that Anos remains accessible to hobbyists and developers while also serving as a platform for exploring new concepts in operating system design.

Conclusion

Anos represents a fascinating endeavor in the field of operating systems, combining a non-zealous microkernel architecture, preemptive multitasking, and a tightly integrated development environment. While it is not intended to rival professional systems like GNU/Linux, its innovative approach to system design makes it an intriguing project for developers and enthusiasts alike. As the project evolves, it will continue to offer insights and opportunities for those interested in the foundations of operating system development.