I am trying to read Intel software developer manual to gain some understanding how operating system works and these four addressing terms is confusing me . Here is what i have understood, correct me if I am wrong.
linear address : What appear to a isolated program a long string of memory which start with address 0. all the segment of that program will be addressed from its linear address. It may be in the ram or in the disk.
physical address : Address that appear in the ram or main memory pins .
logical address : Combination of swap memory in the disk and ram . All the linear memory for all the program will stay in logical address space.It can be only used by kernel mode. The translation from logical to physical address is done by internal hardware.
virtual address : Virtual address is same as linear address. It will be only used by user mode in the operating system. Operating system will map virtual address from logical address.