【转】为什么要有虚拟地址

地址映射:

一个应用程序(源程序)经编译后,通常会形成若干目标程序;这些目标程序再经过连接便形成了可装入程序。这些程序的地址通常都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的。由于这些地址所形成的地址范围称为“地址空间”,其中的地址被称为“逻辑地址”或者“相对地址”。此外,由内存中的一系列单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。

程序的地址范围:地址空间(其中的地址是逻辑地址)

内存的地址范围:内存空间(其中的地址是物理地址)

在多道程序环境下,每道程序不可能都从“0”开始装入(内存),这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。为了使程序能够正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能在硬件的支持下完成。

转载自:为什么要有虚拟地址

你可能感兴趣的:(【转】为什么要有虚拟地址)