* AquilaOS: yet another hobbyist operating system *
AquilaOS is a UNIX-like Operating System that started in 2016. Based on another OS I developed and many trials and failures since 2012, it finally came to light.The goal behind AquilaOS is to make a UNIX-like OS adhering to a quote by K. Thompson in UNIX Implementation.The kernel is the only UNIX code that cannot be substituted by a user to his own liking. For this reason, the kernel should make as few real decisions as possible. This does not mean to allow the user a million options to do the same thing. Rather, it means to allow only one way to do one thing, but have that way be the least-common divisor of all the options that might have been provided.From the start, AquilaOS focused on being as transparent and architecture-agnostic as possible. To even raise the challenge, strict compliance with C standard (C99) is a must which allows compiling with "-O3" (strict optimization in GCC) and "-Wall -Wextra -Werror". Currently AquilaOS v0.0.1a is released and awaiting testers and contributors.FeaturesAquilaOS is mostly written in C with a few assembly parts when absolutely needed. It consists of a monolithic kernel and a set of user utilities.Kernel Features: Monolithic kernel Supports x86 archticture (all arch dependent code is seperate from the kernel) Multitasking and Multithreading using POSIX threads Supports ELF format Signals Blocking and Non-blocking I/O Sessions, process groups and job control Virtual file system (VFS) with support for initramfs, tmpfs, devfs, devpts, procfs and ext2 Devices subsystem using devices files with major/minor numbers Supported devices include: PS/2 Keyboard, IDE/ATA Harddisk, Framebuffer device (fbdev, Linux API) with VESA 3.0, 8250 UART Memory management subsystem (with demand paging and copy-on-write)System Utilities: aqbox: several UNIX/POSIX utilities in one binary (similar to BusyBox) fbterm: Framebuffer based terminal (with wallpaper) with VT100 emulation using libvterm lua: Lightweight, multi-paradigm programming language kilo: Simple text editor for ANSI/VT100 terminal tcc: Tiny C Compiler by Fabrice Bellard (Who made Qemu and FFmpeg) nuklear: Immediate mode graphics library - experimentalThe source code is released under GPLv3 licence and hosted on Github, https://github.com/mohamed-anwar/Aquila. Make sure to check it out and follow up with suggestions, or better yet, contributions. Read more on this exclusive OSNews article...