存储器管理1.ppt_第1页
存储器管理1.ppt_第2页
存储器管理1.ppt_第3页
存储器管理1.ppt_第4页
存储器管理1.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、存 储 器 管 理,虚拟存储器部分,赵志斌 主讲,虚拟存储器的基本概念,一.局部性原理 程序在执行时将呈现出局部性规律,指的是在较短时间内,程序的执行仅限在某个部分;相应地,系统访问的存储空间也是仅局限于某个区域。 *局限性又表现为: 1。时间局限性。 如果程序中的某条指令一旦执行,那在不久以后该指令可能再次被执行;如果系统在访问某个数据结构,则不久以后该数据结构还会再次被访问。 产生时间局限性的原因是在程序中存在大量的循环结构。 eg: do while I=100 I=I+1 ,2。空间局限性。 指的是系统一旦访问了某个存储单元,在不久的将来,其附近的存储单元也可能被访问。既程序在一段时间

2、内所访问的地址,可能集中在一定的范围内。 产生空间局限性的原因是程序的顺序执行。,二.虚拟存储器的定义 基于局部性原理,一个程序在运行之前,没有必要全部被装入到内存,而是在程序运行之前只将那些马上要运行的部分先装入到内存运行,其余部分暂时留在外存上,待需要时再装入。这样便可以使一个较大的应用程序在较小的内存空间中运行,使内存资源的利用率提高。从用户角度看,系统当前使用的内存空间比实际的内存空间大得多,我们称这样的存储器为虚拟存储器。 1.虚拟存储器应具有的功能 (1)请求调入功能 (2)置换功能,2.虚拟存储器的特征 (1)离散性 离散性是指在内存分配时采用的与“连续分配”方式相对立的一种分配

3、内存方式离散分配,即是说将一个程序的各个装入模块装在不相邻的的内存区域中。离散性是实现虚拟存储器的基础,没有离散性就不可能实现虚拟存储器。这是因为一个程序在装入时采用“连续分配”,这需将程序装入一个连续的内存区域中,为此,需事先为它一次性申请足够大的内存空间,以便将整个程序先后分多次装入内存。这会使相当一部分内存空间处于暂时或永久空闲状态,从而造成内存资源的浪费。,(2)多次性 多次性是指一个程序被分成若干部分,经多次调入内存运行。 (3)对换性 对换性是指在程序运行过程中某些模块针对内存换进,换出,即是说在process执行期间允许将那些暂使用的程序和数据,从内存调出到外存的对换区,待以后需

4、要时再将其调入内存。换进,换出能有效的提高内存资源的利用率。 (4)虚拟性 内存的扩充不是从物理上进行的,而是从逻辑上进行对内存进行扩充,使用户感觉内存的容量比实际大的多。虚拟性是虚拟存储器的重要目标。,三.虚拟存储器的实现方式 (一)页式管理 页式管理方式是目前常用的一种实现虚拟存储器的方式。虚拟存储器在实现上有一定的难度,既要一定的硬件的支持又要较多的软件支持,但页式管理实现虚拟存储器方式较容易,因为每次系统换进和换出的基本单位是容量固定的页面。 1.页式管理的硬件支持 (1)页表机制 在页式管理系统中的主要的数据结构是页表。其基本作用是将程序地址空间中的逻辑地址转变成存储空间中的物理地址

5、。但是在程序运行时,系统只装入先要运行的那一部分,还余下一部 分在磁盘(外存)上,所以在页表上存在若干表项用来供程序在内存和外存之间换进,换出时起参考作用。,分页系统中的页表项: 页表中各字段的作用: 状态位P:用来表示该页是否已调入内存,供程序被访问时参考。 访问字段A:用来记录该页在一段时间内被访问的次数,或最近已有多长时间未被访问,在页面 置换时起参考作用。 修改位M:表示该页在调入内存后是否被修改过。由于在外存上每一页都保留一份副本,因此, 若该页没有被修改,在置换该页时就不需将该页写回到外存上,已减少系统的开销和启动磁盘的次数; 若该页已经被修改,则必须将该页重新写回到外存上,以保证

6、外存上所保留的始终是最新副本。 外存地址:用来指出该页在外存上的地址,供调入该页时使用。,(二)缺页中断机构 在分页管理系统中,每当系统所要访问的页面不在内存中时,便要产生一个缺页中断,请求OS将所缺的页面调入内存。缺页中断作为中断,它同样要经历如下过程:CPU现场保护分析中断原因缺页中断处理恢复CPU现场。缺页中断是一种特殊的中断它与一般的中断相比,有着明显的区别,主要表现如下: 1。通常,CPU都是在一条指令执行完后去检查是否有中断请求信号到达。有中断,系统便去响应;否则,系统继续执行下一条指令。但是,缺页中断却是在指令执行期间进行的。 2。缺页中断处理可能在一条指令执行期间要发生多次。,

7、(三)地址变换机构 1。基本概念: (1)逻辑空间:是一个程序的地址空间。地址空间=逻辑空间=程序空间=作业空间 (2)物理空间:是一个程序在装入内存后所拥有的真正的内存空间。 物理空间=存储空间=内存空间 (3)页:在页式管理中我们将一个程序的地址空间划分成若干个大小相等的片,称为页。页=页面=逻辑页面 (4)页框:在内存中也相应的为程序划分与该程序所拥有的页面大小相当的存储块,称之为页框。 页框=物理页面=存储块 注意:程序在装入时,可以将若干邻接的逻辑页面装入到内存不相邻接的页框中去。 (5)页式管理中的页地址结构:,该地址结构表明:系统存在1024K个页面,并且每一页的大小为4KB。为

8、什么?,(6)页表: 系统为每一个进程建立一张页面映射表,简称“页表”。其作用是程序在执行时通 过查找页表,即可找到每一页在内存中的物理块号(页框号)。也就是完成从页 号到页框号的地址映射。,(页表),(内存),2.地址变换过程: (1)通过已知的逻辑地址(有效地址)来计算页号P和页内位移量(页内地址)W: 设逻辑地址空间中的地址为A,页面的大小为L,则: P=INT A/L W=A MOD L (2)有效地址(有效地址中的页内地址)+起始地址(在内存中以0地址开始的地址) = 物理地址,页表,(3)例题分析: 设系统在某时刻存在一个3页长的进程,其具有的页号分别为0-1-2,且每个逻辑页面的

9、大小为1K,该进程在内存中对应的页框号分别为 2- 3-8。如左图所示。设 有指令LOAD 1,2500的虚地址为100问怎 样通过页表来找到该指 令所对应的物理地址?,解答: 首先:系统需要一个具有页表始址和页表长度的控制寄存器。系统把所调度执行的进程的页表始址和页表长度从请求表中取出放入控制寄存器中。,其次,由控制寄存器器中的页表始址,找到该进程的的页表所在位置。并由虚地址100得到指令LOAD 1,2500在第0页的第100号单元中。由于第0页所对应的页框是 第2号页框。所以该指令在内存中的物理地址为2*1024+100=2148。,然后:当CPU执行到第2148号单元的指令时,CPU要从有效地址2500中取出数据放入1号寄存器中,为了找到2500所对应的物理地址,地址变换机构首先将2500转换为页号与页内位移量(页内相对地址)组成的地址形式。 P=INT逻辑地址/页的大小=INT2500/1024=2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论