Answer the question
In order to leave comments, you need to log in
System programming, where to start?
A long time ago I had a dream to do systems programming . Writing emulators , interpreters, wasps and more. Now I'm a big boy, but I don't know where to start. A search on the topic emulation does not really give anything. Help a newbie. I know c#, some c++. Throw, please, literature, articles and other information. Share your experience.
PS At first I will use Windows, but in the future (far) I think I will switch to Archlinux.
PPS I think that before mastering assembler, you need to learn more about everything.
PPPS "PS By the way, let me ask what kind of assembler you are going to master: ARM? MIPS? AMD64?"
Arm was going.
Answer the question
In order to leave comments, you need to log in
First C, then you read Tanenbaum's book. And how to proceed, you will decide for yourself, knowledge will be enough.
I know c#, some c++.
Start by trying to write an NES emulator. The documentation is complete, this topic has been sucked from all sides.
PPS I think that before mastering assembler, you need to learn more about everything.Learning assembly itself will bring a lot of information about the design of processors, and the absence of syntactic sugar will bring knowledge of how this sugar is implemented in languages.
Start small, buy a stm32f4-discovery stm32 card, load freertos into it and blink the diodes.
Well, or in Linux, make a simple driver according to the book of Ori Pomerants, it is everywhere in the public domain, the original is here www.tldp.org/LDP/lkmpg/2.6/html/index.html
to emulate something you need to know how it works in reality. If you know how what you're trying to emulate works, you can figure out how to do it programmatically.
Conclusion - we read books, for example, Tanenbaum, we understand how what you want to emulate works, etc. In a word... google not "how to do what I want" but split the task into subtasks, etc.
Learn Rust and D.
On the first one, you can write at a very low level, on the second, in theory, too, but there will be a small overhead that system engineers do not like.
If you know Chinese, you can read what they write about bootloaders here) forum.dlang.org/thread/[email protected]
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question