Even closer I think :)
Please correct where necessary.
Rewritten after the help from Charles.
There is an I/O Address Space and the Address Space described in the IA-32
manuals under the heading of Basic Execution Environment (called the Virtual
When a computer starts up, hardware sets up the addresses for things like
the Hard Drive which works to assign address values to things like it's
accessible registers and these addresses are a part of the I/O address
Alot of registers for other devices are included here too.
A programmer uses these registers (at their assigned address) to write
binary numbers to it that act to command the device.
In the case of a Hard Drive, the registers can be used to send packets of
data (512b or 1k packets) to RAM which are then executed or read by a
When a packet of data is sent to RAM, it exists in the Virtual Address
So if you want to access a byte of Hard Disk space, one first commands it's
HDD sector to read it into RAM and then one can select the byte with it's
Virtual Address which would automatically make itself relative when you use
the paging mechanism.... I think.
A few things still to clear up (sowwy I'm slow :):
If for example a program has a loop in it, then at some stage it has to
point (address) back to a previous part of itself.
When writing a program, one would use the Virtual Address Space and can
start using the addresses from 00.
If you write another program, does it also use the same Virtual Address
Space and can it also start from the address 00?
When you put these two programs into RAM, if they are both using the same
Address Spaces, how does the processor make the distinction?
Is this where paging is needed?
Can you do this without paging?
I think I can summarize by saying that one addresses the HDD in blocks, and
these blocks have addresses within them that use the Virtual Address Space.
I no longer think this is related but out of curiosity, does RAM have it's
own set of addresses (probably in the I/O Address Space)?
Thanks enormously to all who are helping.
The PC & Electronic Data Map Project:
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system ( http://www.yqcomputer.com/
Version: 6.0.669 / Virus Database: 431 - Release Date: 4/26/04