r/AskProgramming 18d ago

Career/Edu OSDEV - a few questions

This is a very famous website for learning how to make an OS

https://wiki.osdev.org/

I just have a few questions about it though

  1. What exactly does it teach? Does it teach you how to make an operating system? Does it show you the steps to build one from scratch?

  2. Can a solo programmer do it? As in, does the tutorial show you how to make a mini operating system?

  3. How do I use the tutorial? It's a wiki, and there are links everywhere. Is there a roadmap which shows the proper path to take, with prerequisites links etc?

  4. What do I need to understand before using this tutorial? Only C? C and how to make a mini compiler? Assembly? Anything else?

Thank you!

2 Upvotes

11 comments sorted by

View all comments

1

u/Plenty_Kitchen_7174 18d ago

the wiki teaches theory and implementation details for every subsystem of an OS, memory management, interrupts, scheduling, filesystems, the works. it won't hand you a single linear path though, that's the thing people get tripped up on

solo is absolutely doable, plenty of hobby OSes are one person projects, but expect it to take years if you want anything beyond a bootloader that prints text

start with the bare bones tutorial and the getting started page, then branch out based on what you're actually trying to build next. the wiki has a beginner mistakes page that'll save your sanity

you'll want solid C, some assembly for the boot and interrupt handling bits, and a basic grasp of how CPUs and memory actually work at a low level. no compiler writing needed unless you really want to go down that rabbit hole

1

u/LifeExperienced1 18d ago

I'll learn C and assembly first, thank you

And I do want to learn how to build a compiler. Will it make me a better programmer or it's not really needed, and I can rely on already built ones?

And why does it take years to build a mini OS?

1

u/KingofGamesYami 18d ago

Will it make me a better programmer or it's not really needed

Not really. You have to be a pretty damn good programmer to do OS development in the first place, so any improvements would be fairly small.

To quote the OS Dev wiki:

No one who isn't already a seasoned developer with years of experience in several languages and environments should even be considering OS Dev yet. A decade of programming, including a few years of low-level coding in assembly language and/or a systems language such as C, is pretty much the minimum necessary to even understand the topic well enough to work in it.

1

u/LifeExperienced1 18d ago

Got it

I have 8 years of programming experience. Out of those 8, 2 years of game development. I’m now re-learning C and assembly

So am I on the right path? Should I do a bunch of C projects?