S
S
sddvxd2019-05-22 18:40:16
Windows
sddvxd, 2019-05-22 18:40:16

Why are addresses called "virtual" in windows?

Good afternoon!
While reading one of the articles about parsing a PE file, I came across the following abbreviation: RVA. Google said it was an address relative to the image base. Now the question is: why is it virtual? After all, if 2 processes project their image bases to the same address (for example, 0x400000), it is natural that both images cannot be located at the same address, because the OS converts the addresses into virtual ones, but does it hidden from the developer , that is at the time of development, the developer operates with such addresses as if the program will only be launched on the computer and that it will selfishly take "good numbers" for itself. Why do all these prefixes "virtual" to these terms, if the developer does not see any virtual addresses at all? Why relative virtual address,
relative base address? Please tell me what I don't understand

Answer the question

In order to leave comments, you need to log in

1 answer(s)
R
Radjah, 2019-05-22
@sddvxd

Because the system works in a protected mode of the processor, in which only the kernel works directly with the memory.
The kernel allocates an address space to each process, which is mapped to the real addresses of the RAM.
In short, here is https://ru.wikipedia.org/wiki/Protected_mode
If you want to drive bytes without such transformations, then you are in DOS, there is a real mode.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question