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.
- 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
Note: If you're on Windows, you'll need a UNIX-like environment such as Cygwin to compile the source code.
Run the following command in your terminal:
git clone https://github.com/amar454/floppaos.gitNavigate to the repository directory and compile with:
make allThis will generate an ISO image, which can be attached to a virtual machine or written to a USB device.
To compile and immediately launch the OS in QEMU, use:
make qemuQEMU is the only vm floppaos is compatible with, due to issues with multiboot mmap on anything else... sorry
To remove compiled binaries:
make cleanTo remove C and assembly object files while keeping the ISO:
make cleanobj(This is the recommended step after compilation.)