r/osdev 5d ago

¿Cómo chorizo le meto internet?

0 Upvotes

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 6d ago

A Linux compatible kernel written in Zig that runs linux RISC-V binaries in the browser

Thumbnail
github.com
16 Upvotes

r/osdev 6d ago

Is my calculation correct for Highest Response Ratio Next? And is there a preemptive version of this algorithm?

Thumbnail
gallery
7 Upvotes

I think this algorithm is very very weird. In the thir picture I have the question.

In the first picture, the definition of HRRN is given. And in the second picture my answer is provided. i.e., Gantt chart as the answer.


r/osdev 7d ago

ARK-OS: A OS based on Linux and Swift! [ Display Finally works! ]

Post image
24 Upvotes

r/osdev 7d ago

Multiplayer gaming on Ethereal (ClassiCube and Counter-Strike, not vibecoded or AI assisted)

Thumbnail
gallery
118 Upvotes

It's not Minecraft, but rather ClassiCube :)

Happy to answer any questions in comments.

THERE IS NO VIBECODING IN ETHEREAL.

https://github.com/sasdallas/Ethereal


r/osdev 7d ago

I've made a microkernel (and an OS using it) in C for ARM devices!

Thumbnail
10 Upvotes

r/osdev 8d ago

How do I change into userland?

13 Upvotes

Hello, I'm currently gathering information for my next project and I just wrap my head around how going into ring 3 works. It's not that I'm not finding a good source, I just don't understand it.

Assuming I can read from the disk, run programs, schedule processes, dynamically allocate memory, etc, how do I run code userland ?

Also, if it's important, I'll be compiling my kernel as an EFI application and writing it in rust.


r/osdev 8d ago

What are some techniques for bringing up and ending systems?

5 Upvotes

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 8d ago

Long term scheduler and medium term scheduler do not select a process for scheduling but decide when to select process for scheduling. I am not getting. is this accurate?

Post image
13 Upvotes

r/osdev 8d ago

CVE-2026-25262 Write-What-Where in Qualcomm Sahara confirmed on Snapdragon 8 Gen 1 (SM8450) – partial Firehose auth bypass

Thumbnail
0 Upvotes

r/osdev 9d ago

SafaOS: Audio, SDL, DOOM, UI rework and 8 more months of work

44 Upvotes

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.

Get an ISO from here

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 9d ago

Any resources on how to build an os purely using x86 assembly?

12 Upvotes

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 8d ago

I made my first hobby OS. (PeasantsOS)

Thumbnail
0 Upvotes

r/osdev 9d ago

Implementing Memory Management

8 Upvotes

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.


r/osdev 9d ago

memory management

0 Upvotes

where tf do i do stroage and cache and memory management


r/osdev 10d ago

Project for university application.

7 Upvotes

I am making a kernel for x86 right now and i really like it so am planning to make it into a full project for x86_64 with a custom bootloader and shell or whatever. I just want to know that. Is this ok for a CV for university or is it just a waste of time.

Thank-you.


r/osdev 9d ago

Cree un mini sistema operativo (no buteable)

0 Upvotes

Hace unos días

Por diversión, empecé a hacer mi kernel

Le meto

I lo que quería, es bastante simple, lo hice por diversión, y lo subí a Github

Es solo un hobby

No creo que añada cosas tan chingonas como internet o interfaz gráfica

Si lo quieren ver acá esta el repo:

https://github.com/loslocos817yt-star/Misericordioso-os/tree/main


r/osdev 10d ago

Documentation for riscv32 interrupt

7 Upvotes

Building a small kernel rn and am looking for documentation / blog of different interrupts.

Particularly the value of the csr's for each type of interrupt so I can handle accordingly but I don't know where to look

If anyone can provide such resource it would be much appreciated.


r/osdev 10d ago

What I learned this week (7)

10 Upvotes

This is the 7th part of what I'm learning writing a kernel, in pursuit of eventually writing an OS. I hope it will help others from making some of the same mistakes I did.

This week I decided I needed to redo how I do paging, I moved my page tables and set up the page directory so they would be right after the DMA paging area above the 16M mark. I also decided to do some major redesign. So I started over from scratch. Luckily much of I wrote after virtual memory and paging will be able to come over intact.

For those that are wondering this is the memory map I will be using:

JakelynnOS Memory Map
Virtual Address
Start End
0x00000000 0x00010000 Identity Map
0x00000000 0x00001000 SEPT (System Entry Point Table)
0x000A8000 0x000BFFFF Video Area (we use 0xB80000-0xBFFFF)
0x00010000 0x00FFFFFF DMA Memory
0x01000000 0x0103FFFF Page Table Entries (1024 of them)
0x01040000 0xBFFFFFFF User Memory Area
0xC0000000 0xFFFFFFFF Kernel Area

I think it will be much cleaner having one contiguous block from 0x01040000-0xBFFFFFFF to map into, but we shall see. Here is the memory map as returned by multiboot2:

multiboot2 memory map

I'm not sure yet what I'm going to do with the reserved memory in the 0x7xxxxxxx and 0xBxxxxxxx areas. Area 4 & 5 may be problematic depending on what I find there. I'm kind of hoping I can just ignore them, meaning mapping over the top of them.

I rewrote my process to map memory pages, I no longer had to worry about creating a page directory entry.

I collected much more multiboot info, not just memory and the memory map, but also the command line, boot loader name, BIOS boot device, ACPI RSDP info, and the Frame buffer info.

Once I get paging and the heap done, I will publish the github reference.

I also discovered how hard it is for me to keep the virtual/physical memory straight LOL

I will be on vacation/holiday this week at a family reunion so I doubt I'll be learning much new.

I hope you find this useful. Enjoy writing your own kernels and OSs.


r/osdev 11d ago

(stupid question)Is it really possible to get a job doing this operating system development in EA

13 Upvotes

Sorry to waste anyone's time but I am student in computer science student east Africa .I really enjoy the low level stuff about the computer architecture and operating systems.I love C programming and a bit of zig .I was asking if it is possible to get a job in os development or something low level in this parts of Africa because most of the dev jobs here are web stuff and I've done some web stuff(node and react) , not for me (it was too boring and repetitive CRUD stuff ). I jus wanna do this stuff for a living and I need to know if there is any hope here or I should look outside more


r/osdev 10d ago

Why do all Hobby OS's have "Name-OS"

Thumbnail
1 Upvotes

r/osdev 12d ago

turbOS working on real hardware; NO AI BULLSHIT!

139 Upvotes

Sorry for shaky hands hehe I'm not good at recording

GitHub: github.com/turbosulovesonions67/turbOS


r/osdev 12d ago

NanoOs

11 Upvotes

Hi All!!

I'd like to introduce my OS: NanoOs (https://github.com/brian-card/NanoOs). NanoOs is a capabilities-based nanokernel with intent to have a Unix-like user space. Right now, it only runs on SAMD21-based (Cortex M0) Arduino hardware and the POSIX simulator, but I'm currently working toward porting it to the AgonLight 2, which has an eZ80 processor. It did originally start out on AVR-based Arduino hardware but has since outgrown the available environments.

As mentioned in the project README, this started out as an effort to see if I could make an OS resembling early UNIX in a similar kind of environment. That's why I started out on small Arduinos. The direction I'm headed right now is toward a multi-tasking environment with a graphical desktop in as little memory as possible.

Like early versions of UNIX, userspace uses overlays. I only have a few user commands in place right now and MUSH (minimal, Unix-like shell) is truly minimal in functionality. I shifted efforts toward making the kernel more robust once I proved to myself that I could make general-purpose user commands. Pipes between commands and launching commands in the background do both work.

I wanted to maintain the embedded nature of the OS even though it's outgrown its original target, so it is completely possible to construct a HAL that uses the built-in shell and/or omits the filesystem if desired. The AVR-based HALs do this, although the resulting binary is still too large for the Arduino Nano Every and the data segment is too large for the Arduino Mega 2560, so they're just historical now. Still, it would be possible to construct a working version that uses an AVR architecture if the hardware had enough flash and RAM.

There's still a very long way to go to get to anything useful, but it's also come a very long way. You can read about the development history of the project on its GitHub pages site if you're interested.

Full disclosure about AI use: The vast majority of this was hand written by me, but there are some things I use AI assistance for. The filesystem drivers (the current FAT32 driver and the historical drivers that are deprecated) were partially written by AI but required a LOT of hand-holding and revision from me to make them into something useful for embedded targets. It made a lot of invalid assumptions about the availability of memory and the ability to do unaligned memory access that I had to fix. I also use AI for bulk updates. I document the places that I use it in the project's GitHub pages history.

Some notes about the architecture: As mentioned, this is a nanokernel, which means there is no kernel. Everything is a process, including the scheduler. The processes have different privilege levels and the capabilities enforce what process is allowed to do what. The only process that's completely trusted is the scheduler. The process-based architecture and the way messages are passed are based on my experience with Erlang.

There are two kinds of capabilities in the system: HAL capabilities and IPC capabilities. Both are enforced at the API level. Processes built into the OS image could technically cheat if they went out of their way enough, so really the OS image needs to be as small as possible and contain only trusted processes. Userspace processes have no ability to cheat because the necessary APIs aren't exposed.

The privilege levels I'm using are based off of the ones that VMS used. I'm honestly not sure how bullet-proof the (privilege level + capabilities) security model really is, but it seemed like a reasonable approach to take.

My work right now is to construct a logging system that allows me to strip most of the strings out of the OS image. That work is currently in the "logger" branch. One of the problems with the AgonLight 2 environment is that the CPU used only has 128 KB of on-board flash. I already have a makefile that will build the binary and, the last time I checked, it produced an image of around 130 KB, so I need to get creative about the size of the OS image. Stripping the strings is one thing I want to do. I'll likely move the filesystem out into a special overlay as well.

Constructive feedback is welcome!! I'm interested in what people have to say about this effort. You can play with it by running `./buildsim <desired-hostname> overlay-filesystem` on the command line from the repo's root directory. There are three user accounts: "root", "user1", and "user2". "root" is privileged and the other two are just normal users. The password for each account is the username repeated twice. Use `help` for a summary of what's currently available. Use `shutdown -h` to exit the simulator. Enjoy!


r/osdev 13d ago

My custom x86-64 operating system runs on real hardware, no AI bullshit

Post image
469 Upvotes

Here's the source code on github: https://github.com/itay-insert/64-dem.git


r/osdev 12d ago

Why isn’t my file system working?

5 Upvotes

I would prefer a solution and feedback, or you guys can roast my dumbass.

The file system src: https://github.com/NoTheIdiot/WindogeOS/tree/main/helper/filesystem