User:Manwar/AquilaOS

From OSDev Wiki
Jump to navigation Jump to search

AquilaOS

AquilaOS.png
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)