虚拟存储器资料.ppt

* * 操作系统 深圳大学 计算机与软件学院 白鉴聪 * * 上节回顾 两级页表与多级页表:对页表本身采用分页管理 页表长度 = 页大小 / 页表项大小 n级页表逻辑空间计算=页表长度^n * 页大小 由逻辑地址计算外页号、外页内地址、页内地址 逻辑地址 /页大小 = 商……余数 页内地址 = 余数 外页号 = 商 /页表长度 外页内地址 = 商 mod 页表长度 基本分段管理:分段是具有逻辑意义的分隔 段地址是二维的,段表包含段开始地址和长度 段物理地址的计算 分页与分段的区别:P138 段页式管理:先分段后分页 地址计算:先求页号与页内地址,由段号查段表找到页表,由页号查页表得到块号,最后得到物理地址 * * 练习 有一基本分页存储管理系统,假定页面大小为4K字节,页表采用离散方式放在内存中。每个页表项占用8个字节。在忽略页表及系统区等占用空间的条件下: 若采用一级页表,系统能支持的逻辑空间最多为多少? 若采用二级页表,系统能支持的逻辑空间最多为多少? 若采用三级页表,系统能支持的逻辑空间最多为多少? 在二级页表中,现有逻辑地址为672938,求该地址对应的外层页号,外层页内地址和页内地址? * * 练习 在一个段页式存储管理系统,页面大小为2048字节。在一个进程中,它的段表、页表如下所示,求逻辑地址为(2,2099)对应的物理地址。 段表 (第2块) 段内页表 (第76块) 段内页表 (第33块) 段内页表 (第52块) 段号 页表首址 页号 内存块号 页号 内存块号 页号 内存块号 0 76 0 18 0 65 0 6 1 33 1 22 1 13 1 25 2 52 2 36 2 40 2 82 * * 4.6 虚拟存储器 常规存储器管理面临的问题: 单个作业很大,要求的内存超过总容量 大量作业要求进入,要求总量超过总容量,使得并发数量受限制 常规存储器管理方式的特征 一次性:内存浪费,每个作业都是一次性全部装入内存 驻留性:占用资源,不使用部分长期占用内存 * * 4.6 虚拟存储器 局部性原理: 1968年, Denning.P提出 程序执行时, 除了少部分的转移和过程调用指令外, 在大多数情况下仍是顺序执行的 过程调用将会使程序的执行轨迹由一部分区域转至另一部分区域, 但经研究看出,过程调用的深度在大多数情况下都不超过5 程序中存在许多循环结构, 这些虽然只由少数指令构成, 但是它们将多次执行 程序中还包括许多对数据结构的处理, 如对数组进行操作, 它们往往都局限于很小的范围内 * * 4.6 虚拟存储器 局限性又表现在下述两个方面: 时间局限性。如果程序中的某条指令一旦执行, 则不久以后该指令可能再次执行;如果某数据被访问过, 则不久以后该数据可能再次被访问。 时间局限性的典型是在程序中存在着大量的循环操作。 空间局限性。一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内 典型情况便是程序的顺序执行。 * * 4.6 虚拟存储器 虚拟存储器定义 :所谓虚拟存储器, 是指具有请求调入功能和置换功能, 能从逻辑上对内存容量加以扩充的一种存储器系统 其逻辑容量由内存容量和外存容量之和所决定 其运行速度接近于内存速度 成本接近于外存 虚拟存储器的虚拟特性: 对内存空间的虚拟,将大容量的外存(交换区)作为内存管理 对进程地址空间进行虚拟,允许进程有几乎无限大的地址空间 * * 4.6 虚拟存储器 虚拟存储器的实现:分页请求系统、请求分段系统 请求分页系统 在基本分页系统上增加请求调页功能和页面置换功能 发生缺页就请求调页 内存不足,就换出暂时不运行的页面 硬件支持:页表机制、缺页中断机构、地址变换机构 请求分段系统 在基本分段系统上增加请求调段功能和分段置换功能 调入即将运行的段和换出暂不运行的段 硬件支持:段表机制、缺段中断机构、地址变换机构 * * 4.6 虚拟存储器 虚拟存储器的特征 多次性:一个进程被分为多次调入内存运行 对换性:允许进程在运行过程中换入、换出 虚拟性:从逻辑上扩充内存容量 * * 4.7 请求分页存储管理 请求分页中的硬件支持 页表机制、缺页中断机构、地址变换机构 页表机制:纯分页的页表机制上增加若干项 状态位:指示本页是否已经调入内存 访问字段:记录本页在一段时间内访问的次数 修改位:本页在调入内存后是否被修改过 外存地址:本页在外存中的物理位置,一般是物理块号 页号 物理块号 状态位P 访问字段A 修改位M 外存地址 * * 4.7 请求分页存储管理 缺页中断机构:当要访问的页面不在内存便产生缺页中断,以请求OS将所缺的页调入内存 缺页中断与一般中断的共同点: 保存CPU现场 分析中断原因 缺

文档评论(0)

1亿VIP精品文档

相关文档