39 lines
No EOL
1.1 KiB
Markdown
Executable file
39 lines
No EOL
1.1 KiB
Markdown
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.)
|
|
|
|
## In the works
|
|
* Virtual File System
|
|
* 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.
|
|
|
|
## Known bugs
|
|
* If a user process calls the syscall handler by using interrupts, the system may crash due to a Page Fault.
|
|
|
|
## 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 :heart:
|
|
* Limine contributors: The Limine bootloader, used for kicking up Soaplin
|
|
* Kevin Alavik (kevinalavik): VMAs implementation
|
|
* Astrido (asterd-og): IOAPIC/LAPIC (from ZanOS) |