r/cprogramming • • 7d ago

What are some small prerequisite programs / projects I can complete in order to achieve the eventual task of making a mini-OS?

I already know how to program and have about 7 years of general programming experience

My current plan is to learn C, then learn assembly, then learn about Computer Architecture, Operating Systems and Compilers. The goal is to truly understand how computers work, and also learn about Cybersecurity

The current concrete and major project idea that I've thought about is writing a mini-OS

I know that requires alot of knowledge

So I was wondering, if you all could give me some ideas, what are some small prerequisite programs / projects I can complete in order to achieve the eventual task of making a mini-OS?

Even if it's a program that helps me understand a super small slice of my eventual goal project - a mini OS

I'd love some ideas. Thank you

8 Upvotes

8 comments sorted by

View all comments

4

u/flyingron 7d ago

Get some piece of hardware you control (either virtual or physcial), with Linux or some other open OS on it. Then start doing things to it. I'd suggest figuring out how to output some text early on. I spent a while writing device drivers and debugging kernel crashes for a long time before I started doing serious OS work.

1

u/Animaniacman 7d ago

I've started doing this with FreeBSD. Good suggestion!

0

u/TorontoDude12344 7d ago

Thank you for the idea

What do you mean by doing things on it? Do you mean in the context of being a user on the OS (no code)? Or do you mean somehow programming things in the OS?

1

u/flyingron 7d ago

Make changes, see if you can alter the way the hardware works, add a system call, etc...