操作系统的原理与应用-孔宪君-第5章 存储管理2.pptVIP

操作系统的原理与应用-孔宪君-第5章 存储管理2.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统原理 Principles of Operating System 主讲:孔宪君 5.4 分段存储管理方式 5.4.1分段存储管理方式的引入 一个程序由多个程序段和数据段组成,程序通过分段划分为多个模块,如代码段、数据段、共享段。 分段(segment)就是支持这种用户观点的内存管理方案。每个程序都有由一组段组成。每个段都有名称和长度。逻辑地址空间是二维的地址空间。 逻辑地址由两个元素组成:段号s|段内偏移d。 5.4.2分段存储管理系统的基本原理 进程的地址空间被划分成若干段,每个段定义一个完整逻辑意义的信息,段号从0开始编号。 进程加载时,操作系统为所有段分配其所需内存,段与段之间不必连续,物理内存的管理采用分区式存储管理方法。 分段存储管理具体如下: ①逻辑分段 段是一组逻辑信息的集合。将一个进程按照其不同的功能,分成若干个相对独立的段,为每个段命名,并编排段号。 ②内存分配管理方法 段为内存分配的基本单位,为每段分配连续的内存储存空间,每段的逻辑地址由0地址开始连续编址,段与段之间是离散的,物理内存的管理采用分区式存储管理方法。 ③段表 为了实现分段管理,系统为每个进程建立一个段表,用于描述组成进程地址空间的各个段在内存的物理位置,来实现进程的逻辑地址空间到内存存储空间的映射。段表的表项称为段描述子,一般包括:段号s、段长、段基址(base address)等。 5.4.3分段存储管理地址变换机构 如图所示,为了完成进程逻辑地址到物理地址的映射,CPU会查找内存中的段表,由段号得到段的基址,加上段内偏移,得到实际的物理地址。 5.4.4 段的共享 5.4.5 分段与分页系统的区别 ⑴页帧是信息的物理单位,分页是系统管理的需要,以解决内存的外碎片问题;段是信息的逻辑单位,分段的目的是为了更好地满足用户的需要,但分段存储管理存在外碎片问题。 ⑵页的大小是固定的,由系统硬件决定;段的长度是不固定的,大小由用户决定。 ⑶分页系统进程的地址空间是一维的,即该地址空间是单一的线性地址空间,程序员只需利用一个标识符,即可表示一个地址;分段系统进程的地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内偏移。 ⑷分页对于用户是透明,它仅仅用于对内存的管理;分段则对用户是可见的。 ⑸分段存储管理可以利用段的共享来实现内存共享;分页存储管理较难实现内存共享。 5.4.6段页式存储管理 分页管理和分段管理各有所长,将分页与分段结合形成段页式存储管理技术。 在段页式系统中,一个进程的地址空间被分成若干段,每段又被分成若干固定大小的页面。 段页式存储管理基本原理如下: ⑴进程按其逻辑意义分段。 ⑵段内分页。 ⑶内存实施分页存储管理,以页帧为单位分配内存。 ⑷逻辑地址结构为三元组:段号s,页号p,偏移量d〉,V(s|p|d) ⑸实现段页式存储管理需要两个重要的数据结构,即段表和页表。 ①系统为每个进程建立一个段表。其段描述子如下:段号、页表始址、页表大小、存取控制、状态等。 ②每个段建立一个页表。其页描述子如下:页号、帧号、访问位、修改位等。 2.段页式存储管理地址变换过程 如图所示段页式存储管理地址变换过程如下: ①从段表寄存器读取段表始址,找到段表。 ②段号+段表始址,得到段描述子地址。 ③从段描述子读取页表始址,页号+页表始址,得到页描述子地址。 ④从页描述子读取帧号。 ⑤由帧号f和偏移量拼成物理地址。 在段页式存储管理中,CPU每次访问一个在内存中的操作数,需要要三次访问内存,第一次访问内存段表取得页表始址,第二次访问页表取得帧号,形成物理地址,第三次访问内存中的操作数。 段页式存储管理地址变换过程 5.5 虚拟存储器 CPU执行的指令和数据必须在物理内存中 第一种方法是将整个程序放进内存中 第二种方法是将正在执行的部分程序放进内存中。覆盖技术允许程序部分装入,但是需要程序员做一些额外的工作。 虚拟存储器(virtual memory)技术允许程序部分装入内存,这种方案的一个很大的优点就是程序的逻辑地址空间可以比物理内存大。而且,虚拟存储器将内存抽象成一个巨大的、统一的存储空间,将用户看到的逻辑内存与物理内存分开,这种技术允许程序员不受内存存储的限制。 5.5.1局部性原理 ⑴时间局部性,一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短时期内。 ⑵空间局部性,当前执行的指令和其邻近的几条指令,当前访问的数据和邻近的数据都集中在一个较小区域内。 ⑶进程中有些部分是彼此互斥的,不是每次运行时都能执行到。 5.5.2虚拟存储器的基本原理 在进程装入时,不必将其全部装入内存,而只要将当前需要执行的部分页或段装入内存,就可以让进程执行。 在进程执行过程中,如果需要执行的指令或访

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档