实存管理
虚存管理
常规存储管理方式的共同点:要求一个作业全部装入内存后方能运行。可能出现的问题:
解决方法
根据局部性原理,在程序装入时,不需要将其全部读入到内存,而只需将当前需要执行的部分页或段读入到内存,就可让程序开始执行。
在程序执行过程中,如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段) ,则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序。 (请求调入功能)
另一方面,操作系统将内存中暂时不使用的页或段调出保存在外存上,从而腾出空间存放将要装入的程序以及将要调入的页或段。 (置换功能)
多次性:作业被分成多次调入内存运行。正是由于多次性,虚拟存储器才具备了逻辑上扩大内存的功能。多次性是虚拟存储器最重要的特征,其它任何存储器不具备这个特征。
对换性:允许在作业运行过程中进行换进、换出。换进、换出可提高内存利用率。
虚拟性:指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。虚拟性是实现虚拟存储器最重要的目标。
虚拟性以多次性和对换性为基础,而多次性和对换性必须以离散分配为基础。
速度和容量:虚拟存储量的扩大是以牺牲 CPU 工作时间以及内外存交换时间为代价。
虚拟存储器的容量取决于主存与辅存的容量,最大容量是由计算机的地址结构决定。
虚拟存储器的逻辑地址空间理论上不受物理存储器的限制。
如 32 位机器,虚拟存储器的最大容量就是 4G,再大CPU 无法直接访问。
虚拟存储器的实现方法:请求分页、请求分段、请求段页式。
在分页系统的基础上,增加了请求调页功能、页面置换功能所形成的页式虚拟存储器系统。
它允许只装入若干页的用户程序和数据,便可启动运行,以后在硬件支持下通过调页功能和置换页功能,陆续将要运行的页面调入内存,同时把暂不运行的页面换到外存上,置换时以页面为单位。
系统须设置相应的硬件支持和软件:
在分段系统的基础上,增加了请求调段功能及分段置换功能,所形成的段式虚拟存储器系统。
它允许只装入若干段的用户程序和数据,便可启动运行,以后再硬件支持下通过请求调段功能和分段置换功能,陆续将要运行的段调入内存,同时把暂不运行的段换到外存上,置换时以段为单位。
系统须设置相应的硬件支持和软件: