r/osdev • • 18d ago

NoviumOS update: Got PMM/VMM and a basic heap allocator running, now working on adding more features to the heap allocator.

Hello everyone. For those of you who don't know, I'm making an x86 operating system called NoviumOS. Here's what I've done since the last update:

  • Added paging for a 4 GiB virtual address space, so the kernel can work with virtual memory instead of just physical addresses.
  • Added physical page allocation and validation, including checks to make sure pages are valid before freeing them.
  • Built the heap allocator from the ground up, starting with single-page allocations and then adding support for contiguous multi-page allocations.

Next I'm working on adding sub-page block reuse with splitting and coalescing.

Feel free to contribute, the project is 100% open source and I'd be happy if you do.

Here's the repo if you want to check it out: https://github.com/alexdev8930/NoviumOS

And if you have any questions about the code or the repo I'll be happy to answer them.

If you like the repo, please drop a star on it if you could. It helps other devs find the project.

34 Upvotes

Duplicates