logo

Show HN: Aurion OS – A 32-bit GUI operating system written from scratch in C

Posted by Luka12-dev |2 hours ago |17 comments

toast0 an hour ago[1 more]

> RTL8139 network driver (WIP)

It's good to have support for real networking hardware, but consider virtio-net as well. A lot of VMs support it and it's more streamlined. 32-bit x86, bios boot means doing a lot of things for compatibility with systems that were old enough to drink before you were born... skipping to simplified virtualized interfaces wherever possible makes a lot of sense; even if your OS can run in 16 MB of ram, you're probably not going to run it on a 486 with 16 MB of RAM and a real parallel IDE drive ... at least not at first. You can always come back and make that work if you want... deferring tricky things until later so you can work on the fun stuff keeps you having fun and engaged with your project.

Also, consider trying to get your OS running on v86. It's fun having your hobby OS work in a browser. The biggest limitations I've run into are 32-bit x86 only, single processor only; but those might not be that big of a deal... looks like your OS is also 32-bit x86 only, and I don't see anything about SMP in your project. If there's anything missing from v86 that you depend on, I've had a wonderful experience with submitting PRs; copy often reworks my patches to be much better before applying them, which I always appreciate rather than a back and forth attempt to get me to make it better :) I've also seen copy (and others) take reported issues and fix them, if you've got a problem that you can't write a patch to resolve.

> Real hardware support is still a work in progress.

I ran into a fair amount of issues with 16-bit code; qemu doesn't check segmentation limits but real hardware does. Real hardware would crash, but it worked fine in qemu. My kernel is multiboot and I use 3rd party bootloaders, but I do SMP, on x86, that involves starting the Application Processors in 16-bit real mode and then moving them into 32-bit modes, but you have to do the segmentation dance correctly until you get there; doesn't help when qemu just lets you do whatever. :P

PS 12 hour days are a lot; hope you're getting all your other stuff done :P

joexbayer 38 minutes ago[1 more]

Very cool! Would suggest https://oshub.org/explore if youre interested in hobby operating systems.

jackpeterfletch 21 minutes ago[1 more]

AI Account.

Everything in that account has appeared in the last 6mo. Very unnatural commit activity, and clearly contradicts the claim that this is their first OS project. Is linked to a faceless YT channel.

marssaxman an hour ago[1 more]

That's an ambitious project!

What was your inspiration for the filesystem?

Luka12-dev an hour ago[2 more]

Author here! Happy to answer any questions about the implementation.

d--b 21 minutes ago

sourcegrift an hour ago[2 more]

No offense, and God forbid I sound like a "fanboy" but I'd highly recommend using Rust or Zig instead of c for the rest of your project. I appreciate C and assembly and am pretty "conservative" in my choices of PL but both rust and zig, despite having their own disadvantages, and also a slightly unpleasant community based on where you come from, are actually plain better than C in every respect. The abstractions are 0 cost and often pretty "transparent" so you know exactly what's happening behind the scenes.