操作系统原理及应用(Linux)(第二版) -王红 第4章 存储器的管理课件文本.ppt

操作系统原理及应用(Linux)(第二版) -王红 第4章 存储器的管理课件文本.ppt

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 存储器管理 本章学习目标 本章主要讲解了存储器管理的基本方式,剖析了Linux 操作系统对内存的管理模式。通过对本章学习,读者应该达到以下学习目标: 重点掌握本章的基本概念,分页式存储管理技术和分段式存储管理技术,虚拟存储器的概念。 理解段页式存储管理技术,虚存中的置换算法。 了解Linux操作系统的存储管理技术。 教学内容 4.1 存储器管理概述 4.2 连续分配存储管理方式 4.3 分页存储管理方式 4.4 分段存储管理方式 4.5 虚拟存储器的基本概念 4.6 请求分页 4.7 请求分段存储管理 4.8 LINUX系统的内存管理方法 本章小结 4.1 存储器管理概述 4.1.1 存储器的层次 图4.1所示就是存储器的体系结构。 1.目标程序装入内存的方式 程序只有装入到内存后才能运行。装入方式分绝对装入方式、可重定位装入方式和动态运行时装入方式。 (1)绝对装入方式 在编译时,如果知道程序将驻留在内存什么位置,那么编译程序将产生绝对地址的目标代码。绝对装入程序按照装入模块中的地址,将程序和数据装入内存。装入模块被装入内存后,不须对程序和数据的地址进行修改,程序中所使用的绝对地址,即可以在编译或汇编中给出,也可以有程序员直接给予。一般不让程序员给予地址,通常情况是在程序中采用符号地址,然后在编译或汇编时,将这些符号地址再转化为绝对地址。 (2)可重定位装入方式 又称静态重定位。是在程序执行之前,有操作系统的重定位装入程序完成。一般用于多道程序环境中,编译程序不能预知所编译的目标模块在内存什么地方。重定位程序根据装入程序的内存起始地址,直接修改所涉及到的逻辑地址,将内存的起始地址加上逻辑地址得到正确的内存地址。 (3)动态运行时的装入方式 又称动态重定位。是在程序执行期间进行的。一般说来,这种转换有专门的硬件机构来完成,通常采用一个重定位寄存器 ,每次进行存储访问时,对取出的逻辑地址加上重定位寄存器的内容,形成正确的内存地址。如图4.4所示. 2.目标程序链接 链接程序的功能,是将经过编译或汇编后得到的一组目标模块以及它们所需要的库函数,装配成一个完整的装入模块。实现链接的方法有三种:静态链接、装入时动态链接和运行时动态链接。 (1)静态链接 设编译后得到的三个目标模块A、B、C,它们的长度分别为L、M和N。 程序链接示意图如图4.5所示。需要完成的工作是对相对地址进行修改,同时变换外部调用符号,将每个CALL语句改为跳转到某个相对地址,从而形成一个完整的装入模块,又称可执行文件。通常不再拆开,运行时可直接装入内存。这种事先进行链接,以后不再拆开的方式称为静态链接。 (2)装入时动态链接 用户源程序经编译后得到目标模块,是在装入内存时边装入边链接的。即在装入一个目标模块时,若发生一个外部模块调用时,将引起装入程序去找相应的外部目标模块,并将它装入内存。 (3)运行时动态链接 装入时进行的链接虽然可以将整个模块装入到内存的任何地方,但装入摸块的结构是静态的。在程序执行期间装入模块是不可改变的,因为无法预知本次要运行哪个模块,只能将所有可能要运行的模块,在装入时全部链接在一起,使得每次执行的模块都相同。这样效率很低,因此采用运行时动态链接。在这种链接方式中,可将某些目标模块的链接,推迟到执行时才进行。即在执行过程中,若发现一个被调用模块尚未装入内存时,有OS去找该模块,将它装入内存,并把它链接到调用模块上。 4.2.连续分配存储管理方式 连续分配是指为一个用户程序分配一个连续的内存空间,连续分配有两种:单道程序的连续分配和多道程序的连续分配。多道程序的连续分配又称为分区分配方式,它包括固定分区、动态分区和动态重定位分区三种。下面就是对各种连续存储管理的研究。 4.2.1 单道程序的连续分配 这是一种最简单的存储方式,只能用于单用户、单任务的操作系统。在这种存储方式中,内存分为两个分区:系统区和用户区。 1.系统区。 仅供操作系统使用,一般驻留在低址部分,其中包括中断向量。 2.用户区 操作系统以外的全部空间。其结构图如图4.6所示。 为了避免用户程序执行时访问了操作系统所占空间,应将用户程序的执行严格控制在用户区域。称之为存储保护,保护措施主要是有硬件实现。硬件提供界地址寄存器和越界检查机构。将操作系统所在空间的下界a存放在界地址寄存器中,用户程序执行时,每访问一次主存,越界检查机构便将访问主存的地址和界地址寄存器的值进行比较,若出界则报地址错。 4.2.2 固定分区分配方式 固定分区管理比较简单

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档