一、程序通过编译后,每一个目标模块都是从0号单元
开始编址,称为该目标模块的相对地址(或逻辑地址)。程序员
二、当连接程序将各个模块连接
成一个完整的可执行目标程序
时,连接程序顺序依次按各个模块的相对地址构成统一的从0号单元开始编址的逻辑地址空间
。编程
三、用户程序和程序员只需知道逻辑地址
,而内存管理的具体机制则是彻底透明的,它们只有系统编程人员才会涉及。安全
四、不一样进程能够有相同的逻辑地址,由于这些相同的逻辑地址能够映射
到主存的不一样位置。操作系统
五、物理地址空间是指内存中物理单元
的集合,它是地址转换的最终地址,进程在运行时执行指令
和访问数据
都要经过物理地址从主存中存取。当装入程序(Loader)将可执行代码装入内存时,必须经过地址转换
将逻辑地址转换成物理地址,这个过程称为地址重定位
。code
1)内存分配前,须要保护操做系统
不受用户进程
的影响,同时保护用户进程
不受其余用户进程
的影响。进程
2)经过采用重定位寄存器
和界地址寄存器
来实现这种保护。重定位寄存器含最小的物理地址值,界地址寄存器含逻辑地址值。每一个逻辑地址值必须小于
界地址寄存器,图片
3)内存管理机构动态的将逻辑地址与界地址寄存器进行比较
,若是未发生地址越界,则加上重定位寄存器的值后映射成物理地址,再送交内存单元。内存
4)当CPU调度程序选择进程执行时,派遣程序会初始化
重定位寄存器和界地址寄存器。每个逻辑地址都须要与这两个寄存器进行核对
,以保证操做系统和其余用户进程(程序)及数据不被该进程的运行所影响。内存管理
若是地址越界,会出现内存访问异常!
重定位寄存器就是段寄存器或页寄存器,也叫基址寄存器
段寄存器是存在于段式存储管理,段寄存器存的是段基址
页寄存器是存在于页式存储管理,页寄存器存的是起始页号编译