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

OSUNIT虚存管理分析.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unit 7 虚存管理 内容 ●什么是虚存  ●分页虚存管理  ●段页式虚存管理  ●内存管理模式的演变过程 §1 什么是虚存    随着计算机应用的不断发展,应用程序的规模越来越大,而计算机内存规模的扩展远远跟不上应用程序规模的发展。如果一个应用程序的程序地址空间大于机器的可用物理内存空间,操作系统能否为该程序创建进程呢?即操作系统能否将该程序装入内存运行呢?对于采用实存管理的操作系统,这是无解的。    为克服实存管理的缺陷,人们提出了基于程序局部性原理的虚存管理思想。    程序局部性原理 在一段时间内,一个程序的执行往往呈现出高度的局部性,它对内存的访问是很不均匀的。这种局部性包括时间局部性和空间局部性。    时间局部性 是指如果一条指令被执行,则在不久的将来,它可能再次被执行。例如,程序结构中的循环、子程序、频繁使用的变量及数据等。    空间局部性 是指一旦一个内存单元被访问,那么它附近的单元也将很快被访问。例如,程序结构中的顺序执行的指令、线性数据结构及在相邻位置存放的数据或变量。    根据程序局部性原理,引入了实现虚存管理的基本原则:    局部性 一个程序在某段时间内只需当前需要的部分代码在内存便可执行,即在为新进程分配内存空间时只需为部分代码分配内存空间即可,其余代码所需的内存空间可在进程的运行过程中动态分配。这是对整体性的否定。    离散性 进程占据的内存空间可不必完全连续,只需局部的或分段连续。这是对连续性的否定。    交换性 在进程运行过程中,当前暂不使用或今后不再使用的那部分代码可以换出内存,而把当前需要使用的代码换进内存,换出的代码可当以后需要时再换进内存。这是对驻留性的否定。    那么,虚存到底是什么呢?    虚存的全称应是“虚拟的进程地址空间”,故也称虚拟地址空间。即一个进程的地址空间是系统虚拟内存架构的一个子集,它可以由一部分内存空间和一部分磁盘空间所组成,不再受限于有限的物理内存容量。       一个进程的虚存可有多大呢?    虚存的容量由计算机的寻址宽度所决定,如果寻址宽度为n位(bit),则一个进程的虚存的最大容量可为2nB。比如,对于32位寻址的计算机系统而言,虚存的最大容量=232B=4GB,即一个进程的地址空间可达4GB,够爽!    实现虚存管理的模式主要是:    ●分页虚存管理    ●段页式虚存管理 §2 分页虚存管理 ◆基本概念 ◆页表及缺页中断处理 ◆页面的置换策略和分配策略 ◆页面置换算法 ◆多级页表 2.1 基本概念    分页虚存管理是在分页内存管理基础上发展起来的虚存管理模式,是经典的虚存管理模式。    分页虚存管理与分页内存管理在程序地址空间的分页与内存空间的分页方面是一样的。其次,同样需要为每个进程建立一个页表,并利用页表进行地址映射,但页表的内容需要扩展。    在分页虚存管理下,一个进程的内存映象是存放在一个虚存中的,其中的一部分页面占据着若干内存页面,称为实页面;另一部分页面则在磁盘中,称为虚页面。当CPU访问的是虚页面中的信息时,由系统先将该虚页面转换成实页面后再实施信息访问,这种虚到实的转换对用户和应用程序都是透明的。这样,对程序地址空间的大小的  限制至少从理论上说被取消了,操作系统可以为应用程序提供一个远比实际内存容量大得多的虚拟内存空间。    由于进程内存映象存放在一个虚存中,必然会产生两个问题:    (1) 执行程序时,CPU访问的某个页面可能是实页面也可能是虚页面,若访问的是虚页面,习惯上把这种状态称之为“缺页”。那么,怎样来发现这种缺页?    (2) 当需要把某一虚页面转换成实页面时,即为该虚页面分配一个空闲的内存页面,再把虚页面加载到此内存页面中。如果此时没有空闲的内存页面怎么处理?    解决之道就是页表和页面置换算法。 2.2 页表 1. 页表的设置    同前述的分页系统页表不同,分页虚存系统的页表中要要增加若干项(字段),表目结构如:  2. 缺页中断处理    在执行程序时,如果CPU访问的是一个虚页面,就将产生一个缺页中断。缺页中断处理程序将负责找到所需要的虚页面并加载到内存。那么缺页中断处理程序是如何知道虚页面的磁盘地址的呢?它当然不知道,但它知道现行进程所对应的程序文件名,和产生缺页中断的逻辑地址。这样,缺页中断处理程序首先根据逻辑地址计算出该地址在相应程序文件里面的位移量,然后要求文件系统在这个位移量的地方读一个页面。    缺页中断处理流程如图7-1。     缺页中断处理流程 2.3 页面置换的目标与策略    所谓页面置换,即在执行缺页中断处理中,当内存中没有空闲的内存页面时,需要选择某个实页面,将需要调入的虚页面加载到该实页面所占用的内存页面中,而该实页面则成

文档评论(0)

琼瑶文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档