ToaruOS is a unique, fully-built operating system crafted from the ground up, offering an educational exploration of OS architecture. With each component developed in-house, including a kernel, GUI, and programming language, ToaruOS serves as both a resource and a playground for aspiring OS enthusiasts, fostering creativity and technical understanding without reliance on external libraries.
ToaruOS is an innovative and fully-fledged operating system designed from the ground up, tailored for x86-64 PCs with experimental support for ARMv8 architecture. This hobby project serves as both an educational tool and a comprehensive demonstration of functionalities typically found in mainstream desktop operating systems.
Overview of ToaruOS
ToaruOS is engineered to provide a rich learning experience rooted in practical implementation, making it perfect for those intrigued by operating system design and development. The system boasts essential components, including:
- Kernel: The heart of ToaruOS, leveraging the Misaka kernel for high performance.
- Bootloader: An interactive boot manager that facilitates easy navigation.
- Dynamic Shared Object Linker: Supports dynamic linking for applications, enhancing versatility and functionality.
- C Standard Library: A complete implementation that ensures compatibility with standard C code.
- Composited Windowing System: Featuring a modern user interface that employs software acceleration for seamless operation.
- Advanced Code Editor: The Bim text editor provides syntax highlighting and a rich feature set, inspired by Vim.
- Networking Stack: Enabling effective communication and data transfer over networks.
- Utility Applications: A collection of example applications that showcase the capabilities of the OS.
Screenshot of the User Interface
Demonstration of ToaruOS's UI and some applications.
Noteworthy Features
ToaruOS stands out with its extensive feature set, including:
- Dynamically Linked Userspace: Supports shared libraries and dynamic linking via
dlopen
, promoting code reusability. - Composited Graphical UI: Inspired by late-2000s designs, boasting aesthetics and software acceleration.
- Virtual Machine Integration: Offers absolute mouse positioning and automatic display sizing, optimized for VirtualBox and VMware.
- Unix-Like Terminal Interface: Includes a refined terminal emulator alongside familiar command-line utilities.
- Optional Third-Party Ports: Users can leverage a variety of third-party software such as GCC, SDL, and more.
Current Development Goals
The ToaruOS project is continuously evolving, with ongoing objectives including:
- Network Stack Rewrite: For enhanced throughput and stability.
- SMP Performance Improvements: To optimize multi-threading and scheduling operations.
- Broader Hardware Support: Developing new device drivers for various hardware components.
- Legacy Ports Revival: Restoring popular applications and utilities from previous versions of ToaruOS.
- Enhancements to POSIX Compliance: Expanding compatibility and improving overall system utility coverage.
Building and Running ToaruOS
While installation instructions are omitted here, ToaruOS can be run effectively in virtual machines like VirtualBox and VMware, or even on real hardware under specific configurations. Developers can also leverage QEMU for enhanced flexibility in testing and debugging.
ToaruOS serves not only as a powerful educational resource but also as a robust example of a complete operating system development project. Whether you're an aspiring developer, an OS aficionado, or simply someone curious about operating systems, ToaruOS offers a practical framework to engage with OS concepts innovatively.