soaplin/README.md
2025-05-17 11:51:28 +02:00

1.1 KiB
Executable file

Soaplin

The Soaplin kernel is a new Unix-like operating system kernel.

Features

  • x86_64 support (kinda)
  • Memory management (VMM/PMM/VMA/kmalloc)
  • Simple pre-emptive scheduler
  • Ring 3 (user mode) support
  • ELF loader
  • ACPI
  • Symetric Multiprocessing (It runs code, but the scheduler is running on 1 processor.)
  • Recovers from a faulty userspace process.

Nearly done

  • Virtual File System

In the works

  • FPU support

To come

  • RTC support
  • EXT2 driver
  • FAT32 driver
  • TAR-based init ram disk
  • Video driver for Bochs graphics adapter, and the VMware display adapter.

Building

To build Soaplin, you must ensure you have these:

  • The Netwide Assembler (nasm)
  • A compiler (both GCC & Clang works!) (In the future, a custom toolchain would be built.)
  • A linker (both GNU LD & LLVM linker works too!)

Clone the repo, and run "make" in it!

Acknowledgements

Thanks to all these people ❤️

  • Limine contributors: The Limine bootloader, used for kicking up Soaplin
  • Kevin Alavik (kevinalavik): VMAs implementation
  • Astrido (asterd-og): IOAPIC/LAPIC (from ZanOS)