第5章存储管理-计算机操作系统PPT资料.ppt

上传人:b****2 文档编号:15595698 上传时间:2022-11-07 格式:PPT 页数:156 大小:1.50MB
下载 相关 举报
第5章存储管理-计算机操作系统PPT资料.ppt_第1页
第1页 / 共156页
第5章存储管理-计算机操作系统PPT资料.ppt_第2页
第2页 / 共156页
第5章存储管理-计算机操作系统PPT资料.ppt_第3页
第3页 / 共156页
第5章存储管理-计算机操作系统PPT资料.ppt_第4页
第4页 / 共156页
第5章存储管理-计算机操作系统PPT资料.ppt_第5页
第5页 / 共156页
点击查看更多>>
下载资源
资源描述

第5章存储管理-计算机操作系统PPT资料.ppt

《第5章存储管理-计算机操作系统PPT资料.ppt》由会员分享,可在线阅读,更多相关《第5章存储管理-计算机操作系统PPT资料.ppt(156页珍藏版)》请在冰豆网上搜索。

第5章存储管理-计算机操作系统PPT资料.ppt

3.虚拟存储器的概念;

虚拟存储器的概念;

4.控制主存和外存之间的数据流动方法;

控制主存和外存之间的数据流动方法;

5.地址变换技术和内存数据保护与共享技术等。

地址变换技术和内存数据保护与共享技术等。

3/1565.1.1虚拟存储器虚拟存储器虚拟存储器是存储管理的核心概念。

虚拟存储器是存储管理的核心概念。

内存内存:

访问速度快,价格昂贵,存储容量相对较小。

断:

断电后,信息不存在。

电后,信息不存在。

外存外存:

访问速度较慢,价格便宜,性价比高,适合于存:

访问速度较慢,价格便宜,性价比高,适合于存放大量信息。

放大量信息。

存储管理系统把进程中那些不经常被访问的程序段和数存储管理系统把进程中那些不经常被访问的程序段和数据放入外存中,待需要访问它们时再将它们调入内存。

据放入外存中,待需要访问它们时再将它们调入内存。

根据什么把一部分数据和程序段放在内存而另一部分放根据什么把一部分数据和程序段放在内存而另一部分放在外存,怎样安排它们在内存中的地址呢?

在外存,怎样安排它们在内存中的地址呢?

用户编写的源程序,首先要由编译程序编译成用户编写的源程序,首先要由编译程序编译成CPU可可执行的目标代码执行的目标代码(.obj)。

然后,链接程序把一个进程的然后,链接程序把一个进程的不同程序段链接不同程序段链接(.exe)起来以完成所要求的功能。

起来以完成所要求的功能。

4/156有两种方法安排这些编译后的目标代码的地址。

有两种方法安排这些编译后的目标代码的地址。

一种方法一种方法是按照物理存储器中的位置赋予实际物理地是按照物理存储器中的位置赋予实际物理地址。

这种方法的好处是址。

这种方法的好处是CPU执行目标代码时的执行速执行目标代码时的执行速度高度高(不需要进行地址转换)。

但是,由于物理存储器的容量限制,装入内存并发执但是,由于物理存储器的容量限制,装入内存并发执行的进程数量多,或者较大的进程来说,当要求的内行的进程数量多,或者较大的进程来说,当要求的内存容量超过内存总容量时将无法执行。

存容量超过内存总容量时将无法执行。

另外,由于编译程序必须知道内存的当前空闲部分及另外,由于编译程序必须知道内存的当前空闲部分及其地址,并且把一个进程的不同程序段其地址,并且把一个进程的不同程序段连续连续地存放起地存放起来,因此编译程序将非常复杂。

来,因此编译程序将非常复杂。

5/156另一种方法另一种方法是编译链接程序把用户源程序编译后链接到是编译链接程序把用户源程序编译后链接到一个以一个以0地址为始地址的线性或多维虚拟地址空间。

地址为始地址的线性或多维虚拟地址空间。

链接可以是链接可以是静态链接静态链接:

在程序执行以前由链接程序完成,在程序执行以前由链接程序完成,也可以是也可以是动态链接动态链接:

在程序执行过程中根据需要而进行。

每一个进程都有一个每一个进程都有一个虚拟空间虚拟空间(是一维的还是多维的由存储管理方式决定)。

每个指令或数据单元都在这个虚拟空间中拥有确每个指令或数据单元都在这个虚拟空间中拥有确定的地址,把这个地址称为定的地址,把这个地址称为虚拟地址虚拟地址(virtualaddress)。

)。

显然,进程在该空间的地址排列是显然,进程在该空间的地址排列是非连续非连续的,其的,其物理地物理地址址是由是由虚拟地址虚拟地址经过经过地址变换机构地址变换机构变换得到。

变换得到。

由源程序到实际存放该程序指令或数据的内存物理位置由源程序到实际存放该程序指令或数据的内存物理位置的变换如图的变换如图5.1所示。

所示。

6/156程序的加载和链接程序的加载和链接源模块源模块1目标模块目标模块1源模块源模块2目标模块目标模块2源模块源模块n目标模块目标模块n加载模块加载模块(在外存)(在外存)加载模块加载模块(在内存)(在内存)编译编译链接链接加载加载运行运行7/156图图5.1地址变换与物理存储器地址变换与物理存储器将进程中的目标代码。

数据等的虚拟地址组成的虚拟空间将进程中的目标代码。

数据等的虚拟地址组成的虚拟空间称为称为虚拟存储器虚拟存储器(进程的寻址空间,理论值)。

虚拟内存(虚拟内存(VirtualMemory)在具有层次结构存储器的计在具有层次结构存储器的计算机系统中,采用自动实现部分装入和部分对换功能,为算机系统中,采用自动实现部分装入和部分对换功能,为用户提供一个比物理主存容量大得多的可寻址的空间。

用户提供一个比物理主存容量大得多的可寻址的空间。

它使用户的逻辑存储器与物理存储器分离,是操作系统给它使用户的逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间用户提供的一个比真实内存空间大得多的地址空间。

程序空间程序空间逻辑空间逻辑空间物理空间物理空间符号地址符号地址逻辑,虚拟地址逻辑,虚拟地址物理地址物理地址8/156虚拟存储器的虚拟存储器的实际实际容量受到两方面的限制:

容量受到两方面的限制:

(11)指令中表示地址的字长)指令中表示地址的字长(地址总线的二进制位数)。

一个虚拟存储器的最大容量是由计算机的地址结构确一个虚拟存储器的最大容量是由计算机的地址结构确定的。

定的。

逻辑逻辑容量。

容量。

如:

直接寻址直接寻址时,有效地址长度为时,有效地址长度为16位,则其寻址范位,则其寻址范围为围为0到到64K。

若若CPUCPU的有效地址长度为的有效地址长度为3232位,则程序位,则程序可以寻址范围是可以寻址范围是00223232-1-1,即虚存容量为,即虚存容量为4GB4GB。

(22)外存的容量外存的容量。

虚拟存储器的虚拟存储器的实际实际(物理物理)容量是由主存与辅存的容量容量是由主存与辅存的容量之和所确定。

之和所确定。

9/156虚拟内存的特征虚拟内存的特征1.虚拟性。

虚拟性。

虚拟内存不是扩大实际的物理内存,而是虚拟内存不是扩大实际的物理内存,而是扩充逻辑内存的容量。

扩充逻辑内存的容量。

2.部分装入部分装入。

每个进程不是全部装入内存。

首先是部。

首先是部分装入。

当需要执行的程序和数据不在内存时,才将分装入。

当需要执行的程序和数据不在内存时,才将需要的程序和数据装入内存。

需要的程序和数据装入内存。

3.对换性。

对换性。

在一个进程运行期间,它所需要的程序和在一个进程运行期间,它所需要的程序和数据可以分多次调入,以满足当前程序执行的需要。

数据可以分多次调入,以满足当前程序执行的需要。

对内存中那些暂时不使用的程序和数据可以换到外存对内存中那些暂时不使用的程序和数据可以换到外存的的交换区交换区存放,以腾出更多的内存空间供可运行进程存放,以腾出更多的内存空间供可运行进程使用。

使用。

10/156虚拟存储器技术需要解决的问题虚拟存储器技术需要解决的问题:

地址映射地址映射:

将逻辑地址转换成物理地址;

分配策略分配策略:

虚拟空间的分配算法;

置换策略置换策略:

将内存空间的内容交换到外存的算法;

装载控制装载控制:

将外存空间的内容加载到内存的算法。

11/156由虚拟存储器到物理存储器的地址变换是由操作系统解决。

由虚拟存储器到物理存储器的地址变换是由操作系统解决。

要实现这个变换,必须要有相应的硬件支持。

1)多极储存结构;

)多极储存结构;

2)动态地址转换机构。

)动态地址转换机构。

高速缓存内存外存每一级的成本,容量,速度不一样。

每一级的成本,容量,速度不一样。

12/1565.1.2地址变换地址变换用户程序装入内存时用户程序装入内存时,对有关指令的地址部分的修改对有关指令的地址部分的修改,定义为从程序地址到内存地址的定义为从程序地址到内存地址的地址映射地址映射,或称为,或称为地址地址重定位重定位。

内存地址的集合称为内存地址的集合称为内存空间内存空间或或物理地址空间物理地址空间。

为每一。

为每一个内存存储单元的地址都编号。

内存空间是一维线性空个内存存储单元的地址都编号。

内存空间是一维线性空间。

间。

把虚拟空间的地址转换成物理空间的地址涉及到两个问把虚拟空间的地址转换成物理空间的地址涉及到两个问题。

题。

一个是虚拟空间的划分问题一个是虚拟空间的划分问题。

如进程的正文段和数据段如进程的正文段和数据段应该放置在虚拟空间的什么地方。

虚拟空间的划分使得应该放置在虚拟空间的什么地方。

虚拟空间的划分使得编译链接程序可以把不同的程序模块编译链接程序可以把不同的程序模块(可以是用不同的高级语言编写的),链接到一个统一的虚拟空间中去。

虚拟空间的,链接到一个统一的虚拟空间中去。

虚拟空间的划分与计算机系统结构有关。

划分与计算机系统结构有关。

VAX-11机的虚拟空间结构机的虚拟空间结构如图如图5.2。

13/156图图5.2虚拟空间的划分虚拟空间的划分第二个问题是如何把虚拟空间中已链接和划分好的内容装第二个问题是如何把虚拟空间中已链接和划分好的内容装入内存,并将虚拟地址映射为内存地址的问题。

入内存,并将虚拟地址映射为内存地址的问题。

地址映射地址映射就是要建立虚拟地址与内存(物理)地址的关系。

就是要建立虚拟地址与内存(物理)地址的关系。

实现地址重定位或地址映射的方法有两种:

静态地址重定位静态地址重定位和和动态地址重定位动态地址重定位。

14/156静态地址重定位静态地址重定位(staticaddressrelocation)在虚拟空间程序在虚拟空间程序执行之前执行之前由由装配程序装配程序完成全部地址映射完成全部地址映射工作。

工作。

0100500load5001234取数据取数据虚拟空间虚拟空间物理空间物理空间500051005500load5500123415/156静态地址重定位对于虚拟空间内的指令或数据来说,静态地址重定位对于虚拟空间内的指令或数据来说,只完成一个首地址不同的连续地址变换。

只完成一个首地址不同的连续地址变换。

它要求所有要执行的程序必须在执行之前完成它们之它要求所有要执行的程序必须在执行之前完成它们之间的链接,否则将无法得到正确的内存地址和内存空间的链接,否则将无法得到正确的内存地址和内存空间。

(不管是否执行)优点优点:

不需要硬件支持。

缺点缺点:

*无法实现虚拟存储器。

在执行之前将程序全部装入。

无法实现虚拟存储器。

*程序一旦装入内存之后就不能再移动。

程序一旦装入内存之后就不能再移动。

*必须占用连续的内存空间。

必须占用连续的内存空间。

*不能做到程序和数据的共享。

不能做到程序和数据的共享。

16/1562.动态地址重定位动态地址重定位动态地址重定位动态地址重定位(dynamicaddressrelocation)是在程序执行过程是在程序执行过程中,在中,在CPU访问内存之前,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1