(2)存储空间的分配和释放 ●在计算机中,无论是系统程序、还是用户程序,无 论是数据、还是文件,必须装入主存才能进行处理。 系统通过空间分配管理表,记录系统中可用的空间 及占用的空间状态,来管理内存的分配和释放。 ●过程是: A)应用程序提出空间申请 B)若有足够内存,则装入程序执行;否则,等待或显示 内存空间不足。 上一页 C程序执行完毕,提出回收申请,系统回收内存。 停止放映 下一页 第16页
下一页 上一页 停止放映 第 16 页 (2)存储空间的分配和释放 ⚫ 在计算机中,无论是系统程序、还是用户程序,无 论是数据、还是文件,必须装入主存才能进行处理。 ⚫ 系统通过空间分配管理表,记录系统中可用的空间 及占用的空间状态,来管理内存的分配和释放。 ⚫ 过程是: – A)应用程序提出空间申请 – B)若有足够内存,则装入程序执行;否则,等待或显示 内存空间不足。 – C)程序执行完毕,提出回收申请,系统回收内存
存储分配方式 有三种 直接分配在源程序中直接使用主存的物理地址。对用 户要求高、使用不方便、易出错。早期计算 机系统中使用。 静态分配在作业装入前,由程序一次性说明作业所包 含的地址空间。确定后在整个程序执行过程 中不再改变。筒单、利用率低、雅于实现多 道程序对资源的共享。(对应静态地址转换) 上一→动态分配在作业被装入主存或在执行过程中,才确定 其存储分配。管理复杂、但利用率高,容易 停止放映 实现主存的资源共享。在现代多道程序系统 下一页 中,主要采用动态分配方式 第17页
下一页 上一页 停止放映 第 17 页 存储分配方式 有三种 ⚫ 直接分配 在源程序中直接使用主存的物理地址。对用 户要求高、使用不方便、易出错。早期计算 机系统中使用。 ⚫ 静态分配 在作业装入前,由程序一次性说明作业所包 含的地址空间。确定后在整个程序执行过程 中不再改变。简单、利用率低、难于实现多 道程序对资源的共享。(对应静态地址转换) ⚫ 动态分配 在作业被装入主存或在执行过程中,才确定 其存储分配。管理复杂、但利用率高,容易 实现主存的资源共享。在现代多道程序系统 中,主要采用动态分配方式
(3)存储空间的分区保护 在多道程序系统的主存主存空间的分区 保护示意图 中(环境),为了保护 系统程序的安全(目 系统 的),系统程序和用户 区域 程序实际使用的区域是 隔开的(方法)。 这种分割是靠硬件实现 的。用户程序只能使用 用户 上一页 用户区域的存储空间 区域 (说明) 停止放映 其他存保护 下一页 A)上下界保护 ●B)基址、限长寄存器保护 第18页
下一页 上一页 停止放映 第 18 页 (3)存储空间的分区保护 ⚫ 在多道程序系统的主存 中(环境),为了保护 系统程序的安全(目 的),系统程序和用户 程序实际使用的区域是 隔开的(方法)。 ⚫ 这种分割是靠硬件实现 的。用户程序只能使用 用户区域的存储空间 (说明)。 ⚫ 其他存储保护 ⚫ A)上下界保护 ⚫ B)基址、限长寄存器保护 系统 区域 用户 区域 主存空间的分区 保护示意图
(4)主存空间的扩充 ●主存的空间是有限的 希望在有限的空间中运行大型程序 ●使用的技术有: “自动覆盖”技术 “虚拟存”技术 上一页 停止放映 下一页 第19页
下一页 上一页 停止放映 第 19 页 (4)主存空间的扩充 ⚫ 主存的空间是有限的 ⚫ 希望在有限的空间中运行大型程序 ⚫ 使用的技术有: “自动覆盖”技术 “虚拟存储”技术
自动覆盖技术 ●思想:将大的程序划分为主存中可以容 纳的独立的逻辑处理段。每次只调入其 中的一段进行处理。 早期程序设计中,经常采用类似的方法 处理大的问题。例如,求解大型线性方 程组,就是采用“分块”算法将大的系 上一页 数矩阵分为小块矩阵求解的。 停止放映 下一页 第20页
下一页 上一页 停止放映 第 20 页 自动覆盖技术 ⚫ 思想:将大的程序划分为主存中可以容 纳的独立的逻辑处理段。每次只调入其 中的一段进行处理。 ⚫ 早期程序设计中,经常采用类似的方法 处理大的问题。例如,求解大型线性方 程组,就是采用“分块”算法将大的系 数矩阵分为小块矩阵求解的