- 1、本文档共86页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统虚拟内存精要
虚拟存储管理;由于受到计算机结构限制和系统成本限制,计算机系统的内存容量总是有限的。
在传统存储器管理中,如果一个作业需要运行,系统必须将作业的全部信息装入内存,并在整个作业运行结束后,才能释放内存。
如果一个作业信息大于内存容量,则无法装入内存,也无法运行;如果系统有大量的作业申请进入内存,则系统只能接纳相当有限的作业,系统的多道度和性能都难以得到提高。
通过对进程运行的分析而发现:在进程执行时,并非同时需要作业的全部信息。;在进程的执行过程中,作业的某部分信息,可能从来不会使用;也可能运行完一次后,再也不会使用。
如果将这些不使用的信息存放在物理内存中,对内存是一种浪费。同样,既然作业的全部信息是分阶段需要,则可以分阶段将作业信息调入内存,而不需要一次将作业的全部信息调入内存。于是,提出了这样的问题:
能否将作业不执行的部分暂时存放在外存,待到进程需要执行时,再将其从外存调入内存。
将外存作为内存的补充,从逻辑上扩充内存,是虚拟存储管理的基本思想。;人们通过对Fortran语言程序、操作系统过程和通用科学计算程序的分析,发现了对程序和数据的访问具有如下特点:
(1)顺序性
程序在运行时除了少部分的分支和过程调用指令外,大部分都是顺序执行。对大程序没有必要把所有的信息一次都放入内存。
(2)局限性
程序在运行时,如果有若干个过程调用,程序执行的轨迹会转移至调用区域,但过程调用一般由相对较少的指令组成。当程序在某个局部范围内运行时,系统可以只将相关的局部信息放入内存,其它不相关或暂时不相关的信息放入外存。;(3)多次性
虽然程序中可能包含许多循环结构,但是这些循环结构通常只由少数指令构成。这些集中在一起的少数指令被多次执行,在内存中可以只放入一个版本,在需要时才将该版本调入内存。
(4)独立性
程序中可能存在彼此互斥或相互独立的部分,每次运行时总有部分程序不被使用,没有必要将不被使用的部分放入内存。
;
;在虚拟存储器中,一般将硬盘作为外存,因??,硬盘也被称为对换设备。
虚拟存储器的逻辑地址空间大小与物理内存大小没有直接关系,由计算机系统的地址结构决定。
如果计算机系统的地址为32位,则可寻址的范围为0~4G;如果计算机系统的地址为20位,则可寻址的范围为0~1M。计算机系统的可寻址范围为虚拟存储器的最大范围。
;虚拟存储器完成了逻辑地址空间和物理地址空间的分离,能够在一个小的物理存储空间上提供给程序一个巨大的虚拟存储器空间。
虚拟存储器的基础是内存的离散管理,实现的方式为请求分页式虚拟存储器管理或请求分段式虚拟存储器管理。
;以页为单位置换
需硬件支持
请求分页的页表机构
缺页中断机构
地址变化机构
需实现请求分页的软件
用于实现请求调页的软件
实现页面置换的软件
;请求分段系统;虚拟存储器特征; 虚拟存储管理的方式之一为基于内存的分页管理。分页虚拟存储器管理的实现需要增加请求调页和页面置换功能。
虚拟存储管理首先将需要运行的作业放在外存。当作业被调度时,系统只将作业的少数页面装入内存,随着作业运行,再通过页面请求功能、调页功能和页面置换功能,逐次将作业需要运行的页面调入内存运行,并将暂时不运行的页面换出到外存。虚拟存储管理的主要功能为请求调页及页面置换。
;请求分页存储管理;页表增加字段的用途:
状态位:用于标志一个页面是否已经装入内存。
外存地址:页面在外存中的地址。当需要将某页面调入内存时,查询页表中的外存地址,通常是物理块号。
修改位:页面到内存后是否被修改过的标志,以确定如果页面被换出内存时,是否需要写入外存。如果页面在内存没有被修改过,页面中的内容和外存中的内容一致,则被换出内存时不需要再写入外存,节约了写入外存的时间。如果页面在内存中已经被修改过了,被换出内存时需要写入外存。;访问字段:标志页面在内存时是否被访问过。用于页面置换算法时系统是否将页面换出内存时参考。如果页面被访问过,在页面置换时,系统考虑该页面可能以后会被再次访问而不将其换出。
;请求分页存储管理;请求分页存储管理;缺页中断处理流程图; 虚拟存储器管理不可能在程序执行前将所有的程序页面放入内存,因此,在程序执行过程中需要逐步将程序页面调入内存。这样,在程序运行过程中完成逻辑地址到内存物理地址的变换,是动态重定位装入。
;具有快表的请求分页虚拟存储地址变换机构;请求分页存储管理;请求分页存储管理;请求分页存储管理;请求分页存储管理;请求分页存储管理;请求分页存储管理;请求分页存储管理;;请求分页存储管理;请求分页存储管理;请求分页存储管理;请求分页存储管理;请求分页存储管理;请求分页存储管理;页面置换;进程的内存物理块数
文档评论(0)