存储器管理是指对内存储器的管理,根据作业需要分配内存,当作业结束时及时回收所占用的内存区域。
存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,并提高内存的利用率。存储管理包括以下几个方面:
(1)内存分配
内存分配的主要任务是为每道程序分配内存空间,并使内存得到充分利用,在作业结束时收回其所占用的内存空间,尽量减少不可用的内存空间,提高内存空间的利用率。
(2)内存保护
内存保护的主要任务是保证每道程序都在自己的内存空间运行,彼此互不侵犯,防止一个进程访问其他进程的内存空间进而影响那个进程的正常执行。特别是不允许用户进程访问操作系统所占用的内存区域,否则可能造成整个系统瘫痪。
为了确保每个进程只在自己的内存区内执行,操作系统要有内存保护机制。一种比较简单的方法是使用两个寄存器,分别存放一个进程占用内存空间的上界和下界。对进程中每条指令所访问的内存地址进行检查,如果超出了所分配的内存空间范围,便停止该进程的执行。
(3)地址映射(www.daowen.com)
在多道程序设计环境下,每个作业是动态装入内存的,作业的逻辑地址必须转换为内存的物理地址,这一转换称为地址映射。
高级语言源程序经编译和连接后形成可装入内存的程序,这时程序中第一条指令的地址是从0开始的,后面的指令依次编址,由这些指令在程序中的地址所构成的地址范围称为地址空间,其中的地址称为逻辑地址或相对地址。由内存中的若干存储单元所构成的地址范围为内存空间,其中的地址称为物理地址。
(4)内存扩充
前面章节提到内存的容量必定是有限的。为满足用户的需要,通过建立虚拟存储系统来实现内存容量的逻辑上的扩充。
内存扩充的任务是借助于虚拟存储技术(把一部分外存虚拟成内存使用)从逻辑上扩充内存容量,而不是真正增加物理内存的容量。这种虚拟存储技术在不增加硬件成本的前提下,扩充了逻辑内存,能够执行更大的进程或使更多的进程能并发执行,提高了系统性能。实际初始的进程执行模式是要执行的进程及相应的数据需要全部调入内存才能执行。而虚拟内存技术则是先调入部分指令和数据就能启动进程执行,在执行过程中,根据需要逐步将后续指令和数据调入内存,同时把暂时不需要的已经执行过的指令和数据调至特定的外存区域。这样就能在不增加物理内存容量的前提下,执行更大的进程或使更多的进程并发执行,与内存配合的特定外存区域称为逻辑内存或虚拟内存,图5.2所示是作者电脑Win 10系统上在C盘上设置的虚拟内存情况。
图5.2 Win 10系统上的虚拟内存设置
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。