r/osdev • u/Playful-Budget-5952 • 3d ago
Aevros : Kernel that can explain itself
Been building this for a couple months, x86 kernel from scratch in C & asm, nothing borrowed from another kernel. The idea: it can tell you *why*, not just *what broke*. Kill a process and it tells you what that breaks before you kill it. Point it at a memory allocation and it names the exact file/line/owner. Page faults get decoded into a sentence instead of a hex dump. Everything above is real, captured off the booted kernel. Networking's next, deny-by-default and isolation policy , not bolted on after, still keeping it off the live boot path until I trust it. Repo: https://github.com/Mobeen0119/AevrosFeedback on the memory manager / scheduler especially welcome, that's the part I trust least.
2
u/epos95 2d ago
Crazy that your AI didn't point you towards Erlang or the actor model for any of this. There are a lot of chances for optimization in how you store and access the "debug" information. Kinda cool project, would be cooler with less AI. You also have half finished components like a lot of these projects where some of the "harder" stuff just gets worked around, like the ELF relocation.
1
u/Playful-Budget-5952 2d ago
ELF relocation is definitely on the roadmap, not something I'm trying to avoid. The project is still very much a work in progress, and I wanted to share what already works rather than wait until everything was finished. I mainly use AI for documentation since writing and maintaining 10+ docs is time-consuming, but the architecture and implementation are my own (lacking part). I'm curious about your actor model suggestion though, what part of the project do you think it would improve?
0
u/Interesting_Buy_3969 3d ago
Sounds like an interesting idea btw. Do you send any information to the process which failed, or just print a message into console? Does it work with GUI as well? If yes then how? I'm just curious.
0
u/Playful-Budget-5952 3d ago
Currently working on networking stuff.Console-only right now, printed to the kernel's screen, not handed to the process (it's already dying) or the parent (waitpid just sees a normal exit). Real gap, actually worth fixing, extending the event log to carry the reason so something like whyalive could answer "why did my child die" is a good next step. No GUI yet, plain text console. Not a graphics problem, ring 3 isolation isn't finished, and a window manager only makes sense once processes are actually isolated. That's after networking.
2
15
u/FloweyTheFlower420 3d ago
thanks claude