文档详情

第四章 存储器管理汇总.ppt

发布:2017-06-08约6.1千字共70页下载文档
文本预览下载声明
3. 动态重定位分区分配算法 图 4-13 动态重定位分区分配算法流程图 内存扩充 实现内存扩充的三种技术: 覆盖技术(overlay) 交换技术(swapping) 虚拟存储器(virtual memory) 覆盖(overlay) 引入:其目标是在较小的可用内存中运行较大的程序。常用于多道程序系统,与分区存储管理配合使用。 原理:一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间。 将程序的必要部分(常用功能)的代码和数据常驻内存; 可选部分(不常用功能)在其他程序模块中实现,平时存放在外存中(覆盖文件),在需要用到时才装入到内存; 不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。(即不同时用的模块可共用一个分区) 注:另一种覆盖方法:(100K) A(20K)占一个分区:20K; B(50K)、D(20K)和E(40K)共用一个分区:50K; F(30K)和C(30K)共用一个分区:30K; 覆盖技术 4.4 对换(Swapping) 1 对换的引入 将阻塞进程,暂时不用的程序,数据换出。 将具备运行条件的进程换入。 类型: 整体对换:进程对换,解决内存紧张 部分对换:页面对换/分段对换:提供虚存支持 2 对换空间的管理 外存 对换区比文件区侧重于对换速度。 因此,对换区一般采用连续分配。采用数据结构和分配回收类似于可变化分区分配。 4.4 对换 3 换出与换入 (1)换出 选出被换出进程: 因素:优先级,驻留时间,进程状态 换出过程: 对于共享段:计数减1, 是0则换出,否则不换 修改PCB和内存分配表 (2)换入: 选择换入进程:优先级,换出时间等。 申请内存。 换入 4.5 分页存储管理方式 连续分配引起:碎片 碎片问题的解决:紧凑方式消耗系统开销。 离散分配 分页 不具备页面对换功能的称为基本分页存储管理方式 分段 段页 1.页面 页面和物理块:逻辑空间和内存空间,页内碎片 页面大小由机器的地址结构决定 页太大,页内碎片大。 页太小:页表可能很长,换入/出效率低 2.地址结构 31 12 11 0 逻辑地址A;页大小L(设为1024);页内偏移d P= Int[A/L] d=A mod L 如: A=2170B. 则P=2, d=122 4.5.1 页面与页表 页号P 位移W 3.页表--实现从页号到物理块号的地址映射 0页 1页 2页 3页 4页 5页 n页 0 2 1 3 2 6 3 8 4 9 5 0 1 2 3 4 5 6 7 8 9 用户程序 页表 页号 块号 内存 Paging Example 例1:某系统采用页式存储管理策略,拥有逻辑空间32页,每页2K,拥有物理空间1M ①写出逻辑地址的格式 ②若不考虑访问权限等,进程的页表有多少项?每项至少有多少位? ③如果物理空间减少一半,页表结构应相应作怎样的改变? 答: ①该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位描述;而每页为2K,因此,页内地址必须用11位描述,格式如下: 15 11 10 0 ②每个进程最多32个页面,因此进程的页表项最多为32项;页表项只需给出页所对应的物理块块号,1M的物理空间可分为29个内存块,故每个页表项至少有9位。 ③如果物理空间减少一半,则页表中页表项数不变,但每项的长度减少1位。 页号 页内地址 4.5.2 地址变换机构 基本任务:借助页表完成逻辑页号-物理块号的映射。 1、基本地址变换机构: 页表寄存器:页表始址,页表长度 平时每个进程未执行时将其信息(如页表长度、始址)放在PCB中,执行时将它们装入页表寄存器。 地址变换机构自动将有效地址分为页号和页内地址 越界保护 检索页表 生成物理地址 例2:已知某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。 (1)将十进制的逻辑地址1023、2500、3500、4500转换成物理地址? (2)以十进制的逻辑地址1023为例画出地址变换过程图? 答: ①逻辑地址1023:1023/1K,得页号为0,页内地址为1023,查页表找到对应的物理块号为2,故物理地址为2×1K+1023=3071 ②逻辑地址2500:2500/1K,得页号为2,页内地址为452,查页表找到对应的物理块号为6,故物理地址为6×1K+452=6596 ③逻辑地址3500:3500/1K,得页号为3,页内地址为428,查页表找到对应的物理块号为7,故物理地址为7×1K+428=7596 ④逻辑地址4500:4500/1K,得页号为4,页内地址为404,因页号不小于页
显示全部
相似文档