操作系统课件-os5.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课件-os5

分页、分段存储管理方式 内存分区管理存在问题: 固定分区方式:将产生大量的内部“碎块”; 动态分区方式:将产生大量的外部“碎块”,而进行“紧凑”则需要额外的开销。 思路: 把用户的程序空间划分成若干块,它们可以离散分配到内存中非连续的存储区域中。充分利用内存。 分类:按程序分块的大小是否固定分为 分页存储、分段存储、段页式存储。 * 5.4 分页存储管理方式 实现方法: 把用户程序的地址空间划分成若干固定大小的区域(fixed size chunk),把它们叫“页”(一般1页为1KB)。把内存空间划分成若干和“页”大小相同的物理块,这些物理块叫“页框”(frame)。 内存分配: 把用户程序的任一页分配到内存中的任一帧,从而实现非连续的、离散的内存分配。 问题: 如何管理、如何进行地址变换。 * 一、分页存储管理基本方法 程序A 0页 1页 2页 3页 4页 5页 n页 进程A页表 0 0 页号 块号 1 1 2 4 3 5 4 8 5 9 0 1 2 3 4 5 6 7 8 …… …… 内存 9 程序B 0页 1页 2页 3页 4页 5页 m页 进程B页表 0 2 页号 块号 1 3 2 6 3 7 …… …… 自由页框表 块号 …… 页表作用: 实现页号到物理块号的映射。 返回 * 分页存储管理方式的地址结构 地址组成:页号P+(页内地址)位移量d 例如:32位地址,0~11为位移量(4KB/页),12~31为页号,最大可以有1M页。 页号P和页内地址d的确定:设逻辑地址空间中的地址为A,页面大小为L: P= INT[ A / L ] d=[ A ] mod L 地址结构: 页号P 位移量d 12 11 0 31 * 页面大小的确定 分页系统中,页面的大小是有硬件的地址结构所决定的。机器确定、页面大小便确定。 影响因素: 页面↓→内部碎块↓、内存的利用率↑ 页面↓→页表↑、占用内存↑ 页面↓→页面的换出换入效率↓。 计算机类型 页面大小(B) IBM AS/400 VAX Intel 80386 Motorola 68030 512 512 4096 4096 常见机型页面 * 二、地址变换机构 分页存储系统中,地址变换机构的任务: 把逻辑地址中的页号转换为内存中物理块的块号。 注意:页面大小与页框大小一致,无须进行页内地址转换。 实现转换:借助于页表。 页表的实现: 寄存器:变换速度快、成本高,适应小型系统。 页表驻留在内存:速度较低、成本低,适应大系统。 页表 * 页表驻留在内存的变换机构 在系统中设置一个页表寄存器(PTR—page table register):存放页表在 内存的起始地址和页表的长度;非执行状态该数据保存在进程的PCB中。 页表寄存器 页表始址 页表长度 逻辑地址 页号=2 页内地址=128 0 0 页号 块号 1 1 2 4 3 5 …… …… + 4 内存 页表 越界中断 物理地址 128 * 具有快表的地址变换机构 页表存放在内存时CPU存取数据,访问两次内存: 第一次:访问内存页表,找到物理块号+页内地址,形成物理地址。 第二次:访问内存,读/写数据。 具有快表:在地址变换机构中增设一个具有并行查询能力的特殊高速缓冲存储器—联想存储器/快表。工作原理: CPU给出有效地址; 如果地址“快表”中,直接读出对应的物理块号,送往物理地址寄存器;再访问内存。 如果快表没有对应的地址,从内存“页表”读取地址送往物理地址寄存器,访问内存;把页表项存入快表或把老的页表项换出。 不设联想存储器:访问时间延长一倍。 * 具有快表的地址变换机构(续) 页表寄存器 页表始址 页表长度 逻辑地址 页号 页内地址 0 0 页号 块号 1 1 2 4 3 5 …… …… + 4 内存 页表 (慢表) 越界中断 物理地址 页号 块号 2 4 输 入 寄 存 器 快表 * 三、两级、多级页表 一级页表存在问题: 支持的逻辑空间越大,页表就越大,页表所占用的内存空间就越大。如:设32位逻辑空间,页面大小为212B,需要220个表项,每个表项4B,则需要4M的连续内存空间。 从两个方面解决: 离散分配页表; 部分页表驻留在外存:需要时调入内存。 * 1、两级页表 实质:把大的页表再进行分页存放,实现存放页表的页面离散存放。 外部页表:存放每个页表的物理块号。 逻辑地址结构: p1 p2 d 外层页号 外层页内地址 页内地址 31 22 21 12 11 0 逻辑 地址 外部页表寄存器 + 外部页表 + 页表 物理地址 * 1011 1078 …… 1742 0 1 2 n 外部页表 1 3 5 …… 211 212 240 …… 第0页页表 第1页页表 1211 1212 …… 第n页页表 ……

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档