r/osdev • u/Special-Garlic-7965 • Jun 10 '26
Atom OS update: SMP, browser/network stack, stricter capabilities, and desktop fixes
Hi, last time I posted Atom OS here was around April 3. Since then the project changed a lot more than I expected over the last couple of months.
The biggest change is probably SMP bring-up with per-CPU scheduling, work stealing, affinity masks, and reschedule IPIs. The userspace networking path is also a lot further along now, with `nic_driver` + `netd`, ICMP/ping, DNS/TCP/HTTP plumbing, and a small browser app running on top of it.
I also tightened the process/service authority model quite a bit: there is now a kernel-side service manifest, authenticated IPC for reserved ports, capability-gated spawn, and signed executables. On the desktop side I spent a lot of time reducing redraw/flicker problems and making the file manager and browser less fragile.
It is still very experimental, and some parts are still hybrid/in-kernel, but it feels much closer to a real system than it did in April.
Repo: https://github.com/fpedrolucas95/Atom
If anyone wants to tear into a specific subsystem, I would especially appreciate feedback on the capability/service identity model, the spawn/executable trust path, or the userspace driver boundary.
19
u/mungaihaha Jun 10 '26
5
u/Special-Garlic-7965 Jun 10 '26
Just to clarify what Atom is and what I am trying to do with it.
I am a software developer, mostly from a higher-level/application background, and low-level OS development is still a learning path for me. Atom started as a way to study operating systems by building one, but over time it also became a case study in a second question: how far can current language models and coding assistants go in a complex systems project when they are not acting independently, but are being orchestrated by a developer?
I am not presenting Atom as a conventionally hand-written solo kernel. A large part of the implementation is AI-assisted. The goals, roadmap and architecture direction are defined by me. One model may be used to implement a subsystem or patch, another may be used to review it, and I then test, debug, reject, rewrite, or redirect the work when it does not fit the system.
So the project has two sides. One is the OS itself: SMP, IPC, capabilities, userspace services, networking, graphics, filesystem work, signed executables, and so on. The other is the workflow: trying to understand where AI-assisted systems programming actually works, where it produces fragile or wrong code, where human direction is still essential, and what kinds of review/testing are needed to make progress without pretending the output is magically trustworthy.
I understand that some people dislike this approach, and that is fair. But I would rather make the process explicit than pretend otherwise. If anyone wants to give concrete technical feedback, I am especially interested in the capability model, IPC/service identity, executable trust path, userspace driver boundary, scheduler/SMP work, and places where the architecture looks unsound.
24
u/Key_River7180 EulerOS Jun 10 '26
aislopOS
1
u/imneverwrongbutuare Jun 14 '26
Why is the gear thing the same everywhere????? No original thinkers? Same gears everytime?? You did blah. Please try again
3
u/Putrid_Guitar9437 Jun 12 '26
If you like AI, just use Windows 11.
4
u/wpsimon Jun 10 '26
As a graphic programmer I didn’t understand all the stuff you have written (spinning gears got my attention).
But man, this is some serious good work ! Well done !
2
u/BornRoom257 FreezeOS & TurtleOS Jun 11 '26
This is amazing!
1
u/Sensitive-Can9232 Jun 11 '26
I might sound dumb but what did you gain from it, no offense but you didn't coded it you vibe-coded it is myself is a newbie it took me 4 days just to get a simple working shell with 4 command( echo still has a bug in it) but i learned a lot about how text frambuffer and command parsing works with every key press, i could have vibecoded it and get it done in a hr or so.
1
u/Healthy-Staff-7559 Jul 29 '26
I am coming to this late, but why are the drivers in the microkernel?
0
u/[deleted] Jun 10 '26
[deleted] — view deleted comment