在操作系统中,每个进程的内存空间都是独立的,因此操作系统需要保护一个进程的内存空间不受另一个进程的影响,同时,需要保护操作系统不受用户进程的影响。
操作系统实现内存保护有两种方式,分别为:上限寄存器下限寄存器和重定位寄存器。
CPU 中设置上、下限寄存器。存放用户作业在主存中的下限和上限地址,每当 CPU 要访问一个地址时,分别和两个寄存器的值对比,判断有无越界。
采用重定位寄存器(或基址寄存器)和界地址寄存器(限长寄存器)来实现保护。重定位寄存器中含最小的物理地址值,界地址寄存器含逻辑地址的最大值。
每个逻辑地址值必须小于界地址寄存器;若比较后未越界则加上重定位寄存器的值后映射成物理地址,再送内存单元。