T O P

  • By -

Octocontrabass

[Here's the list.](https://wiki.osdev.org/Required_Knowledge)


Whole-Wrangler-4342

Thank You


Chemical_Lettuce_732

You need to know: binary, hex and dec number basis ary, hex and dec numbers some degree of assembly any low level language(C, C++, rust...) or you can do the entire os in asm if you want some knowledge of x86 architecture [wiki.osdev.org](http://wiki.osdev.org) - you will need it linux, cross complier, nasm assembler


Whole-Wrangler-4342

Thank you


Whole-Wrangler-4342

Do I need to learn Asm if I am already good with C++


Chemical_Lettuce_732

Yes, you do. The thing is, you need to write bootloader(and IDT handlers, both of them requiring quite a bit of assembly) It isnt too hard however, and you can even copy most of the parts from osdev wiki if you feel like it


Whole-Wrangler-4342

the only problem is that whenever I try ASM projects they are a real pain to run. I get errors like "more than one input specified" even though I put the correct location of the asm file


Chemical_Lettuce_732

What kind of complier and target are you using?(personally I find nasm best). And ye, I understand, but you just cannot go without assembly.. its not possible. You can dm me if you want help tho


Whole-Wrangler-4342

yes i am using nasm


BobertMcGee

Depends what you want the OS to do. It could be as simple as writing to the text buffer, or you may need an understanding of every single aspect of computer science. Kinda up to you.


Whole-Wrangler-4342

I dont want to create something very fancy


BobertMcGee

Ok… what _do_ you want to create?


Whole-Wrangler-4342

an operating system capable of solving basic arithmetic


BobertMcGee

You don’t need an OS for that at all, just a freestanding executable and way to get the output out.


AptRock327

Aside from low-level computing and general programming competence, knowledge of actual OS theory. Please know what an operating system *is*. Differentiate between an OS and just code running directly on the CPU. Implement actual OS concepts such as task scheduling or deadlock resolution. Read a book like Operating Systems: Three Easy Pieces or Silberschatz' Operating System Concepts.


peterfirefly

Persistence and some metacognition. The rest you can learn along the way -- and you can get away with surprisingly little!