逻辑地址空间和物理地址空间

时间:2022-02-06 13:42:10

1、程序经过编译后,每个目标模块都是从0号单元开始编址,称为该目标模块的相对地址(或逻辑地址)。

2、当链接程序将各个模块链接成一个完整的可执行目标程序时,链接程序顺序依次按各个模块的相对地址构成统一的

     从0号单元开始编址的逻辑地址空间。

3、用户程序和程序员只需知道逻辑地址,而内存管理的具体机制则是完全透明的,它们只有系统编程人员才会涉及。

4、不同进程可以有相同的逻辑地址,因为这些相同的逻辑地址可以映射到主存的不同位置。

5、物理地址空间是指内存中物理单元的集合,它是地址转换的最终地址,进程在运行时执行指令访问数据都要通过

     物理地址从主存中存取。当装入程序(Loader)将可执行代码装入内存时,必须通过地址转换将逻辑地址转换成物理地址,

     这个过程称为地址重定位。

内存保护

1)内存分配前,需要保护操作系统不受用户进程的影响,同时保护用户进程不受其他用户进程的影响。

2)通过采用重定位寄存器界地址寄存器来实现这种保护。

重定位寄存器含最小的物理地址值,界地址寄存器含逻辑地址值。每个逻辑地址值必须小于界地址寄存器,

3)内存管理机构动态的将逻辑地址与界地址寄存器进行比较,如果未发生地址越界,

加上重定位寄存器的值后映射成物理地址,再送交内存单元。

4)当CPU调度程序选择进程执行时,派遣程序会初始化重定位寄存器和界地址寄存器。

每一个逻辑地址都需要与这两个寄存器进行核对,以保证操作系统和其他用户进程(程序)

及数据不被该进程的运行所影响。

逻辑地址空间和物理地址空间