虚拟存储器的分类介绍

  虚拟存储器可以分为三类:页式、段式和段页式。

  在页式虚拟存储器中通过把主存空间和程序空间都机械等分成固定大小的页(页面大小随机器而定,一般为4KB到4MB),按页顺序编号,用相应的映像表机构来指明该程序的某页是否已经装入主存。若已经装入主存,则应同时指明其在主存中所处的位置;如果未装入主存,则去辅存中调页,并建立起程序空间和实存空间的地址映像关系。这样,程序执行时通过查映像表将程序地址(虚拟地址)变换成实际主存地址(物理地址)再访问主存。

  此存储系统具有主存的速度和辅存的容量,提高了存储器系统的性能价格比。CPU直接访问主存,主存与辅存之间的信息交换由操作系统和硬件来完成,这种把辅存看作是主存的一部分,以扩大主存容量的技术,称之为虚拟技术。用虚拟技术设计的存储器,称为虚拟存储器。

  这些主存与辅存之间实际存在的操作和辅助软、硬件,对应用程序设计者来讲是透明的。但虚拟存储器对系统程序员来讲基本上是不透明的,只是某些部分(如虚拟地址到主存地址的变换)由于采用硬件实现才是透明的。

  虚拟地址----又称逻辑地址,是指访问虚拟空间的地址。由于指令中给出的地址码是按虚存空间来统一编址的,因此指令的地址码实际上是虚拟地址。

  物理地址----是指访问主存空间的地址

  为了给用户提供更大的随机存取空间而采用的一种存储技术。它将内存与外存结合使用,好像有一个容量极大的内存储器,工作速度接近于主存,每位成本又与辅存相近,在整机形成多层次存储系统。

  虚拟存储器源出于英国ATLAS计算机的一级存储器概念。这种系统的主存为16千字的磁芯存储器,但中央处理器可用20位逻辑地址对主存寻址。到1970年,美国RCA公司研究成功虚拟存储器系统。IBM公司于1972年在IBM370系统上全面采用了虚拟存储技术。虚拟存储器已成为计算机系统中非常重要的部分。

  虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。它的工作过程包括6个步骤:

  ①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。

  ②如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。

  ③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。

  ④从地址变换表读出与逻辑组号a对应的物理组号a。

  ⑤从物理组号a和组内字节地址b得到物理地址。

  ⑥根据物理地址从主存中存取必要的信息。

  调度方式有分页式、段式、段页式3种。页式调度是将逻辑和物理地址空间都分成固定大小的页。主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度辅存中程序的各页可以离散装入主存中不同的页面位置,并可据表一一对应检索。页式调度的优点是页内零头小,页表对程序员来说是透明的,地址变换快,调入操作简单;缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。

  段式调度是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。将这两种方法结合起来便构成段页式调度。在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。

  段页式调度综合了段式和页式的优点。其缺点是增加了硬件成本,软件也较复杂。大型通用计算机系统多数采用段页式调度。

  虚拟存储器地址变换基本上有3种形虚拟存储器工作过程式:全联想变换、直接变换和组联想变换。任何逻辑空间页面能够变换到物理空间任何页面位置的方式称为全联想变换。每个逻辑空间页面只能变换到物理空间一个特定页面的方式称为直接变换。组联想变换是指各组之间是直接变换,而组内各页间则是全联想变换。

  替换规则用来确定替换主存中哪一部分,以便腾空部分主存,存放来自辅存要调入的那部分内容。常见的替换算法有4种。

  ①随机算法:用软件或硬件随机数产生器确定替换的页面。

  ②先进先出:先调入主存的页面先替换。

  ③近期最少使用算法:替换最长时间不用的页面。

  ④最优算法:替换最长时间以后才使用的页面。这是理想化的算法,只能作为衡量其他各种算法优劣的标准。

  虚拟存储器的效率是系统性能评价的重要内容,它与主存容量、页面大小、命中率,程序局部性和替换算法等因素有关

你可能感兴趣的:(算法,工作,IBM,存储,存储系统,联想)