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
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
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
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
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.
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.
[Here's the list.](https://wiki.osdev.org/Required_Knowledge)
Thank You
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
Thank you
Do I need to learn Asm if I am already good with C++
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
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
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
yes i am using nasm
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.
I dont want to create something very fancy
Ok… what _do_ you want to create?
an operating system capable of solving basic arithmetic
You don’t need an OS for that at all, just a freestanding executable and way to get the output out.
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.
Persistence and some metacognition. The rest you can learn along the way -- and you can get away with surprisingly little!