虚拟内存-基本概念以及理解
一、传统存储管理方式的特性缺点
- 一次性:作业必须一次性全部装入内存。
造成的问题:
- 作业很大时,无法全部装入内存
- 有多道作业要求运行时,内存无法满足所有作业同时运行,导致多道程序并发度下降
- 驻留性: 作业在内存中存在直到作业运行结束。
造成的问题:
- 当作业只要求一小部分的数据时,而内存中驻留了大量暂未使用数据,导致内存资源的浪费
二、程序执行的局部性原理
- 时间局部性 :在短时间内,程序中的数据有可能多次被重复执行
原因:程序中可能存在循环结构,所以同一个变量数据在短时间内可被重复使用
- 空间局部性:在相近的内存空间中,程序的数据和代码段有可能被重复的执行
原因:程序运行时所需要的数据变量有可能是连续存放的,因此在程序运行时,相近内存空间的数据代码可能被重复执行
三、虚拟内存的定义以及特征
- 定义:通过作业程序执行时的动态调入调出置换,从而在逻辑上扩充计算机系统的内存空间
- 特性:多次性,对换性,虚拟性
- 多次性:程序段或数据多次调入内存
- 对换性:作业程序在执行时可换入换出
- 虚拟性:在逻辑上对内存进行扩充,用户可以使用的空间可大于实际内存容量
四、如何实现虚拟内存技术
- 硬件基础:中断机构、地址转换机构、相关数据机构(段、段表、页、页表)
- 中断机构:当用户访问的部分不存在内存中时,中断程序的执行
- 地址转换机构:将动态虚地址转换为内存中的实地址
- 软件基础:请求分页存储管理、请求分段存储管理、请求段页式管理
基本分(页/段)存储管理+请求调页+页面置换功能