Hey folks,
I'm a newbie, my final aim really is to contribute to the linux kernel.
I've gone through quite a few tutorials (James Molloy, Little OS Book, Minix) and I'm reading Robert Love's book on Linux Kernel Development. I've compiled a cross compiler and I've got a few of these OS's running on my system.
What really throws me of is, while I understand exactly how the pieces fit, I start to get lost when I see assembly or C code handling arbitrary things about hardware.
Fox example, Robert Love's book, on his interrupt chapter says "On a PC, the interrupt for a keyboard is 8. Now what is a PC in this context? IBM PC ? :/ What manual would tell me that a keyboard interrupt is 8 ?
I did find these manuals :
http://www.intel.com/content/www/us/en/ ... nuals.html
But its over 3000 pages long!
What manuals, or what part should I read to understand x86 OS development.
what hardware manuals should I read (& what is a PC?)
Re: what hardware manuals should I read (& what is a PC?)
For PC related stuff, I made a similar question some time ago and the some people answered with good references: http://forum.osdev.org/viewtopic.php?f=1&t=27549. Also, Ralf Brown's Interrupts is a good reference for PC interrupts.
About Intel Manual's (which covers only the x86 processor, so you won't find there, for instance, how to program the keyboard, or write to screen, etc) maybe you should look first at Volume 1 and then Volumes 3A,B,C.
About Intel Manual's (which covers only the x86 processor, so you won't find there, for instance, how to program the keyboard, or write to screen, etc) maybe you should look first at Volume 1 and then Volumes 3A,B,C.
Re: what hardware manuals should I read (& what is a PC?)
I'd suggest to start with the 80386 Programmer's Manual. It is a lot less to read and it covers some basics that are still relevant today. Of course the 80386 is outdated, but you may put additional knowledge on top of that.
Re: what hardware manuals should I read (& what is a PC?)
I'm still not sure what PC really means in all this. Does it mean IBM-PC compatible hardware? (That's what wikipedia suggest)For PC related stuff
I'm assuming now the PC architecture is everything on the computer besides the CPU? As in, how the hardware connects together?
I will checkout an 80286 manual.
Re: what hardware manuals should I read (& what is a PC?)
It might also be worth getting at least a basic understanding of what ACPI is and how it is used to describe resources found on any modern x86_64 computer and connections between them.
Here's the spec http://acpi.info/DOWNLOADS/ACPI_5_Errata%20A.pdf
Here's the spec http://acpi.info/DOWNLOADS/ACPI_5_Errata%20A.pdf