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