Re: The Linear Address Space
From: Cameron Gibbs (odly_at_hotmail.com)
Date: 04/29/04
- Next message: Ivan Korotkov: "Re: The Linear Address Space"
- Previous message: Charles A. Crayne: "Re: The Linear Address Space"
- In reply to: Cameron Gibbs: "Re: The Linear Address Space"
- Next in thread: Ivan Korotkov: "Re: The Linear Address Space"
- Reply: Ivan Korotkov: "Re: The Linear Address Space"
- Reply: Bjarni Juliusson: "Re: The Linear Address Space"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 29 Apr 2004 08:52:52 +0000 (UTC)
Even closer I think :)
Please correct where necessary.
Rewritten after the help from Charles.
Thanks 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
Address Space).
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
space.
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
program.
When a packet of data is sent to RAM, it exists in the Virtual Address
Space.
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.
--
______________________________
Reply to the group.
______________________________
Procedurized mind at work.
Adhere to the sequence.
The PC & Electronic Data Map Project:
http://members.dodo.com.au/~cameron111
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.669 / Virus Database: 431 - Release Date: 4/26/04
- Next message: Ivan Korotkov: "Re: The Linear Address Space"
- Previous message: Charles A. Crayne: "Re: The Linear Address Space"
- In reply to: Cameron Gibbs: "Re: The Linear Address Space"
- Next in thread: Ivan Korotkov: "Re: The Linear Address Space"
- Reply: Ivan Korotkov: "Re: The Linear Address Space"
- Reply: Bjarni Juliusson: "Re: The Linear Address Space"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|