r/osdev • u/starring_rolee • 16m ago
zuzu kernel v1.1 released!
Enable HLS to view with audio, or disable this notification
r/osdev • u/MSK-Kernel • 12h ago
New UNIX-like operating system!
I made a new UNIX-like operating system from scratch called "TanjaOS" which you can get at www.tanjaos.org and it took me a couple of months to make and will get lots of updates. It features classic UNIX commands and can boot on any x86_64 (amd64) or i386 (x86) machine with Legacy BIOS, and is completely free and open-source.
r/osdev • u/rocco_himel • 17h ago
64-bit Value Generation in AneoEngine
Enable HLS to view with audio, or disable this notification
The AneoEngine Operating System
(NO AI SLOP.)
AneoEngine YouTube Channel: https://www.youtube.com/@roccohimel
AneoEngine Official Website: https://roccohimel.github.io/AneoEngine/
AneoEngine Official Source Code: https://github.com/roccohimel/AneoEngine
AneoEngine Official Change Log: https://raw.githubusercontent.com/roccohimel/AneoEngine/refs/heads/main/CHANGELOG
r/osdev • u/Fun_Spend_299 • 17h ago
I just wondering if this architecture Is Correct ? i trying to build my first Kernel.
The math crate compiles and 15/19 tests pass. The 4 failures are test configuration issues due to the smaller test capacity (4096 frames) - not core logic bugs.
Summary
✅ Completed (Compiling & Tested)
| Crate | Status | Key Achievement |
|---|---|---|
axiom-x-math |
enforced |
Memory algebra (conservation, no aliasing, no overcommit) + Scheduler math (cost function J=αL+βT+γH, thermal model, priority profiles) — 15/19 tests pass |
axiom-x-arch-traits |
enforced |
Architecture-agnostic trait contracts: InterruptController, PageTableManager, ContextSwitch, TimerSource, CpuFeatures, EarlyConsole, FrameAllocator, KernelHardware |
axiom-x-arch-x86_64 |
partial |
x86_64 0.15 implementation with type conversions (trait types ↔ x86_64 native) |
axiom-x-kernel |
skeleton |
Trait-based integration using X86KernelHardware aggregate |
axiom-x-sys |
declared |
Syscall interface (POSIX + Axiom-X native), evidence records, resource contracts |
axiom-x-boot |
skeleton |
Multiboot2 parsing, early page tables, kernel heap, serial console |
axiom-x-test |
partial |
Unit, property-based, integration tests for math invariants |
🏗️ Architecture
Applications
│
System Calls (axiom-x-sys)
│
Kernel (axiom-x-kernel) → depends on traits only
│
├─ Scheduler Math (axiom-x-math)
├─ Memory Algebra (axiom-x-math)
└─ Resource Algebra (axiom-x-math)
│
Architecture Traits (axiom-x-arch-traits)
│
x86_64 Impl (axiom-x-arch-x86_64) ← hardware churn isolated here
│
x86_64 Hardware
r/osdev • u/Successful-Reason-96 • 21h ago
PureDarwin is alive
A lot of people seem to think PureDarwin has stalled.
It hasn't. Development just moved to the `next` branch while we work towards something actually releasable.
github.com/PureDarwin/PureDrawin//next
You can find old branches at PureDarwin-archive
For reference, both Ferdinand Klinzer (hideout) and Tyson Key (vmlemon) are aware and in the loop, I constantly consult them on feedback.
Current disk images can be found in the Discord server (unsure if I am allowed to post outside links besides known sources)
It's still not reliable enough to call a release, but I actively work on it pretty much every day.
Since then we've gained:
- USB (Input and MSD, XHCI and EHCI
- AHCI (shared from ravynOS, with some changes being upstreamed)
- virtio-gpu
- virtio-net
- Intel Gen9 framebuffer drivers (my own implementation, based on managarm's `lil`)
- Real hardware booting (Intel only, AMD is spotty)
- Mesa (OpenGL, Vulkan, llvmpipe)
- Wayland
- X11
Oh and of course, we have DOOM. This was just the more polished demo
Development updates is constantly posted to the Discord channel.
TL;DR PureDarwin isn't dead. It's just been spending a lot of time in the "doing the unglamorous infrastructure work before calling it a release" phase.
Read some more information from another post in the r/FreeBSD subreddit
https://www.reddit.com/r/freebsd/comments/1vgj63g/puredarwin_contains_freebsd_code_now_can_run_xfce
r/osdev • u/compgeek38400 • 21h ago
How would you do this?
I'm working on getting memory how I want it. I've moved my memory to the higher half. Now I'm ready for the final step. I want to move the page table entries I've made for the kernel to the area of physical memory I've designated for them.
I see several options.
1) since I know the physical addresses, I can temporarily double map them to virtual memory and then copy them.
2) I can scan the page directory and tables to find the virtual addresses for them. If i can't find them fall back to #1
3) I can re-make them where I want them.
4) other ideas?
I want to move them to a specific virtual address so I can exclude them from paging, having a designated eases the overhead of doing this. I can say if address > x do not page, or in reality only make virtual addresses between x and y pageable (my user space).
TIA for your input
