Skip to content

The Flopperating System is a free and open source 32 bit operating system made in C. It is themed around the famous internet Caracal "Big Floppa"

License

Notifications You must be signed in to change notification settings

amar454/The-Flopperating-System

Repository files navigation

The Flopperating System | floppaOS

image

Copyright © Amar Djulovic 2024, 2025

The Flopperating System, or (formally) floppaOS is a lightweight, monolithic, and multitasking hobby operating system. It targets the i386 platform. It is all designed by me and all code was made by me. My goal is simplicity, performance, ease of use, code readabiliy, and nice namespacing. This project is my prized possession and will most likely be a thesis for college.


Feature Overview

  • Physical memory manager
  • Virtual memory manager
  • Heap allocator
  • Processes
  • Scheduling
  • Userspace
  • IPC (pipes)
  • Interrupts
  • Drivers (time, keyboard, ACPI, VGA, framebuffer)
  • Grahpical Terminal
  • if youre wondering if i have a GDT, you're in the wrong place

Compiling Instructions

Note: If you're on Windows, you'll need a UNIX-like environment such as Cygwin to compile the source code.

1. Clone the Repository

Run the following command in your terminal:

git clone https://github.com/amar454/floppaos.git

2. Build the OS

Navigate to the repository directory and compile with:

make all

This will generate an ISO image, which can be attached to a virtual machine or written to a USB device.

2a. Build and Run in QEMU (Recommended)

To compile and immediately launch the OS in QEMU, use:

make qemu

QEMU is the only vm floppaos is compatible with, due to issues with multiboot mmap on anything else... sorry

3. Clean Up

To remove compiled binaries:

make clean

4. Clean Object Files (Without Deleting the ISO)

To remove C and assembly object files while keeping the ISO:

make cleanobj

(This is the recommended step after compilation.)