So I understand that in every computer, the Operating System, the BIOS, or both will determine the physical addresses of the hardware devices and then translate that into virtual addresses. What I don't get is....how? Is there a special piece of hard drive that contains those addresses? Is there a special assembly instruction or a special sequence of instructions that will return the address? I want to know the low level operations that make this possible. I understand that there are high level libraries written for this but I don't want that, I want to know exactly how it works, not how to make it work but how it works on a low level.