I wish to learn more about the inner working of the computer, to enhance my knowledge about embedded system developement.
At work, I never get involved with the low-level details (such as, the GDT, the loader of the code from flash to RAM, etc) as all these are already written.
I'd rather not buy any other hardware currently.
Is there an emulator, and a very simple OS, I can play with, in order to master with all those low level aspects of embedded programmimng? Is there a tutorial that can walk me through setting a very simple embedded environment (setting the memory segments, the GDT, getting to protected mode, and execute main()
)
The ususal suspects for x86 emulators would be Bochs and QEMU.
You might also want to take a look at James Molloy's kernel development tutorial and the resources it links to.
For our Operating Systems course we're currently using a toy OS called POTATOES. It's pretty basic and AFAIK based on James Molloy's kernel tutorials. You might have a look at it here.
In addition I can recommend the Wiki and discussion board at OSdev.org.
Edit: Some good information about the x86 architecture can be found in volume 3 of Intel's IA-32 Architectures Software Developer's manuals. Volume 1 features the basic architecture and in volume 2 you'll find a complete reference of the x86 assembly instruction set.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With