OS2012_UNIT5_1内存管理解决方案.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unit 5 内存管理 主题  ●概述  ●分区内存管理模式  ●页式内存管理模式  ●虚拟页式内存管理  ●段式内存管理模式  ●段页式内存管理 §1 概 述 ◆存储器架构 ◆操作系统在内存中的位置 ◆内存管理的目标 ◆内存管理模式 1.1 存储器架构    现代计算机的存储器系统一般由三个层次构成,从大到小(容量),从慢到快(存取速度)分别为:辅存、主存和高速缓存(cache)。  ■ 辅存(外存)    用来永久存放大量信息的存储器,但CPU不能直接寻址。    存储介质:磁盘、光盘、磁带    存储容量:GB ~ TB级---海量    存取速度:ms 级  ■ 主存    是直接与计算机总线连接的存储器,存放正在运行的程序和数据,是CPU可直接寻址的存储器。    存储介质:DRAM和ROM    存储容量:MB ~ GB    存取速度:ηs 级 (当前DRAM速度已可达到100 ηs)  ■ Cache(高速缓存)    Cache是CPU与主存之间的缓冲存储器,CPU可直接寻址,它存放当前被频繁访问的代码和数据,用于缓解CPU与主存的速度不匹配矛盾,提高CPU执行程序的速度。    存储介质:SRAM    存储容量:MB    存取速度:ηs  (与CPU速度基本匹配)    主存和cache合称为内存,即内存是CPU可直接寻址的工作存储器。任何需要运行的程序必须被加载到内存。 1.2 操作系统在内存中的位置    内存被划分成两大区域:系统区和用户区。    操作系统独占系统区,计算机加电后,操作系统便被加载并驻留在系统区。系统区包括DRAM的一部分(通常为低地址部分)和全部ROM。ROM中存放必须受保护的操作系统代码,如内核原语、基本驱动程序等。    用户区占据DRAM中的大部分,存放运行中的所有的非操作系统代码和数据。 1.3 内存管理的目标    内存管理是操作系统的核心管理功能之一。    对于现代的多道程序系统,内存管理有三个基本目标:公平的内存分配、地址空间保护及程序地址的独立性。这些目标是衡量一个内存管理系统是否完善的标准,是内存管理系统必须提供的基本抽象。    对于现代操作系统而言,内存管理的目标还包括扩充主存,即为进程提供虚拟内存。      1. 公平的内存分配    内存分配是实现多进程并发运行的基础。当创建一个新进程时,内存管理系统应能根据当时的内存分配状况,按新进程的需求分配给它适当的内存空间。当某个进程终止时则应及时回收其占用的内存空间,以供其他进程使用。    所谓公平,是指对于任何一个需建立的进程,内存管理系统都应即时满足该进程的内存空间的需求,不能厚此薄彼。内存分配策略涉及两个基本问题:    ■连续性/离散性分配    连续性分配是指为一进程的映象分配一片连续的主存区。离散性分配则是指为一进程的映象分配若干不连续的内存区域。    ■静态/动态分配    静态分配是指在创建一个进程时对该进程所需的整个内存地址空间进行一次性分配,该空间可装入进程的全部内存映象。    动态分配是指在创建一个进程时只给进程的部分映象分配内存地址空间,进程映象剩余部分的内存地址空间分配及加载是在该进程运行过程中动态完成。  2. 地址空间保护    每个进程都在内存中占据着一定的地址空间,对于并发运行的各个进程,内存管理系统必须确保它们之间互不干扰,即一个进程不能随便访问另一个进程的内存地址空间。这是保证并发进程能够正确运行的基本前提之一。      3. 程序地址独立    程序在执行前必须被加载到内存,执行时由CPU从内存中一条条读出指令执行。每条指令在执行时需要读取操作数和保存运算结果,而要读取操作数或保存运算结果,就需要给出操作数所在的内存单元地址或运算结果存放的内存单元地址,这个地址不能是物理内存地址,这是因为该程序在何种硬件配置的机器上运行并不能事先确定,编  译器在编译程序时自然不可能对症下药地给出对应于某台机器的物理内存地址,因此,指令中的地址只能是程序逻辑空间中的逻辑地址(相对地址),即程序给出的地址与具体机器的物理内存地址无关。为了保证CPU执行程序指令时能正确访问内存单元,内存管理系统需要负责将指令中的逻辑地址转换为可由CPU直接寻址的物理地址,这一过程称为地址映射或地址重定位。    地址映射有两种方式:(1)静态地址映射,这在程序加载到内存时由内存管理系统一次性完成,即扫描整个程序,把各指令中出现的逻辑地址都转换成程序实际所占内存空间中对应的物理地址;(2)动态地址映射,这在程序执行过程中随机进行,每当执行一条访内指令时再自动地将逻辑地址转换成物理地址。  4. 扩充主存    一个程序如果要运行,必须加载到物理主存里。但是主存的容量非常有限,因此

文档评论(0)

我是兰花草 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档