§2虚拟存储器

合集下载

计算机组成原理课件 虚拟存储器

计算机组成原理课件 虚拟存储器

4.2 虚拟存储器
例1:一个程序共有5个页面组成,分别为P1~P5。程序执行过程中的页地 址流(即程序执行中依次用到的页面)如下:P1,P2,P1,P5,P4,P1, P3,P4,P2,P4,假设分配给这个程序的主存储器共有3个页面。图中, 用"*"号标记下次将要被替换掉的页面。
4.2 虚拟存储器
内部地址变换:多用户虚拟地址Av变换成贮存实地址A 多用户虚拟地址中的页内偏移量D直接作为主存实地址中的页内偏移d 主存实页号p与它的页内偏移d直接拼接就得到主存是地址A
4.2 虚拟存储器
一个用户程序要访问虚拟存储器时,必须给出多用户虚拟地址Av。在操作系统和 有关硬件的共同管理下,首先进行内部地址变换。 如果变换成功(命中),得到主存实页号p。把主存实页号p与它的页内偏移d直 接拼接起来就得到主存实地址A,访问主存储器。 如果内部地址变换失败(未命中),表示要访问数据不在主存储器中,必须访问 磁盘存储器。这时,进行外部地址变换。 外部地址变换主要用软件实现,首先查外页表得到与虚页号P相对应的磁盘存储 器的实地址,然后再查内页表(主存实页表),看主存储器中是否有空页。如果主 存储器中还有空页,只要找到空页号。把磁盘存储器的实地址和主存储器的实页号 送入输入输出处理机(输入输出通道)等,在输入输出处理机的控制下,把要访问 数据所在的一整页都从磁盘存储器调入到主存储器。 如果主存储器中已经没有空页,则要采用某种页面替换算法,先把主存中暂时不 用的一页写回到磁盘存储器中原来的位置上,以便腾出空位置来存放新的页。 在进行外部地址变换时,如果没有命中,则表示所需要的页还不在磁盘存储器中。 这时,要在操作系统控制下,启动磁带机、光盘存储器等海量存储器,先把与所需 要数据相关的文件从海量存储器中调入磁盘存储器。

第7章 存储系统(2)虚拟存储器

第7章 存储系统(2)虚拟存储器
数据要写入主存时,访问键与存储键进行比较,相 符则能访问,否则拒绝访问。
❖ 环保护:把线性的物理空间转换成环,然后分成多
个控制保护级别。用户程序运行前有OS赋予不同的
级别号,从而实现对不同区域的保护。
27
访问方式的保护
❖ 访问方式的分类:读(R)、写(W)、执 行(E)
❖ 保护:通过硬件或OS对指定保护区域的R、 W、E分别进行控制,从而达到保护存储区域 的目的。
disp
page frame TLB中—快表
f
TLB
page table
p
f
f disp
physical address
内存中—慢表 10
段式虚拟存储器
❖ 主存和辅存的管理按程序段为单位进行管理。
程序空间 大小
段1 1K 段2 2K
段3 3K 段4 1K 段5 2K
主存空间
段1 段5
地址 0 1K
❖ 以固定大小的页面为单位----页式管理
程序按页面大小划分
主存用户空间的 页面数目
0页
第0页
1页
第1页
2页
第2页
3页
4页
第3页
5页
6页
6
页的管理----页表
程序的页号 0 1 2 3 4 5 6
主存的页号 0 2 3
1
装入位 1 1 1 0 0 0 1
7
虚拟地址的结构及页表
•虚拟地址结构—对用户程序而言
23
页面常用的调度算法
❖LRU Algorithm
701203042300321201701
7 0122 3 70 1203 0 701 2030 4
24
快表的实现--相联存储器

虚拟存储器

虚拟存储器

虚拟存储器摘要纠错编辑摘要虚拟存储器源出于英国ATLAS计算机的一级存储器概念。

这种系统的主存为16千字的磁芯存储器,但中央处理器可用20位逻辑位置对主存寻址。

到1970年,美国RCA公司研究成功虚拟存储器系统。

IBM公司于1972年在IBM370系统上全面采用了虚拟存储技术。

虚拟存储器已成为计算机系统中非常重要的部分。

虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。

它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。

它指的是主存-外存层次。

以透明的方式给用户提供了一个比实际主存空间大得多的程序位置空间。

虚拟存储器-工作原理虚拟存储器模型虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。

它的工作过程包括6个步骤:①中央处理器访问主存的逻辑位置分解成组号a和组内位置b,并对组号a进行位置变换,即将逻辑组号a作为索引,查位置变换表,以确定该组信息是否存放在主存内。

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

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

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

⑤从物理组号a和组内字节位置b得到物理位置。

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

存储模型调度方式有分页式、段式、段页式3种。

页式调度是将逻辑和物理位置空间都分成固定大小的页。

主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度辅存中程序的各页可以离散装入主存中不同的页面位置,并可据表一一对应检索。

页式调度的优点是页内零头小,页表对程序员来说是透明的,位置变换快,调入操作简单;缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。

段式调度是按程序的逻辑结构划分位置空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。

组成原理-虚拟存储器课件

组成原理-虚拟存储器课件

页内地址
虚地址的结构及虚地址向辅存实地址的 变换1 变换
• 辅存实地址格式与采用的存储设备有关。 • 磁盘存储器的实地址格式如下所示。 • 为了简单,可使扇区的大小同页面大小, 这样虚地址与畏辅存实地址的变换就成为 虚页号与辅存实页号之间的变换。 • 用设置页表的方法来实现,将虚地址变为 辅存实地址的页表称为外页表,如下所示。


虚拟存储器的构成
辅助软硬件
虚存
CPU
主存
辅存
• • • • •
CPU与主存间的数据交换以字为单位,主存与辅存间的数据交换以块为单位 虚存由三部分组成,其中辅助软硬件控制主存与辅存间的数据交换 程序运行过程中,活跃部分放在主存,大量非活跃部分放在辅存;活跃部分和非活跃 部分是动态变化的;什么时候主存与辅存需要交换信息,完全由辅助软硬件来决定 程序运行时,CPU提供的是虚地址,由辅助部件来决定该虚地址的信息是否已装入实 存;如果实存命中,则辅助部件将虚地址变为实地址,访问实存;否则,将包含该虚 地址的一个信息块由辅存调入主存,再去访问主存 由上述过程,可以见到有虚存技术存在两种虚实变换:若命中,要将虚地址(虚拟存 储器存储单元的地址)变为主存地址;若不命中,需将虚地址变为虚单元所在信息块 的辅存地址(称为辅存实地址)
虚地址的结构及虚地址向主存实地 址的变换1 址的变换
• 虚地址结构与主存的存储管理策略有关,常有的存储管理 策略有段式、页式、段页式,下面以页式为例。 • 页式管理
– 将实存和虚存分为大小相同的页 – 例如:虚地址32bits,实地址20bits,每页4KB,则地址结构为: – 要将虚地址变为实地址,只需将虚页号变为实页号,为此需要寻 立一个内页表
虚拟存储系统的存储保护

虚拟存储器的都有哪些种类

虚拟存储器的都有哪些种类

虚拟存储器的都有哪些种类在计算机系统中,由于物理存储器空间的限制,为了使系统能够充分发挥开发的效能,需要通过一些技术扩展物理存储器空间,虚拟存储器技术就是其中之一。

虚拟存储器通过将磁盘空间作为物理存储器的一部分来使用,能够提高系统对程序及数据的访问速度。

在本文中,我们将介绍常见的虚拟存储器的种类。

分页存储技术分页存储技术是虚拟存储器中应用最为广泛的一种。

在这种技术中,存储器空间被划分为两部分:物理存储器和磁盘空间。

程序被分成多个相等大小的区域(也称页)。

当系统需要访问某一页面时,它首先检查当前页面是否已经在物理存储器中,如已存在则直接访问,如不存在则将该页从磁盘中调入物理存储器中。

分页存储技术采用分离虚拟存储地址和物理存储地址的方式,由操作系统负责进行地址转换,同时还能对存储器进行隔离和保护,确保程序的正常运行。

段式存储技术段式存储技术是另一种虚拟存储器的实现方法,其最显著的特点是将程序或数据按照逻辑分割的方式进行存储。

在这种技术下,每个段代表了程序的某个逻辑部分,例如代码段、数据段等等,每个段的大小由具体应用程序决定。

相比分页存储技术,段式存储技术需要更为灵活的地址转换技术,因为不同的段之间的大小和位置都各不相同。

同时,为了保护存储器,操作系统还要通过检查程序访问的段进行权限分配,防止不合法的访问对系统造成损害。

段页式存储技术段页式存储技术是对前两种方法的集成,它是将一个段按照一定大小划分成多个页,每个页的大小为固定值,且与分页存储技术相同。

这种技术结合了段式存储和分段存储的优点,既能保留一些逻辑上有意义的信息,也能避免内存空间的浪费。

段页式存储技术需要更加复杂的地址转换技术来实现,其最大的优点在于能够更加精细地控制内存的使用,同时也能提升数据的存取速度。

总结以上是常见的虚拟存储器的实现方式,虚拟存储技术的实现方法各有不同,但其基本思路都是通过利用计算机系统的一些硬件或者软件技术来扩展物理存储器的空间,以实现更加高效的数据处理能力。

虚拟储存器的名词解释

虚拟储存器的名词解释

虚拟储存器的名词解释虚拟储存器是计算机科学中常用的概念之一,它是一种抽象的、实现在计算机内存和外部硬盘之间的储存机制。

虚拟储存器通过将内存中未使用的部分数据交换到硬盘上,以便释放内存空间供其他程序使用。

它的目的是扩大计算机的有效内存空间,并且使得系统能够同时运行更多的程序。

在本文中,我们将探讨虚拟储存器的工作原理、优点和应用等方面。

虚拟储存器的工作原理是利用操作系统的分页机制。

在操作系统中,将内存划分为大小固定的页面,与之相对应的是外部硬盘上分割成相同大小的页面。

当系统需要更多内存时,操作系统会将未被使用的页面从内存移到硬盘上,以便腾出空间给其他需要使用内存的程序。

这样,计算机系统可以运行大量程序,而不会因内存不足而出现崩溃或运行缓慢的问题。

虚拟储存器的一个重要概念是“页面置换算法”。

当操作系统需要从内存中选择一个页面将其移到硬盘上时,需要根据一定的算法来选择被替换的页面。

常见的算法有最佳(Optimal)算法、先进先出(FIFO)算法和最近最久未使用(LRU)算法等。

这些算法根据不同的指标(如最长未被使用时间、最近使用时间等)来进行页面的选择和置换,以达到最高的系统性能和效率。

虚拟储存器的应用范围非常广泛。

首先是在个人电脑和服务器中,虚拟储存器常用于解决内存不足的问题。

例如,当用户同时运行多个大型软件时,虚拟储存器可以将一部分未被使用的程序数据交换到硬盘中,从而释放内存空间给其他正在运行的程序使用。

其次是在操作系统中,虚拟储存器是实现进程间通信的重要工具。

进程可以通过虚拟储存器来共享数据,提高系统的并发性和协作性。

此外,虚拟储存器还被广泛应用于虚拟机技术、数据库管理系统等领域。

虚拟储存器的优点在于它可以扩大计算机的有效内存空间。

虚拟储存器使得用户无需关注实际物理内存的容量,而只需将更多的数据存储在虚拟内存中。

这样,即使计算机的内存容量有限,仍然可以运行大型的应用程序。

而且,通过虚拟储存器,计算机系统可以更高效地管理内存,提高整体系统的性能和响应速度。

虚拟存储器原理

虚拟存储器原理

虚拟存储器原理1. 概述虚拟存储器是一种操作系统提供的抽象概念,它将计算机的物理内存和磁盘空间结合起来,为应用程序提供了一个比实际物理内存更大的地址空间。

虚拟存储器的基本原理是通过将部分数据从内存转移到磁盘上,实现了对物理内存的扩展,并能够在需要时将数据重新调入内存。

虚拟存储器的出现解决了两个主要问题:一是应用程序通常需要比物理内存更大的地址空间,而物理内存受限;二是为了提高系统性能,操作系统可以将不常用的数据置换到磁盘上,以便为常用数据腾出更多的内存空间。

2. 分页机制虚拟存储器使用了分页机制来管理内存和磁盘空间。

在分页机制下,应用程序被划分为大小固定的页面(Page),同样大小的物理内存也被划分为页框(Page Frame)。

每个页面都有一个唯一的标识符,称为页号(Page Number),而每个页框也有一个唯一的标识符,称为页框号(Frame Number)。

当应用程序访问某个页面时,操作系统会通过页表(Page Table)将该页面映射到一个物理地址。

页表是一个数据结构,记录了每个页面对应的物理地址或磁盘上的位置。

当应用程序需要访问某个页面时,操作系统首先查找页表,如果该页面已经在物理内存中,则直接将对应的物理地址返回给应用程序;如果该页面不在物理内存中,则操作系统会将其从磁盘上调入内存,并更新页表。

分页机制的优点是简单、灵活且高效。

它可以将内存和磁盘空间划分为固定大小的块,从而方便管理和调度。

同时,由于每个页面的大小相同,使得操作系统可以更加高效地进行内存分配和回收。

3. 页面置换算法虚拟存储器中最重要的问题之一是如何选择哪些数据被置换到磁盘上。

一般来说,操作系统会根据一定的策略选择最适合置换的页面。

常见的页面置换算法有以下几种:3.1 先进先出(FIFO)先进先出算法是最简单和最直观的置换算法之一。

它按照页面进入内存的顺序进行置换,即最早进入内存的页面被置换出去。

这种算法的缺点是没有考虑页面的访问频率,可能会导致常用的页面被频繁置换出去。

虚拟存储器

虚拟存储器

虚拟存储器的用户程序以虚地址编址并存放在辅存中,运 行程序时,CPU以虚地址访问主存,由辅助硬件找出虚地址和 物理地址的对应关系,判断由这个虚地址指示的存储单元的内 容是否已装入主存。
虚拟存储器
1.1 虚拟存储器的功能与特点
3.主存—辅存层次结构
辅助软、硬件设备


CPU


4.虚拟存储器和cache的异同点
1
弥补的对象不同
2
传送的信息块不同
3
访问的速度不同
4
CPU调度信息块的方式不同
5
存取信息的过程、地址变换和替 换策略的不同
虚拟存储器
1.2 虚拟存储器的管理方式
页式管理方式管理方式Fra bibliotek段页式管 理方式
段式管理 方式
虚拟存储器
1.3 虚拟存储器的类型
页式虚拟存储器
段页式虚 拟存储器
段式虚 拟存储器
虚拟存储器
1.1 虚拟存储器的功能与特点
2.虚地址和实地址的基本概念及其相互关系
虚地址
虚拟存储器的辅存部分也能让用户像使用内存 一样使用,用户编程时指令地址允许涉及辅存大小 的空间范围,这种指令地址称为“虚地址”。
实地址
实际的主存储器单元的地址称为“实地址”或 “物理地址”,实际地址对应的是“主存空间”, 亦称物理空间。
虚拟存储器
1.1 虚拟存储器的功能与特点
1.虚拟存储器简介 当CPU输出地址码的位数较多,而实际主存容量较小 时,计算机系统可以将一部分辅存当成主存来使用,这种 机制就是虚拟存储器系统。 虚拟存储器是建立在主存―辅存物理结构基础上的, 是由附加硬件装置及操作系统存储管理软件组成的一种存 储体系,它将主存和辅存的地址空间统一编址,形成一个 庞大的存储空间。

虚拟存储器

虚拟存储器

虚拟存储器☐虚拟存储器是建立在主存—辅存物理结构的基础之上,由附加的硬件装置存储管理软件虚拟存储器物理存储器不同之处常为几百~几百K字节;不同之处4、主存—cache体系中,CPU与二者都有直接的通路;而虚存中辅存一些硬件进行块的划分及主-辅间调度,所以对设计系统软件的程☐虚地址和实地址☐页式虚拟存储器☐页表(Page Table)0虚页 1虚页 2虚页 3虚页 装入 位 修 改 位 替换控制 其 他 实页号 1 3 19 6 0页 1页 2页 3页 程 序A虚存空间 1页 3页 6页 19页实存空间 页表区中程序A 的页表页表的长度等于该程序虚页数,每一虚页的状况占据页表中一个存储字,叫页表信息字。

1111 装入位为1时,表示该虚页内容已从辅存调入主存,页面有效。

“修改记录位”记录虚页内容在主存中是否被修改过,如果被修改过,则这页在主存被新页覆盖时要把修改的内容写回到虚存去。

“替换控制位:与替换策略有关,如采用LRU ,替换控制位就可以用作计数位,记录这页在主存时被CPU 调用的历史,反映这页在主存的活跃程度。

页表首地址 页表基地址寄存器时间t 1 2 3 4 5 6 7 8 9 10 实际命中次数页地址流P1 P2 P1 P5 P4 P1 P3 P4 P2 P4先进先出FIFO算法1 1 1 1* 4 4 4* 4*2 22次2 2 2 2* 1 1 1 1* 45 5 5* 3 3 3 3*调入调入命中调入替换替换替换命中替换替换最久没使用LRU 算法1 1 1 1 1* 1 1 1*2 24次2 2 2* 4 4 4* 4 4 45 5 5* 3 3 3* 3*调入调入命中调入替换命中替换命中替换命中最优替换OPT算法1 1 1 1 1 1* 3* 3* 3 35次2 2 2 2* 2 2 2 2 25* 4 4 4 4 4 4调入调入命中调入替换命中替换命中命中命中Hp = 4/10 = 0.4时间t 1 2 3 4 5 6 7 8 实际命中次数页地址流P1 P2 P3 P4 P1 P2 P3 P4先进先出FIFO算法1 1 1* 4 4 4* 3 30次2 2 2* 1 1 1* 43 3 3* 2 2 2*调入调入调入替换替换替换替换替换最久没使用LRU算法1 1 1* 4 4 4* 3 30次2 2 2* 1 1 1* 43 3 3* 2 2 2*调入调入调入替换替换替换替换替换最优替换OPT算法1 1 1 1 1* 1 1 13次2 2 2 2 2* 3* 33* 4* 4 4 4 4*调入调入调入替换命中命中替换命中。

操作系统原理虚拟存储器管理资料

操作系统原理虚拟存储器管理资料

光存储技术
通过垂直堆叠存储单元,提供更 高的存储密度和更低的延迟,有 望改变虚拟存储器的架构和设计。
利用激光在介质上刻写数据,具 有极高的存储密度和长达数百年 的数据保存期限,为虚拟存储器 提供了前所未有的容量和可靠性。
云计算与虚拟存储器的关系
云计算资源池化
分布式存储系统
云原生技术
云计算通过虚拟化技术将物理资源抽 象成逻辑资源,实现资源的动态分配 和共享,虚拟存储器是云计算资源池 化的重要组成部分。
物理地址空间
实际内存中的地址空间,与逻辑地址空间不一定连续。物理地址是内存单元的 实际地址,由硬件直接访问。
地址映射机制
1 2
动态重定位
程序执行时,将逻辑地址转换为物理地址的过程。 通过查页表或段表实现地址映射。
请求调页/请求分段
当所需页面/段不在内存中时,发出缺页/缺段中 断,将所需页面/段调入内存。
05
虚拟存储器与操作系统的关系
虚拟存储器对操作系统的影响
扩大内存容量
虚拟存储器通过内外存交换技术, 使得程序可以使用比实际内存更 大的容量。
内存保护
每个程序都在自己的虚拟地址空 间中运行,互不干扰,提高了系 统的安全性。
内存管理灵活
虚拟存储器实现了内存的逻辑扩 充,使得内存管理更加灵活,方 便用户和程序员使用。
03
内存回收策略
当进程不再需要某些内存空间时,操 作系统需要将这些空间回收并重新利 用。常见的内存回收策略包括引用计 数法、标记清除法和复制法等。
缓存技术
要点一
缓存命中与缺失
当CPU访问数据时,如果数据已经在 缓存中,则称为缓存命中;否则需要 从主存中读取数据到缓存中,称为缓 存缺失。

虚拟存储器原理

虚拟存储器原理

虚拟存储器原理
虚拟存储器是计算机系统中的一种核心技术,它可以通过将物理内存和磁盘上的虚拟内存结合使用,以实现对内存的有效管理和优化。

虚拟存储器的基本原理是,将物理内存和磁盘上的虚拟内存映射到同一个地址空间中,然后通过一定的算法和策略来管理它们的使用。

通过这种方式,计算机可以将需要使用但又无法立即全部存放在物理内存中的数据和程序,暂时存放在磁盘上的虚拟内存中,从而实现内存的扩容和最优化利用。

虚拟存储器的实现原理主要包括:页面置换、页面调度、地址映射、页面回收、页面分配等。

其中,页面置换是虚拟存储器实现的核心机制之一,它通过一定的算法和策略来决定哪些页面需要被替换出物理内存,哪些页面可以保留在物理内存中。

常见的置换算法包括LRU(最近最少使用)、FIFO(先进先出)、LFU(最不经常使用)等。

页面调度则是指虚拟内存中的页面如何被调度到物理内存中,地址映射则是指如何将虚拟地址映射到物理地址,页面回收和页面分配则是指如何回收不再使用的页面和如何为新的页面分配内存空间。

虚拟存储器的实现有很多优点,它可以提高内存的利用率,降低内存成本,增强了计算机系统的稳定性和可靠性。

同时,它也有一些缺点,比如虚拟内存的访问速度较慢,需要进行磁盘读写操作,可能会影响系统的响应速度。

此外,虚拟存储器还需要消耗过多的CPU时间和磁盘空间,对计算机系统的整体性能也会产生一定的影响。

总之,虚拟存储器是计算机系统中重要的一种技术,它为内存管
理和优化提供了有效的手段,同时也带来了一些挑战和限制。

对于软件开发人员和系统管理员来说,了解虚拟存储器的原理和实现,可以帮助他们更好地理解和优化计算机系统的性能和稳定性。

存贮器管理虚拟存贮器管理基本概念PPT教案

存贮器管理虚拟存贮器管理基本概念PPT教案
存贮器管理虚拟存贮器管理基本概念
会计学
1
§2 基 本 概 念
(1)为用户使用存贮器提供方便,这包含两个含义:一是 ,每个用户都以独立的方式编程,即用户只需在各自的逻辑 空间内编程,而不必关心他的程序在内存空间上的物理位置 ;其次是,为用户提供充分大的存贮空间,使得用户程序的 大小不受实际内存容量的限制,即用户不必关心内存空间的
第40页/共84页
① ② 若s≤ts,则根据t+s,找到段s在段表中 的相应表目,然后,检查位移量d是否超过段长l,超 过则发越界中断;否则将段s的内存起始地址b加上d
段号 段长 内存起 访问值 状态 址
第41页/共84页
6.3
(1)段是信息的逻辑单位,分段是出于作业逻辑上的要 求,对用户来说,分段是可见的;页是信息的物理单位,分 页并不是用户作业的要求,而仅仅是为了系统管理内存的方 便,分页活动对用户是不可见的。
(2)页的大小固定,由系统决定;段的大小不固定,
(3)把逻辑地址分解成页号和页内位移量是机器硬件 的功能,而定义成段号和段内位移量是由用户决定的,故页
(2)动态分配:作业要求的基本内存空间是在目标模块 装入时确定并分配的,但在作业运行过程中允许申请附加 的内存空间,即分配工作可以在作业运行前及运行过程中
第2页/共84页
2. 地址映射 高级语言或汇编语言程序形成的逻辑空间是符号名空 间,其中的地址是符号地址。源语言程序经编译或汇编后产 生的逻辑空间称之为该程序的地址空间,也叫虚空间。地址 空间中的地址都是相对地址(相对于地址“0”),称作逻辑地 址。任一程序的地址空间都是以地址0起始的逻辑地址之集 合,且可以是一维空间或二维空间。不同程序的地址空间可 以相同或局部重叠。整个内存 是个一维的物理空间,程序 必须被装入内存才能执行。一程序在执行时所占用的存贮空 间称作它的内存空间。一个内存空间是若干绝对地址(即物 理地址)之集合,它是一维空间。显然,不同程序的内存空 间不能冲突。

虚拟存储器基本工作原理、多级存储体系

虚拟存储器基本工作原理、多级存储体系

虚拟存储器基本工作原理、多级存储体系下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by the editor. I hope that after you download them, they can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, suchas educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!虚拟存储器基本工作原理、多级存储体系虚拟存储器是计算机系统中的一个重要概念,它通过将物理内存和磁盘存储器结合起来,提供了比物理内存更大的地址空间。

组成第十五讲:虚拟存储器

组成第十五讲:虚拟存储器

计算机组成原理
段式虚拟存储器 程序在虚拟空间编址,段地址装入主存的任意位置。 段虚地址向实地址的映像关系需要有一张段表指示。 段表放在主存,主要内容有段号、段起点、装入位、段长 等。 段 表 主存空间 地址 程序空间 大小
段1 段2 1K 2K
段3 段1 段5 0 1K
3K
5K 8K-1
计算机组成原理
页式虚拟存储器 页式虚拟存储器是以页为信息传送单位的虚拟存储器。 也就是说,在这种虚拟存储器中,不论是虚拟空间,还是 主存空间都被分成大小相等的页,称为程序按页面大小划分
0页 1页 2页 3页 4页 5页 6页
计算机组成原理
段式虚拟存储器 段式虚拟存储器虚实地址转换
段表起始地址 段表长度
<
越界
基址
段号2
位移量100
虚地址
段号
段长
+ 主存
8100
0 1
1000 600
6000 4000
2
3
500
200
8000
9200
物理地址
段表
计算机组成原理
段式虚拟存储器 段式虚拟存储器的优缺点: 优点: 因段与程序功能模块相对应,模块可以独立编址, 使得大程序编址可以多人分段并行工作,它比不分 段页从头到尾的编程方法要节省很多时间; 程序可以分段调试,目标明确思路清晰,容易检查 错误; 段修改、增删时对其他段不产生影响; 程序按逻辑功能分段,各有段名、便于程序段公用 且按段调度可以提高命中率。
1 2 3 4 5
0
1 0 5K 1 0 1K 1
装 入 位
1K 3K
2K
段 长
段3
3K
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



先查段表,得到该程序段的页表起始地址和 页表长度 再查页表找到要访问的主存实页号 最后把实页号p与页内偏移d拼接得到主存的 实地址。
用户号U 段号S 虚页号P 页内偏移
实页号p 页内偏移 As As 1 0/1 Ap 1 p 0/1 A
页表 装入 修改 地址
装入 实页号 修改 标志
页式虚拟存储器构成
2nv页
地址映象和变换


地址映象:是将每个虚存单元按某种规则(算 法)装入(定位于)实存,即建立多用户虚地 址Ns与实存地址np之间的对应关系。 地址变换:是程序按照这种映象关系装入实存 后,在执行时,多用户虚地址Ns如何变换成对 应的是地址np。 页面争用(实页冲突):发生两个以上的虚页 想要进入主存中同一个页面位置的现象。
虚地址:N s u N N r
' v
实地址:n p nv nr 虚存空间: 2 * 2 个页 实存空间: 2 个页 其中:N v u N
' v nv u
' Nv
虚存总空间 多用户虚地址Ns
u
Nv’ nv
Nr
直接
2Nr
实存地址np
nr
实存空间 2nr 2Nr= 2nr 2Nv页包括2u个 用户,每个用户 为2Nv页。

命中率与分配给程序的主存页数有关。

举例

一个循环程序,依次使用P1,P2,P3, P4四个页面,分配给这个程序的主存页 面数为3个。FIFO、LRU和OPT三种页面 替换算法对主存页面的调度情况如下图 所示。在FIFO和LRU算法中,总是发生 下次就要使用的页面本次被替换出去的 情况,这就是“颠簸”现象。
每页 4KB 0 段(12K) 页表长度 页表地址 3 3 1 段(10K) 2
0 段0 页 0 段1 页 0 段2 页 0 段页表 1 段0 页 1 段1 页
段表
2 段(5K)
1 段2 页 1 段页表 2 段0 页 2 段1 页
用户程序
2 段页表
主存储器
段页式虚拟存储器的地址映象

地址变换方法:
替换算法(续)

近期最少使用算法(Least Recently Used , LRU):选择近期最少访问的页作为被替换的 页。

配有计数器字段。 比较正确反映程序的局部性。

优化替换算法(Optimal Replacement Algorithm, OPT):是在时刻t找出主存中每个 页将要用到时刻ti,然后选择其中ti-t最大的那 一页作为替换页。
A
A道程序的 程序空间
4
1.5k
实主存空间 段表基址寄存器
1k 2k 3k 1k 2k
0段 1段 2段
0 1 A 7 a
+ +
2.5k
0段 4段
1k 1k 3k
2段
段表长度 段表基地址
3段 4段
a 0 0 5k 1k
已装入 A道程序的段表 1 1k 3k 2k
1
0
1 0 1 0 0 地址 装入位 段长 访问方式
目录

不同的虚拟存储管理方式
页式虚拟存储器构成 页式虚拟存储器实现中的问题


虚拟地址空间
实际地址空间
压缩
映射
不同的虚拟存储管理方式
通过增设地址映像表机构来实现程序在主存 中的定位。这种定位技术是将程序分割成若干 较小的段或页,用相应的映像表机构来指明程 序的某段或某页是否已装入内存。



段式管理 页式管理 段页式管理
虚存页号
D道程序 程序空间 4k 4k 4k
A
0 4k-1
0 1 2
B
C 32k-1 程序标志号
虚存 页号
主存 起点
装如 位
访问 方式
专用 位
D
基号 虚页号 页内偏移
b
Nv nv
实页号
Nr
0 1 2
2 6 7
1 1 1
nr
页内偏移
D道程序页表
某道程序的地址 多用户虚页号 用户标志u 多用户 虚地址

由用户号找到基址寄存器 从基址寄存器中读出段表的起始地址 把起始地址与多用户虚地址中段号相加得到段表地址 把段表中给出的起始地址与段内偏移D相加就能得到 主存实地址
多用户 用户号U 段号S 虚地址
0 6 As
段内偏移D
主存实地址
As
n-1
0 1 2 3 4
1
段表 段表 起始 装入 访问 段名 段长 长度 基址 地址 位 方式 段表基址寄存器 一个用户(一道作业)的段表
最佳分配:先扫描全部可用区域表,然 后寻找一个可用区进行分配,使之分配 后段间可用区零头最小。

举例
0 0.5k
主存
1k A
程序
D
0
主存
A
0
主存
A
3k
3k
2.5k
7k 8k 10k
E
4k 6.5k 7k 8k
D E B F
3k
5.5k 7k 8k 9k 10k
E
B 2k C F
B
D
C
10k
C
(a)需依次调入 D、E、F段
段式管理优缺点

优点

程序的模块化性能好 便于程序和数据的共享 程序的动态链接和调度比较容易 便于实现信息保护

缺点

地址变换所花费的时间比较长,做两次加法运算 主存储器的利用率往往比较低 对辅存(磁盘存储器)的管理比较困难
段分配算法

首先分配:顺序扫描可用区域表,当找 到第一个不小于调 入段长度的可用区时, 立即分配。

地址变换的原则

减少实页冲突 硬件少、成本低 实现方便、变换速度快。
由于虚存空间远远大于实存空间,因此 页式虚拟存储器常采用全相联映像。

全相联映像
任何虚页可以映象装入到任何实页位置。冲 突概率最低。 虚存
页0
每道程序任何 虚页可映像到 任何实页位置
主存
页面位置0 页面位置1
页1 页2
用户虚页号
页内位移
X
由u转换成基号b
Nv
Nr
主存
实页号 装入位 页表基址寄存器
nv
nr
nv
1
主存地址寄存器
x
已装入
举例
虚地址空间32位,页面大小为1kb(10位) 页表地址段将达22位, 32-10=22 页表的长度为4兆行(222 =4096k=4M) 如主存容量为8MB 则页表字段为13位,每行为2+1字节 则页表容量为 4MB*3=12MB>主存容量
0次
最久没有使用算法 (LRU 算法) 1
调入 调入 调入 替换 替换 替换 替换 替换 最优替换算法 (OPT 算法) 1 1 1* 1 1 1 2 2 2 2* 3* 3 3* 4* 4 4 4 4* 调入 调入 调入 替换 命中 命中 替换 命中 1 2
0次
3次
举例2

一个程序共有5个页面组成,程序执行过 程中的页地址流如下: P1, P2, P1, P5, P5, P1, P3, P4, P3, P4 假设分配给这个程序的主存储器共有3个 页面。给出FIFO、LRU、OPT 三种页面 替换算法对这3页主存的使用情况,包括 调入、替换和命中等。
2k
5段
2 3 4 5
4k
6段
6 段名
0 主程序 1k (0段) 0 1段 500 0 2段 200 0 3段 程序 200 空间
段号 段长 起址 0 1k 8k 1 500 16k 2 200 9k 3 200 30k
0 8k 9k
16k 30k
主存储器


地址映象方法:每个程序段都从0地址开始编址, 长度可长可短,可以在程序执行过程中动态改变 程序段的长度。 地址变换方法:

随机算法(Random ,RAND):用软的或硬 的随机数产生器来形成主存重要被替换页的页 号。

简单,易于实现 没有利用历史信息 命中率低,很少使用

先进先出算法(First-In First-Out ,FIFO): 选择最早装入主存的页作为被替换的页。

配置计数器字段 虽然利用历史信息,但不一定反映出程序Байду номын сангаас局部性
§2 虚拟存储器


1961年英国曼彻斯特大学Kilbrn等人提出 70年代广泛地应用于大中型计算机系统 中 目前许多微型机也开始使用虚拟存储器 是进一步完善主存-辅存存储层次,解决 主存容量提出的。
虚拟存储器的特点

多个进程可以共享主存空间 程序员不必做存储管理工作 采用动态再定位,简化了程序的装入

缺点


程序的模块化性能不好 页表很长,需要占用很大的存储空间。
段页式管理

页式:对应用程序员完全透明,由系统划分.

硬件较少,地址变换速度快, 调入操作简单,静态连接程序;



段式:段独立,有利于程序员灵活实现段的连接、段 的扩大/缩小和修改,而不影响其他段,易于针对其特 定类型实现保护,把共享的程序或数据单独构成一个 段,从而易于实现多个用户、进程对共用段的管理, 动态连接程序; 特点:访存两次。 段页式:把实存机械地等分成固定大小的页,程序按 模块分段,每个段又分成与主存页面大小相同的页。
(b)首先分配法 D、E、F段全被调入
(c)最佳分配法 F段无法调入
页式管理



页式虚拟存储器把虚拟地址空间划分成一个个固定大 小的块,每块称为一页,把主存储器的地址空间也按虚拟 地址空间同样的大小划分为页。页是一种逻辑上的划 分,它可以由系统软件任意指定。 虚拟地址空间中的页称为虚页,主存地址空间中的页 称为实页。 每个用户使用一个基址寄存器(在CPU内),通过用 户号U可以直接找到与这个用户程序相对应的基址寄存 器,从这个基址寄存器中读出页表起始地址。访问这 个页表地址,把得到的主存页号p与虚地址中的页内偏 移直接拼接起来得到主存实地址。
相关文档
最新文档