计算机操作系统第5章综述.ppt

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

第5章 存储管理;存储器是计算机系统的重要资源之一。因为任何程序和数据以及各种控制用的数据结构都必须占用一定的存储空间,因此,存储管理直接影响系统性能。 存储器由内存(primary srotage)和外存(secondary storage)组成。内存由顺序编址的块组成,每块包含相应的物理单元。CPU要通过启动相应的输入输出设备后才能使外存与内存交换信息。本章主要讨论内存管理问题。 ;主要包括:;5.1.1 虚拟存储器 虚拟存储器是存储管理的核心概念。 在一个进程的执行过程中,其大部分程序和数据并不经常被访问。这样,存储管理系统把进程中那些不经常被访问的程序段和数据放入外存中,待需要访问它们时再将它们调入内存。 那么,对于那些一部分数据和程序段在内存而另一部分在外存的进程,怎样安排它们的地址呢?;;将进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器(virtual store或virtual memory)。虚拟存储器不考虑物理存储器的大小和信息存放的实际位置,只规定每个进程中互相关连信息的相对位置。与实际物理存储器数量有限,且被所有进程共享不一样,每个进程都拥有自己的虚拟存储器,且虚拟存储器的容量是由计算机的地址结构和寻址方式确定的。 直接寻址时,如果CPU的有效地址长度为16位,则其寻址范围为0到64K。;图中,编译和链接主要是语言系统的设计问题,而虚拟存储器到物理存储器的变换是操作系统必须解决的问题。要实现这个变换,必须要有相应的硬件支持,并使这些硬件能够完成统一管理内存和外存之间数据和程序段自动交换的虚拟存储器功能。即,由于每个进程都拥有自己的虚存,且每个虚存的大小不受实际物理存储器的限制,因此,系统不可能提供足够大的内存来存放所有进程的内容。内存中只能存放那些经常被访问的程序和数据段等。这就需要有相当大的外部存储器,以存储那些不经常被访问或在某一段时间内不会被访问的信息。待到进程执行过程中需要这些信息时,再从外存中自动调入主存。;5.1.2 地址变换 内存地址的集合称为内存空间或物理地址空间。内存中,每一个存储单元都与相应的称为内存地址的编号相对应。显然,内存空间是一维线性空间。 虚存的一维线性空间或多维线性空间变换到内存的唯一的一维物理线性空间所涉及的两个问题: 第一个问题是虚拟空间的划分问题。 虚拟空间的划分使得编译链接程序可以把不同的程序模块(它们可能是用不同的高级语言编写的),链接到一个统一的虚拟空间中去。虚拟空间的划分与计算机系统结构有关。 VAX-11型机中的虚拟空间就是划分为进程空间和系统空间两大部分,而进程空间又更进一步划分为程序区和控制区。VAX-11的虚拟空间容量为232单元,其中程序区占230单元,用来存放用户程序,程序段以零为基址动态地向高地址方向增长,最大可达230-1号单元。控制区也占230个单元,存放各种方式和状态下的堆栈结构及数据等,其虚拟地址由231-1号地址开始由高向低地址方向增长。系统空间占231个单元,用来存放操作系统程序。 ;图5.2 VAX-11机虚拟空间的划分;第二个问题是把虚拟空间中已链接和划分好的内容装入内存,并将虚拟地址映射为内存地址的问题,称之为地址重定位或地址映射。 地址映射就是要建立虚拟地址与内存地址的关系。实现地址重定位或地址映射的方法有两种: 静态地址重定位 动态地址重定位。;*;静态地址重定位;动态地址重定位(dynamic address relocation)是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换成内存地址。动态重定位依靠硬件地址变换机构完成。;动态重定位的主要优点有: 可以对内存进行非连续分配。显然,对于同一进程的各分散程序段,只要把各程序段在内存中的首地址统一存放在不同的BR中,则可以由地址变换机构变换得到正确的内存地址。 动态重定位提供了实现虚拟存储器的基础。因为动态重定位不要求在作业执行前为所有程序分配内存,也就是说,可以部分地、动态地分配内存。从而,可以在动态重定位的基础上,在执行期间采用请求方式为那些不在内存中的程序段分配内存,以达到内存扩充的目的。 有利于程序段的共享。 ;5.1.3 内外存数据传输的控制 要实现内存扩充,在程序执行过程中,内存和外存之间必须经常地交换数据。 最基本的控制办法有两种。 用户程序自己控制 用户程序自己控制内外存之间的数据交换的例子是覆盖(overlay)。覆盖技术要求用户清楚地了解程序的结构,并指定各程序段调入内存的先后次序。覆盖是一种早期的主存扩充技术。使用覆盖技术,用户负担很大,且程序段的最大长度仍受内存容量限制。因此,覆盖技术不能实现虚拟存储器。 操作系统控制 交换(swapping)方式 请求调入(on demand)方式和预调入

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档