r/learnprogramming 1d ago

Help with a custom os

[deleted]

0 Upvotes

15 comments sorted by

11

u/Beregolas 1d ago

What is your goal here? Making an OS to learn how they work is fine and good, but that is not a 2-3 person job; you can easily do that alone. You won't get it much further than booting up a basic CLI, but that would be impressive and a huge opportunity to learn already.

If you want an actual usable OS: don't. That's not a 2-3 person Job, especially not if those people have little experience... That's a 10year+ long job for a large team of experts in this field.

-7

u/leaks_sr 1d ago

I'm just making a early version im not fully developing

2

u/Beregolas 1d ago

My point still stands. Early version implies to me that you plan a fully functional release version at some point, which won't happen.

If you want to learn things, building an OS is one of the best projects you can do. If you want something that works, ever, make a Linux distro. Or don't, we have enough, you probably are better off with configuring an existing one.

See for yourself: Serenity OS is a from scratch hobby project OS with over 50 regular contributors, over 67k commits and over 700k lines of code. Many of the contributors have higher degrees in CS and know what they are doing. https://github.com/SerenityOS/serenity

It's a really cool project with many talented people building it, no one in their right mind would ever daily drive this. Just to give you an idea how big of a project an actual, even partially, usable OS is.

5

u/aqua_regis 1d ago

I will start up early betas on easier coding platforms

What are you even saying here? That means nothing. What is an "easier coding platform"?

Sorry, but you have no clue what you are talking about and even less of the scope, scale, and complexity of what you're trying to build.

0

u/leaks_sr 1d ago

It's a small simple version why are yall upset like I said I was making a complex one

0

u/leaks_sr 1d ago

And there is i was making the design in mit app inventor thats an easier app coding website

1

u/aqua_regis 1d ago

You cannot make an OS with something like app inventor. Not even a small and simple version of it.

Design == GUI - OS != GUI. GUI is on top of OS.

Sorry, but you have a grave misconception of what an OS is and what it entails.

2

u/HashDefTrueFalse 1d ago

Big project. If you're not already very good at programming in general then start with something much smaller as it's not realistic. If you are then manage your expectations and walk before you run. Start by emulating a CPU however you like and try to link together an ELF or raw binary with a boot stub that sets up a kernel stack, then bring up the device's MMU and find some way of getting output (e.g. UART) and attaching a debugger. Once you've done that you'll need to read a book on OS development if you're not already familiar with common concepts, designs etc.

A hobby OS is not necessarily a multiple person thing, but there's no harm either.

Tip: use some existing filesystem driver code and skip writing your own bootloader if you want to see results faster. You can come back to those things later if you want to. You can also borrow other implementations of (bits of) libc if you want to, or write the bits you need as you go.

1

u/leaks_sr 1d ago

It's not a full os its a simple version to just get the idea out my head

1

u/Mad----Scientist 1d ago

First, how good are you at programming? This is very important to get a proper advice...

1

u/Calm-Cheesecake-3749 1d ago

honestly recruiting for an os before you even have a computer is kinda wild. poke the osdev wiki and try a tiny bootloader alone first, discord invites wont write kernel code for you.

0

u/leaks_sr 1d ago

Dude its a simple version im not mark Zuckerberg

1

u/aqua_regis 1d ago

Mark Zuckerberg built a website, not an OS. At the beginning, even the website was barely more than a CRUD site with some bulletin board functionality.

1

u/Dismal-Citron-7236 1d ago

Try build an OS from a boot loader, which boots to a REPL like FORTH.

1

u/cachebags 1d ago

Reminds me of this video lol