User:Manwar/AquilaOS
AquilaOS | |
AquilaOS v0.0.1a | |
Developed by: | M. Anwar |
Kernel: | Monolithic |
Task Model: | Preemptive multitasking |
Platform(s): | x86 |
Language(s): | C, Assembly |
Website: | aquilaos.com |
Github: | mohamed-anwar/aquila |
License: | GPLv3 |
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.
History
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)