- For x86 processors there are three different types of addresses
- Logical: Specifies the address of the operand or instruction
- Linear (virtual): 32 bit unsigned int used to address up to 4GB 0x00000000 to 0xffffffff
- Physical: This is the actual address of something on the RAM chip and not the one used by the process to refer to. The communication to the chip is controlled by the microprocessor uses 32/36 bit uints
- When using segmentation the following scheme works only because even though every process assume its the “only process present” not all data is present in main memory
- Even though each process is allowed up to 4GB of RAM on a 32 bit system
MMU (Memory Management Unit)
- Converts logical addresses into linear addresses via a segmentation unit then converts linear addresses into physical addresses via a paging unit
- In multiprocessor systems all CPUs share the same RAM
- Memory arbiters are placed on the bus to properly select a specific RAM chip