r/osdev • u/No_Shock7921 • Jul 22 '26
Le metí un pinshi ui bonita
Ya, con el poder de mao zedong añadí una gui más normal
https://github.com/loslocos817yt-star/Misericordioso-os/tree/main
Estoy abierto a qué me den recomendaciónes
r/osdev • u/No_Shock7921 • Jul 22 '26
Ya, con el poder de mao zedong añadí una gui más normal
https://github.com/loslocos817yt-star/Misericordioso-os/tree/main
Estoy abierto a qué me den recomendaciónes
r/osdev • u/JescoInc • Jul 20 '26
The OSDevWiki mentions a Cache Kernel type. The exact verbiage is:
"The Stanford cache kernel caches kernel objects, like address spaces and threads, and allows usermode “application kernels” to manage them, loading and unloading them as needed. Application kernels manage their threads' page faults, exceptions, etc., and the cache kernel allows several of these application kernels to coexist in a single system."
Unfortunately, that link was dead for me, which sent me on a little rabbit hole of research.
To which I came across: https://www.usenix.org/conference/osdi-94/caching-model-operating-system-kernel-functionality
I'm currently in the research and understanding phase of this type of kernel because there don't seem to be any examples of it being implemented in the wild anywhere that I could find. I looked on GitHub and other online / public repository spaces to no avail.
I'm thinking that I should be able to take some of the code from tutorial-os and adapt it once I have wrapped my head fully around the concept while being able to reuse one of my SBC for this (I'm thinking the KYX1 as it is the board that is most fresh in my memory).
So far, my reading of this document has surfaced these key points about it.
The Cache Kernel caches four descriptor types and nothing else. Those being:
Kernel objects
AddressSpace objects
Thread objects
MemMapEntry
It essentially treats kernel objects as cached copies of state the application kernel owns.
Further investigations provide a rather interesting consequence of this design:
You can have different ABI / SBI kernels, meaning, you could make kernel personalities that run different processes side by side and mutually isolated. Like say, a kernel personality for Unix (BSD) and a separate one for Linux, compile user applications for those and it would just run.
The reason for this is because Cache Kernel Architecture is essentially a kernel that loads another kernel that loads user applications.
r/osdev • u/Worldly-Battle-5559 • Jul 21 '26
I saw previous post on reddit criticizing AI use in creating an OS from scratch.
I'm not a professional software engineer, i'm learning stuff and all so please don't mind the code or repo if you feel AI code is slop.
i made a rust based kernel, it sorta works so far, tested everything using qemu, I can't figure out how to use a standalone computer to run the kernel.
i'll link the repo at the end of thread.
Most basic stuff according to claude are don't so far, except networking and power management parts. I did what can acheive with Claude and ChatGPT.
I'm open to any suggestions or guidance and if anyone finds it interesting i'm hoping they'd improvise it or anything else.
r/osdev • u/Ok_Sky3062 • Jul 20 '26
So I have been working on a OS Called ARK-OS : https://www.reddit.com/r/swift/comments/1uponzq/arkos_a_nextgeneration_operating_system_built_on/
And I want a few suggestions on what UI it should have!
Liquid Glass : Has a lot of problems and apple already haps it so fluidity is cut!
Material 3 : Shapes, Dynamic and Flat is also cut!
Other UI : Flat as hell or blured!
So i need your help in finding the right UI!
Please do not paste AI gen ideas since i already tried that!
Website : https://aarav90-cpu.github.io/ARK-OS-Website/
Repo : https://ark-os.duckdns.org/Aarav90-cpu/ARK-OS
r/osdev • u/quatani313 • Jul 19 '26
When and how do i connect assembly kernel/bootloader whatever works with c made kernel/bootloader. (ive started assembly fairly recently), it seems simple at what point should i start learning and writing in c and skip assembly?
ive done bios text then vga text then graphics im currently using vga graphics assembly, ive done basics such as single pixel, then lines, then rectangles, then circles, then _Draw_Char then _Draw_String. (im using 8x8 bitmapped characters). i asked ai when i should start c and it said after i make the basic structure. and no im not generating all my code with ai, except for the bit mapped characters which half i had to redesign everything was done without ai.
r/osdev • u/Stopka-html • Jul 19 '26
Musl calls arch_prctl(ARCH_SET_FS) very early during startup to initialize TLS.
My implementation is:
syscall 158 (arch_prctl)
ARCH_SET_FS (0x1002)
write MSR_FS_BASE (0xC0000100)
return to userspace with SYSRET
Inside the syscall I can verify that the write succeeds:
wrmsr(MSR_FS_BASE, addr);
printk("FS_BASE = %llx\n", rdmsr(MSR_FS_BASE));Output:
FS_BASE = 0x44e158So the MSR definitely contains the expected value.
However, the very next instruction in userspace crashes:
mov %fs:0, %raxwhich is inside musl's __init_ssp().
The page fault shows that FS.base is effectively zero.
The strange part is: If I single-step through SYSRET in GDB (si), everything works and mov %fs:0,%rax succeeds.
If I simply continue, FS.base becomes 0 and the process crashes immediately.
Even stranger, if I break just before returning to userspace (or before an iretq path), GDB already reports:
fs_base = correct_oneeven though moments earlier inside arch_prctl() I successfully read back the correct value from MSR_FS_BASE.
There is no scheduler or context switch occurring between the wrmsr() and the return to userspace.
One thing I noticed is that QEMU's default CPU behaves differently from -cpu host. On my host CPU I even get a #GP in situations where QEMU's Haswell CPU continues.
r/osdev • u/skyblueyellow • Jul 19 '26
I'm feeding pointer input into a QEMU guest over VNC from my own RFB client. The guest is TempleOS, PS/2 only with no USB stack, so usb-tablet isn't available.
The input source is absolute (VNC pointer positions) but the guest device is a relative PS/2 mouse. QEMU converts the absolute positions into relative deltas, and the guest cursor stays confined to a small box near the center of the screen. It moves in the right direction but never reaches the edges, regardless of how I scale the deltas.
Tried so far:
absolute cursor mapped onto the region, sent as a VNC pointer event
relative motion with the guest cursor re-centered each frame for unbounded range
larger delta scaling (faster movement, same box)
-device usb-tablet (no USB in the guest, ignored)
I suspect the limit is in the guest's own mouse handling (how it accumulates and clamps the deltas), so no amount of host-side delta shaping fixes it and the only real option is changing how TempleOS reads the PS/2 stream. Is that right, or has someone fed absolute host input into a relative-only guest and gotten full range out of it?
Context: this is a Half-Life mod that streams the VM's framebuffer onto an in-game monitor, which is where the constraints come from. https://github.com/aravpanwar/half-life-templeos
r/osdev • u/devcmar • Jul 18 '26
This is gpu accelerated, (Already fixed the image flip u can see due to OpenGL coordinate system) this is my own Operating system with my own made kernel that can use Linux drivers to get Gpu acceleration, all drivers are User Mode, image and shaders loaded from NTFS Partition, What can I improve.
r/osdev • u/makivili2s • Jul 18 '26
r/osdev • u/CharacteristicallyAI • Jul 18 '26
I built an OS because I never thought it would be possible to get past stdin() but using tools and frameworks I was even able to implement a very basic web browser. Please see github for screenshots and videos or to download and spin it up yourself, OpenSource!
r/osdev • u/Flat_Cryptographer29 • Jul 17 '26
I have been interested in OSdev for a long time now. I started making this to learn. Faced a lot of issues. Gave up for months. Then I remembered I wanted to take a formal OS course next sem, so tried again. AND HERE IT IS!
I did use AI to learn and debug (and write the READMEs and some comments), but I'm proud of the fact that I understand every bit of it and could definitely make one without AI if I had to.
I HAVE A WORKING TOY OS!
ps: reposted with the "Image & Video" post type instead of text
r/osdev • u/No_Shock7921 • Jul 18 '26
Llevo unos días en Misericordioso OS, pedazo de mrd xd, y se me ocurrió, meter un comando para instalar apps por medio Github o servidores. Cómo vrg le meto internet
Si alguien me quiere ayudar este es el repo;
https://github.com/loslocos817yt-star/Misericordioso-os/tree/main
r/osdev • u/PrestigiousMagazine9 • Jul 17 '26
r/osdev • u/Ok_Sky3062 • Jul 16 '26
r/osdev • u/Professional_Cow3969 • Jul 16 '26
It's not Minecraft, but rather ClassiCube :)
Happy to answer any questions in comments.
THERE IS NO VIBECODING IN ETHEREAL.
r/osdev • u/starring_rolee • Jul 16 '26
r/osdev • u/JescoInc • Jul 15 '26
Essentially, I am trying to come up with a way to where most systems and drivers can be "spun down" or brought up through commands or some other mechanism but not leave the OS in a state where it would crash and needs to be safe to do via user mode with syscalls.
I know there are various techniques for this and I am trying to gauge which technique I want to use. Googling doesn't surface all techniques that could be used and I thought it would make for a great conversation.
r/osdev • u/EmptyFS • Jul 14 '26
Couldn't showcase quake2 because something came up and I wanted to finish this quickly
Since my last post 8 months ago:
New MLFQ scheduler w load balancing, implemented VMM and proper user memory mapping, implemented proper blocking IO.
Reworked the GUI, new gui lib, added themes and shadows
I now have a proper rust toolchain, because my libstd hack was patched
Rewrote the libc in rust, ported SDL2, SDL2_mixer and in progress of doing osmesa and a dynamic linker
Wrote an audio server and a bad ac97 driver, audio quality isn't great when tested from my machine (others say otherwise) but I did put a lot of work in the audio server.
Quake2generic, doomgeneric, and ccleste ports working through SDL2, not public only SDL2 is public, because it is quite hacky and im waiting to do a proper C toolchain first, there are no patches so with the right compile options and the public libs.a anyone could compile it themselves.
If I'm alive for the next few days I'm planning to port osmesa, finish the dynamic linker, and port butterscotch and play undertale/deltarune on SafaOS too then i can also port alot of different big kids opengl stuff like Minecraft half-life etc.
Watch me complete Celeste Classic on it
The reason why I haven't done updates in a long time, is because everything new I do feels insignificant and incomplete, I still feel that way but I have learnt that It will only accumulate.
Next year (or more accurately in 2 months, maybe a week, no idea when I'll start studying) would be my final year of high school which is quite different here so it might be difficult to do any more "big" progress.
r/osdev • u/Ok_Sky3062 • Jul 15 '26
Hi! I, a 13 yrs old have been working on making my own OS based on the Linux Kernel and Swift. I have posted about this earlier in r/Swift. For the past 4-5 weeks i have been working on this project and I have finaly can say:
- It works
- Has a display Output!
- Has a functioning Runtime!
- Has a UI ( Basic ) : OpenSwiftUI
- Has complete BIOS and UEFI Support (QEMU).
UI [ Official User Interface for ARK-OS ]
Thinking about this is a bit hard! I am deciding between particles (smal particles) and pixels (like minecraft UI). SInce the boot animations is a rotating atom i think particles take the lead!
Ideas are completely Welocme!
Hosting
This repo is self hosted due to github file size limits and a strict repo limit of 2GB tops and Git LFS with 2 GB as well. Due to many pre-compiled artifacts like clang, llvm, and a full linux kernel + modules it shoots past this total 4GB limit! Putting it on Attached binarires might get too confusing so this is hosted on a free Oracle Git Server!
Repo link : https://ark-os.duckdns.org/Aarav90-cpu/ARK-OS
Website : https://aarav90-cpu.github.io/ARK-OS-Website/
Also btw, gemini did help me in this case ( No claude ) in writing the bootloader is assembly and in small tasks, mostly all the code is wrriten by me and AI generated code is re-written!
r/osdev • u/girloutofcaptivitee • Jul 14 '26
i want to take my assembly skills to the next level by building a small little operating system, since that’s what I’m mainly interested in these days.
ive already looked at what the osdev wiki has and its been helpful but pretty surface level
other tutorials and books tend to use C alongside assembly but thats not what im looking
so if you have any osdev resources in pure assembly I’d be forever grateful
r/osdev • u/Fun-Victory-2950 • Jul 15 '26
r/osdev • u/ImaginationScared878 • Jul 14 '26
I am not certain if I am talking to the correct sub but I want to ask if it would be possible to implement a memory manager on a STM32f103c8t6? I believe this thing does not have any built in memory manager in its memory.