内存管理概念
内存空间的分配与回收
1.操作系统负责内存空间的分配与回收
2.操作系统需要提供某种技术从逻辑上读内存空间进行扩充
3.操作系统需要提供地址转换功能,负责程序的逻辑地址和物理地址的转换
为了让编程方便,程序员写程序应该只需要关注指令,数据的逻辑地址,而【逻辑地址到物理地址的转换】应该由操作系统负责,这样就保证程序员写程序时不需要关注物理内存的实际情况
三种装入方式(刚才讲过)
绝对装入
编译时产生绝对地址
可重定位装入
装入时逻辑地址转化成物理地址
动态运行时装入
运行时将逻辑地址转化成物理地址,需要设置重定位寄存器
内存保护
方法1:在cpu中设置一对上下限寄存器。存放进程的上下限地址,进程的指令要访问某个地址时,cpu检查是否越界。
方法2:采用重定位寄存器(基址寄存器)和界地址寄存器(限长寄存器)进行越界检查。重定位寄存器中存放的事进程的启始物理地址,界地址寄存器中存放的是进程的最大逻辑地址
比如说重定位寄存器保存了100
界地址寄存器保存了179
然后cpu想要访问n
它会先和界地址寄存器判断是否n<179
如果符合条件,就将其重定位,如果不符合,就抛出异常