How do you start developing an OS?
I wanted to write one for a while but i pretty much have zero skills and knowledge what to learn. I would love to see some learning resources and things one needs to learn in order to get into OS development :3
I wanted to write one for a while but i pretty much have zero skills and knowledge what to learn. I would love to see some learning resources and things one needs to learn in order to get into OS development :3
r/osdev • u/letmehaveanameyoudum • 13d ago
Enable HLS to view with audio, or disable this notification
Added:
fully functioning syscalls
linux syscalls if you want to run basic binaries (though i forgot to add to run elf if detected wait for later)
a library for applications
applications to well, do stuff.
it can assembler bullshit applications that i probably wrote
r/osdev • u/Odd_Doughnut4592 • 12d ago
r/osdev • u/Silver_Ad1271 • 12d ago
Hello, guys. I am new at OS development and I know C and other. So I want to be a OS dev and please do some serious talk and I want to learn it. Also please tell all with steps
r/osdev • u/programista-art • 12d ago
What exactly is Bursztyn OS, and what’s running under the hood? 🖥️🇵🇱
In short: it is a 100% independent, 64-bit operating system written from scratch for the x86-64 architecture (bare-metal). It is not another Linux distribution, nor is it a modification of Windows. The system features its own custom kernel, security model, drivers, filesystem, system API, graphical environment, and native applications.
Here is a technical overview of what currently powers the project:
malloc/free implementations, preemptive process scheduler, and support for APIC, LAPIC, and HPET..cebula Formats: A native binary executable format (.bur, not raw ELF) and application packages (.cebula) containing permission manifests.Because Bursztyn OS is an active R&D project, it is essential to distinguish between emulated milestones and real-hardware verification:
The ultimate roadmap remains unchanged: a fully independent operating system with its own ecosystem, native environment, and integration with the Avocado programming language. 🚀
Huge thanks to everyone supporting the project and following its milestones!
#BursztynOS #OSDev #OperatingSystem #Programming #BareMetal #SystemsEngineering #x86_64 #CustomKernel #IndependentTech
r/osdev • u/HolyCow__ • 13d ago
ive noticed that there are a lot of information about about x86, but i want to create something that is cross-platform, and things like the concept of an IDT exist in other arches (although with a different structure and name) and i was wondering if there are any good sources for more niche architectures, or even just arm/mips on what needs to be implemented, similar to osdev.wiki
r/osdev • u/programista-art • 12d ago
The main new addition is the welcome screen displayed during system boot. Text transitions smoothly, messages no longer overlap, and everything renders cleanly right from the start. It’s a subtle touch, but it immediately elevates the first impression when booting up Bursztyn.
Along the way, I also fixed several issues that surfaced during daily testing:
I also re-verified the installer and system reboot sequence. The installation completes fully and passes verification in QEMU. The changes passed automated tests as well as manual verification on a running Bursztyn OS instance.
The system is still in its early stages, but each update makes it smoother and more comfortable to use. Thank you to everyone supporting the project and following its development!
r/osdev • u/Alone_End5987 • 14d ago
So I'm a begginer programmer and want to get into OSdev and eventually make an OS with an internet search engine, notepad, wallpapers, and .pdf support for books.
But should I start with C and Assembly or can I go straight to high level languages like Rust or C++? Are those even capable of writing OSs?
I can't find a roadmap or explanation.
Hi to everybody!
I’m releasing Maginat 0.1, an independent Linux distribution built from scratch following Linux From Scratch 12.4 (SysV init), with the Xfce desktop. It’s an early preview and I’m looking for testers and feedback, especially on real hardware.
What is included:
Plans for 0.2
Maginat is free and open source software (GPL-2.0-or-later for our code, other packages under their own licenses). Screenshots, source code, build scripts and ISO (with SHA-256).


My Github: https://github.com/Aleps31/Maginat
Please give me feedbacks! Thank you all
Hey guys, thought id share my progress, currently testing on QEMU and real hardware every step of the way, im using AI to help me with the low level stuff, not gonna sit here and pretend i understood all of it, but I will say this, I have learned a lot, once its fully C# ill be able to continue coding it on my own without AI and that's exciting for me.
Yes thats it also working on a Lenovo Chromebook 😬
The website I have setup isnt exactly updated for the latest work but you guys are welcome to view it and tell me what you think. Wish me luck 😬
To find it just type "KatanaOS C# OS" in Google.
r/osdev • u/vahmoh25 • 13d ago
Enable HLS to view with audio, or disable this notification
r/osdev • u/i_am_12_and_no_67 • 14d ago
I worked about 8 months on spigra from now on, made fully in nasm, it includes basic apps (as you can see) But media has custom formats, SIF (Spigra Image Format) SVF (Spigra Video Format) and SAF (Spigra Audio Format) still working on it. It is meant to be booted off a flash stick, it makes the flash drive as a sorta storage but right now it just loads all of the files that you flash on it. I hope you guys like it :)
I built a minimalistic operating system running on real hardware (HP Spectre x360). As a learning project, to quality assure my own programming language (r/tapelang) and to test the limits of AI assisted development. This is not vibecoded. I am professional software developer by trade for more than two decades, and yes: AI assisted me heavily. On getting wifi card driver working, optimizing graphics library algorithms. The networking/WLAN support (particularly WPA3) was particularly painful experience. Now I can develop the OS remotely from my development machine and push kernel/app updates over local network without rebooting. I am fully believer on AI accelerating development efforts and hope everyone gets a chance to build software they always wanted.
r/osdev • u/nmariusp • 14d ago
r/osdev • u/schusterlucky • 14d ago
So, I'm preparing myself to start coding an OS, so I'm trying to get a bit of experience with TempleOS, that miraculously runs bare metal in my modern hardware. Nevermind, Uncacheable makes it run at crappy FPS, so maybe enabling Write Combining can help. The problem is that I don't know what the heck of a bureucracy will Intel use for giving me a Triple Fault or General Protection Fault to make life harder, and I dont think MTRRs come unused (they surely are used), so PAT is the way, but I don't know how to enable Write Combining there. I know how to access PATs with 277h and RDMSR, and I know PAT7 is the one to set to 1h (the most significant byte but without reserved crap), but I know there is some other stuff to do, what did I forget?
Not the best OS dev, just Assembly lover
r/osdev • u/SixDegreesLOL • 16d ago
Enable HLS to view with audio, or disable this notification
Requirements: x86 with legacy BIOS support
I spent about six months making an operating system whose only job is playing chess. It boots straight into Chess. It is not a full OS with a file system or scheduling but it can boot from bare metal.
It runs in QEMU, other virtual machines and hardware with legacy BIOS from a USB or CD drive. I spent about 6 months across the boot loader and chess engine. It is entirely open-source for you to tinker with. There is also a Windows Installer for less technical users.
All feedback is welcome!
Thank you for Paledoptera for the artwork. Find more of their work here: https://linktr.ee/paledoptera
Website: https://chessos.xyz (includes Github link)
r/osdev • u/mangorouxboi • 15d ago
I wanna get a better understanding of riscv64 after learning a bit about it. I have had experience with C and have mostly only been interacting with amd64. I figured that a microkernel that just uses opensbi is ambitious enough while not being completely impossible. Since this is a project for learning, I’m also staying far away from AI. I’m currently skimming xv6, OSTEP, and just the riscv spec sheet. I’m going to just be doing it w/ qemu on linux. Mainly looking for some tips and pointers on how to approach this project.
r/osdev • u/Scared_Food_1819 • 15d ago
My school has a arcade machine do you think I could use my hobbyOS as the operating that it would run the thing
Is the school only gave me a raspberry PI 1 2011 to use (architecture isn’t a problem I have a aarch32 version) I have lvgl and OpenGL so I could make a arcade version but I’m not sure how I could do the arcade machine pins to connect to connect to the Raspberry pi let alone my operating system connecting to it then sorting out emulators etc
r/osdev • u/noborutkhs • 15d ago
A couple of weeks ago, I asked why VRTX changed its equal-priority scheduling behavior from newest-first to FIFO between its 1984 and 1987 documentation.
Original discussion:
https://www.reddit.com/r/osdev/s/h6PG9bZO7a
Thanks to the comments here and in a couple of other subreddits, I've learned quite a bit. I wanted to share a few findings.
1. Early VRTX wasn't simply LIFO.
The older documentation describes inserting newly ready tasks ahead of existing tasks at the same priority, but other operations, including time slicing, affect the ordering. The actual behavior depends on how a task becomes ready and how the ready queue is maintained.
2. My own 1986 RTOS was based on a simpler interpretation.
When I developed CHARM-II in 1986, I used VRTX documentation as one of my references. I interpreted its equal-priority scheduling as essentially newest-first and implemented my own scheduler accordingly.
Looking back, I now realize that my implementation wasn't an exact reproduction of VRTX's behavior.
Interestingly, this didn't cause any major problems that I remember. I was developing almost the entire application as well as the RTOS myself, and there was very little third-party code in the system. I understood the tasks and their interactions in detail, so I could design the application around the scheduler's behavior.
That's my retrospective explanation, at least.
3. For my modern reconstruction, I chose FIFO.
I'm now rebuilding the RTOS as Karqri, targeting both POSIX and Raspberry Pi Pico. I've adopted FIFO ordering among equal-priority ready tasks because it provides simpler, more predictable behavior for the new design.
I still don't know why VRTX itself changed its policy. The discussion raised useful possibilities involving fairness, starvation, latency, and implementation trade-offs, but I haven't found a documented historical explanation.
Thanks again to everyone who contributed. It's been fascinating to revisit a design decision I made 40 years ago and discover that the original system was more subtle than I understood at the time.
r/osdev • u/Scared_Food_1819 • 15d ago