- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精选ppt 图4-18 具有两级页表的地址变换机构 利用外层页表和页表这两级页表,来实现从进程的逻辑地址到内存中物理地址间的变换。 为了地址变换实现上的方便起见,在地址变换机构中同样需要增设一个外层页表寄存器,用于存放外层页表的始址,并利用逻辑地址中的外层页号,作为外层页表的索引,从中找到指定页表分页的始址,再利用P2作为指定页表分页的索引,找到指定的页表项,其中即含有该页在内存的物理块号,用该块号和页内地址d即可构成访问的内存物理地址。 1.两级页表 (续) 1.两级页表 (续) 2.多级页表 对于64位的机器,采用两级页表仍然有困难,必须采用多级页表,将外层页表再进行分页,也就是将各分页离散地装入到不相邻接的物理块中,再利用第2级的外层页表来映射它们之间的关系 ,来实现分页存储管理。 本章内容 4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 对换 4.5 分页存储管理方式 4.6 分段存储管理方式 4.6 分段存储管理方式 4.6.1分段存储管理方式的引入 引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要: 1)方便编程 例如,下述的两条指令便是使用段名和段内地址: LOAD 1,[A] |〈D〉; //将分段A中D单元内的值读入寄存器1 STORE 1,[B] |〈C〉; //将寄存器1的内容存入B分段的C单元中 2)信息共享 :在实现对程序和数据的共享时,是以信息的逻辑单位为基础的。 3)信息保护:分段管理方式能更有效和方便地实现信息保护功能。 4)动态增长:分段存储管理方式却能较好地解决数据段增长 。 5)动态链接 :在作业运行之前,并不把几个目标程序段链接起来。要运行时,先将主程序所对应的目标程序装入内存并启动运行,当运行过程中又需要调用某段时,才将该段调入内存并进行链接。它要求以段为单位进行管理。 4.6.1分段存储管理方式的引入 4.6.2 分段系统的基本原理 1.分段 在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。 每个段都有自己的名字。 每个段都从0开始编址,并采用一段连续的地址空间。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。 整个作业的地址空间,由于是分成多个段,因而是二维的,亦即,其逻辑地址由段号(段名)和段内地址所组成。 分段地址中的地址具有如下结构: 段号 段内地址 31 16 15 0 1.分段 2.段表 在系统中为每个进程建立一张段映射表,简称“段表”。 每个段在表中占有一个表项,其中记录了该段在内存中的起始地址(又称为“基址”)和段的长度。 段表是用于实现从逻辑段到物理内存区的映射 。 X:子程序段 D:数据段 S:栈段 3.地址变换机构 段号>段表长度 - 越界 若存在2i+1 的一个空闲分区,则把该空闲分区分为相等的两个分区,这两个分区称为一对伙伴,其中的一个分区用于分配,而把另一个加入分区大小为2i的空闲分区链表中。 若大小为2i+1的空闲分区也不存在,则需要查找大小为2i+2的空闲分区 4.3.4 伙伴系统(续) 若找到则对其进行两次分割: 第一次,将其分割为大小为2 i+1 的两个分区,一个用于分配,一个加入到大小为2 i+1的空闲分区链表中; 第二次,将第一次用于分配的空闲区分割为2 i的两个分区,一个用于分配,一个加入到大小为2 i 的空闲分区链表中。 4.3.4 伙伴系统(续) 若仍然找不到,则继续查找大小为2 i+3的空闲分区,以此类推。 在最坏的情况下,可能需要对2k的空闲分区进行k 次分割才能得到所需分区 4.3.4 伙伴系统(续) 回收 一次回收也可能要进行多次合并,例如:回收大小为2 i 的空闲分区时 若事先已存在2 i 的空闲分区时,则应将其与伙伴分区合并为大小为2 i+1的空闲分区 若事先已存在2 i+1的空闲分区时,又应继续与其伙伴分区合并为大小为2 i+2 的空闲分区。 4.3.4 伙伴系统(续) 在当前的操作系统中,普遍采用基于分页和分段机制的虚拟内存机制,该机制较伙伴算法更为合理和高效 在多处理机系统中,伙伴系统仍不失为一种有效的内存分配和释放的方法 优点:分配和回收内存速度快,且不会产生很多小碎片。 缺点:内存利用率不高,分配的内存大小为2的幂,假如只需要65个页面,也需要分配128个页面的块,
原创力文档


文档评论(0)