GitHub - faishal882/uqaabOS: A minimal Operating System

1 min read Original article ↗

UqaabOS


Build Status Made with C++

UqaabOS is a foundational operating system developed entirely from scratch, adhering to a Monolithic Kernel Architecture. It is a passion-driven project aimed at gaining deeper insights into Kernel Development. Designed and build with emphasis on learning and understanding the inner workings of an operating system via practical implementation.

UqaabOS Screenshot

🚀 Features

  • Hardware Support:
    • Drivers: Support for Keyboard, Mouse, VGA, and ATA.
    • Interrupts: Handling for hardware interrupts and exceptions.
    • GDT: Global Descriptor Table for memory segmentation.
  • Memory Management:
  • Multitasking:
    • Multitasking: Cooperative multitasking to run multiple tasks.
  • File System:
    • FAT32: Support for the FAT32 file system.
  • Terminal:
    • Terminal: A command-line interface for interacting with the OS.

🎬 Demo

uqaabOS Demo

🛠️ Running UqaabOS

Prerequisites

You will need the following tools:

  • make
  • nasm
  • qemu-system-i386
  • grub-mkrescue
  • An i686-elf cross-compiler toolchain (gcc, g++, ld)

Building and Running

  1. Clone the repository:

    git clone https://github.com/faishal882/uqaabOS.git
    cd uqaabOS
  2. Build the OS:

    This will create the build/uqaabOS.iso file.

  3. Run with QEMU:

    qemu-system-i386 -cdrom build/uqaabOS.iso
  4. Run with the virtual harddrive attached

    qemu-system-i386 -cdrom build/uqaabOS.iso -drive file=hdd.img,format=raw -boot d

👥 Contributors

Made with ❤️ by the UqaabOS Team