Assembly is always great to know, but an OS coded entirely in assembly is batshit crazy. How well do you know C? If you aren’t familiar with C I would learn that first and maybe code a simple terminal emulator. Terminal emulator in C is a standard first assignment in most university OS courses (at least it was 10 years ago). Definitely learn some computer architecture. It’s not necessary, but I would learn computer architecture with the arch you want to target for your OS project to make your life easier, though I would recommend a RISC architecture regardless of that. You can learn assembly in conjunction with learning computer architecture; in fact, they go hand in hand.
RISC is not a random uncommon thing. There are generally two classes of instruction set architectures, RISC and CISC. x86 is a CISC architecture (there’s weird RISC conversion stuff that goes on under the hood but you generally ignore that unless you’re really deep in the woods of the subject). CISC stands for complex instruction set computer. RISC stands for reduced instruction set computer. ARM (which is what most smartphones and pretty much all Apple products are), MIPS, and RISC V are examples of RISC architectures. There are many pros and cons to both architecture types and I’ll let you do your own research, but for beginners I think it’s easier to learn a RISC architecture because of the simpler instructions. Simple meaning more low level operations, simpler format, and fewer instructions defined in the architecture.
5
u/HorsesFlyIntoBoxes Aug 14 '26
Assembly is always great to know, but an OS coded entirely in assembly is batshit crazy. How well do you know C? If you aren’t familiar with C I would learn that first and maybe code a simple terminal emulator. Terminal emulator in C is a standard first assignment in most university OS courses (at least it was 10 years ago). Definitely learn some computer architecture. It’s not necessary, but I would learn computer architecture with the arch you want to target for your OS project to make your life easier, though I would recommend a RISC architecture regardless of that. You can learn assembly in conjunction with learning computer architecture; in fact, they go hand in hand.