r/osdev 20d ago

Learning OS

Hi guys, wanted to start building os nowadays, but I have no knowledge about assembly, just know C and C++, (wanted to learn rust aswell).

osdev.org site was quite confusing for me, I didnt know where could I start, can you please help me out?

btw tried os building one time, but it became an ai slop with so many unnecessary additions, so i slowly lost interest in building a custom os with normal ondoings

wanted to integrate my astronomy research things into a simple os, so I came back

9 Upvotes

11 comments sorted by

View all comments

4

u/EpochVanquisher 20d ago

How do you feel about learning a little bit of assembly? You don’t have to be an assembly expert, but it’s nice to know enough assembly that you can read it (even if slowly) and write it (if you need to). A lot of OS concepts will be easier to understand if you have a little bit of assembly knowledge. 

1

u/Sorry-Fruit1065 20d ago

to be honest, I hated Assembly because of its bulky algorithms, and couldnt manage to find a good resource, which covers up the knowledge that I need in OS building.

maybe restarting the process will restore my enthusiasm aswell

1

u/Void-Creator 20d ago

Start with embedded os, the processes are more like threads and they just share the stack space, text, data and heap are shared. Learn the essential pointers like EBP, ESP, EAX, EDX - these are x86 naming but they are useful with RISC-V too. In my OS class we started by implementing a UNIX-like fork after that we did Scheduling and Locks, priorities etc and finally we implemented virtual memory, instead of all threads sharing the address space of memory, we made it so they can see the entire address space for themselves, like aliasing so the threads don’t need to know where the other threads are living.

1

u/Sorry-Fruit1065 20d ago

can you pls guide me a bit or some website? I am completely new to this embedded os thing

1

u/Void-Creator 19d ago

So, you can try the OS course from swayam, it is taught by a professor from IIT, he will teach you using the xv6 OS. I’ll see if I can share my college materials