|Developed by:||M. Anwar|
|Task Model:||Preemptive multitasking|
AquilaOS is a Unix-like operating system designed to be fully POSIX compliant. It consists of a monolithic kernel and a set of user tools/utilities. AquilaOS is built mainly for learning and hence the code base is simple, however future proofing is highly anticipated in the design and most parts are made as transparent/architecture-agnostic as possible.
AquilaOS started in 2016, following another OS that started in 2012. The original OS lacked robust design and adding more features proved to be cumbersome. So I decided to drop all hacks and workarounds and start from scratch with a more robust future-proof design.
Design and Features
AquilaOS is mostly written in C with a few assembly parts when absolutely needed. It contains a kernel and a system. The following features are currently supported:
- Multitasking and Multi-threading using POSIX threads
- Sessions, process groups and job control
- Virtual file system (VFS) with support for initramfs, tmpfs, devfs, devpts, procfs and ext2
- Devices subsystem (KDev) using devices files with major/minor numbers
- Memory management subsystem (with demand paging and copy-on-write)
- Framebuffer based terminal (with wallpaper)
- AqBox: several UNIX utilities in one binary. (similar to BusyBox)