网站大量收购独家精品文档,联系QQ:2885784924

第16讲 第四章 内存管理(一).ppt

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

第六章 存储管理 操 作 系 统 第十四讲 第5章 内存管理 计算机系统中的存储器可以分为两种:内存储器和辅助存储器。前者可被CPU直接访问,后者不能。辅助存储器与CPU之间只能够在输入输出控制系统的管理下,进行信息交换。 既然内存储器可被CPU直接访问,因此它是计算机系统中的一种极为重要的资源。在操作系统中,把管理内存储器的部分又称为“存储管理”。能否合理地使用内存,会在很大程度上影响到整个计算机系统的性能。 第4章 内存管理 4.1 内存管理功能 4.2 分区管理 4.3 页式管理 4.4 段式管理 4.5 段页式管理 4.1 内存管理功能 内存分两部分: 系统区:专门用来存放系统程序,仅供OS使用; 用户区:用来存放用户程序和数据。 内存管理实质上是对用户区进行管理。 内存有限,不能满足大型系统软件和应用程序的需要。要有效地管理好。应具有以下几方面功能: 4.1.1 内存的分配与回收 (重点是研究内存分配给多个用户使用和各种分配算法) 4.1.2 地址重定位 (研究各种地址变换机构以及静态和动态重定方法) 4.1.3 内存的共享与保护 (研究保护各类程序、数据区的方法) 4.1.4 虚拟存储器 (主要研究虚拟存储器和各种调度算法) 4.1.1 内存的分配与回收 多道程序环境下,必须对内存进行有效的分配,使有限的空间能容纳尽可能多的进程; 1、内存的分配方式 内存分配按分配时机的不同,可分为两种方式。 (1)静态分配 (2)动态分配 (1)静态分配 每个程序所需的内存空间在该程序装入内存时一次性分配给它,在它运行的整个期间不允许再申请其他内存,或在内存中移动位置。 也就是说,内存分配是在程序运行前一次性完成的。 (2)动态分配 在程序装入内存时,只给它分配所需的基本内存空间; 但在程序运行期间,为了适应程序和数据的动态增长,允许申请新的附加的内存空间,或是在内存中移动; 即分配工作可以在程序运行前及运行过程中逐步完成。 2、内存分配机制的功能 ⑴设置一个内存分配数据结构,用于记录内存空间的使用情况,即记录哪些内存空间已经分配给哪个进程,哪些内存是空闲的,以此作为分配和回收内存的依据。 ⑵分配内存空间。系统按一定的内存分配算法,给用户程序分配所需的内存空间,并修改相应的内存分配数据结构; ⑶回收主存空间:当一个进程运行结束后时,系统应回收其占用的内存空间,并修改相应的内存分配数据结构; 4.1.2 地址重定位 1、内存空间与逻辑地址空间 1)逻辑空间 在编辑环境下,用汇编语言或高级语言编写源程序时,总是用符号名来代表所访问的内存单元,称其为名空间。 逻辑地址:源程序经过汇编或编译后,形成目标程序,每个目标程序都是以0为基址顺序进行编址的,其余地址都相对于首地址而编址,这些地址称为逻辑地址(相对地址); 逻辑地址空间:由逻辑地址组成的集合(地址范围)称为逻辑地址空间。P138图 2、静态重定位和动态重定位 地址重定位:目标程序只有通过链接、装入内存才能运行,当程序装入内存时,每道程序不可能都从内存空间的0地址开始装入。因此,程序的逻辑地址与分配到的内存的物理地址不一致,为使程序能正确运行,必须将程序的逻辑地址空间中的逻辑地址转换为内存空间中的物理地址,这一过程称为地址重定位。 有静态重定位和动态重定位两种方式; (1)静态地址重定位/静态地址映射 静态地址重定位:是指当目标程序被装入内存时,由重定位装入程序,一次性完成逻辑地址到物理地址的转换。 在程序执行之前由操作系统完成的。 在运行过程中,不再进行地址转换。 是由重定位装入程序按照公式: 物理地址=逻辑地址+起始地址 把目标程序中所有的逻辑地址转换成物理地址; 特点 优点: 不需要硬件的支持,实现简单。 缺点: 但程序只能装入内存中连续的内存空间; 且一旦装入内存(即经地址重定位后)就无法在内存中移动。 (2)动态地址重定位 是指把目标程序装入内存时,并不立即把逻辑地址转达换为物理地址,而是在程序运行过程中,当CPU访问程序和数据时,才进行地址转换。 操作过程 为了提高地址转换的效率,需要重定位寄存器硬件的支持。 通常在程序装入内存后,将其在内存中的起始地址送入重定位寄存器中,在程序执行时,把要访问的程序的逻辑地址加上重定位寄存器中的起始地址,便形成CPU可访问的物理地址。 在程序执行期间进行的。 优点: 程序不限制一定要装入到连续的内存空间中,可以分散地装入到内存中多个不连续的区域,容易实现内存的扩充和共享; 可以部分地装入程序运行。 在执行过程中可在内存中移动,有利于内存的管理和利用。 缺点:是需要附加硬件的支持,实现存储管理的算法比较复杂。 4.1.3 内存的共享和保护 1、内存共享

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档