- Higher half kernel
- Limine bootloader
- Stivale2 boot protocol
- Serial communication
- GDT and TSS
- IDT and ISR's
- Physical memory management -> Bitmap based allocator & Slab allocator
- Virtual memory management -> 4-level paging support
- Heap memory ->
malloc
andfree
- Basic kernel library
- ACPI table parsing
- LAPIC and IOAPIC
- LAPIC timer and HPET
- SMP
-
Understand:
- Microkernels
- UNIX-like systems
- Scheduling
- Messaging (IPC)
- Syscalls
- Userland
- ELF
- Filesystems
-
Write:
- Clean code
- A blog, documenting learning process
NOTE: Depending on your Linux Distribution the package names might be different (supposing you are using Linux)
- x86_64-elf-binutils
- x86_64-elf-gcc
- nasm-git
- make
- xorriso
- qemu
- Install the dependencies
- Get the repository
git clone https://github.com/Tix3Dev/apoptOS --recursive
cd apoptOS
- Build it
make all
(release build, for debug build usemake all_dbg
)
- Run it
make run
(release QEMU version, for debug QEMU version usemake run_dbg
)
For those interested in contributing, please refer to the contributing guidelines.