虚拟存储器/虚拟内存

article/2025/9/23 14:35:12

器为每个程序提供了一个大的、一致的、私有地址空间。

三个重要功能:

  1. 将主存看成是磁盘的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据。
  2. 为每个进程提供了一致的私有空间。
  3. 保护每个进程的地址空间不被其他进程破坏。

虚拟寻址系统

  • CPU上的MMU(memory management unit),利用存放在主存中的查询表来动态的翻译虚拟地址,该表的内容由操作系统管理。
  • 虚拟地址空间的大小是由表示最大地址所需位数来描述的。
  • 物理地址空间的大小与系统的物理存储器的大小相对应。

概念上而言,虚拟存储器(VM)被组织为一个由 存放在磁盘上的N个连续的字节大小的单元组成的数组。每字节都有一个惟一的虚拟地址,这个惟一的虚拟地址是作为到数组的索引的。磁盘上数组的内容被缓存在主存中。 和存储器层次结构中其他缓存一样,磁盘(较低层)上的数据被分割成块,这些块作为磁盘和主存(较高层)之间的传输单元。VM系统通过将虚拟存储器分割为称为虚拟页(virtual page, VP)的大小固定的块,来处理这个问题。每个虚拟页的大小为P-2"字节。类似地,物理存储器被分割为物理页(physical page, PP),大小也为P字节(物理页也被称为页帧,page frame)。

主存作为缓存

虚拟存储器部署在磁盘上;页表部署在内存中;OS维护页表内容;MMU读取页表内容。

每个进程都有自己的虚拟存储器,相当于每个进程都在磁盘上开辟了属于自己的虚拟页空间,因此每个进程都有诸如VP1~VP7这些虚拟页存储在磁盘上,因此物理存储器中也为每个进程准备了独立的页表。但是,物理存储器却可能被不同进程的虚拟页共享到同一个物理页上。

图10.13展示了 MMU是如何利用页表来实现这种映射的。CPU中的一个控制寄存器,页表基 址寄存器( page table base register,PTBR)指向当前页表。n位的虚拟地址包含两个部分:一个p 位的 VPO (virtual page offset,虚拟页面偏移)和一个(n-p)位的 VPN (virtual page number,虚拟页号)。MMU利用VPN来选择适当的PTE。例如,VPN0选择PTEO, VPN1选择PTE1,以此类推。 将页表条H中PPN(physical page number,物理页号)和虚拟地址中的VPO串联起来,就得到相应 的物理地址。注意,因为物理和虚拟页面都是P字节的,所以PPO(physical page offset,物理页面 偏移)和VPO足相同的。

地址翻译

图10.14 (a)展示了当出现页面命中时,CPU硬件执行的步骤。

  • 第一步:处理器生成一个虚拟地址,并把它传送给MMU。
  • 第二步:MMU生成PTE地址,并从高速缓存/主存请求得到它。
  • 第三步:高速缓存/主存向MMU返回PTE。
  • 第四步:MMU构造物理地址,并把它传送给高速缓存/主存。
  • 第五步:高速缓存/主存返回所请求的数据字给处理器。

页面命中
和页面命中不同的是,页面命中完全是由硬件来处理的,而处理缺页要求硬件和操作系统协同完成。

  • 第一步到第三步:和图10.14 (a)中的第一步到第三步相同。
  • 第四步:PTE中的有效位是零,所以MMU触发了一次异常,传递CPU由的控制到操作系统内核中的缺页异常处理程序。
  • 第五步:缺页处理程序确定出物理存储器中的牺牲页,如果这个页面己经被修改了,则把 它页面换出到磁盘。
  • 第六步:缺页处理程页面调入新的页面,并更新存储器中的PTE。
  • 第七步:缺页处理程序返回到原来的进程,驱使导致缺页的指令重新启动。CPU将引起缺 页的指令重新发送给MMU。因为虚拟页面现在缓存在物理存储器中,所以就会命中,在 MMU执行了图10.14 (b)中的步骤之后,主存就会将所请求字返回给处理器。

缺页

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/7Xm59wFA.shtml

相关文章

5.虚拟存储管理

虚拟存储管理 文章目录 虚拟存储管理1.虚拟存储器概述1.1常规存储管理方式的特征和局部性原理1.2虚拟存储器的定义与特征1.3虚拟存储器的实现方法 2.请求分页存储管理方式2.1请求分页存储管理方式基本思想2.2请求分页中的硬件支持2.3内存分配策略和分配算法2.4调页策略 3.页面置…

(五)虚拟存储概念

1.需求背景 计算机系统内存空间不够用。 2.覆盖和交换 覆盖技术:把程序划分成功能独立的模块,将不会同时执行的模块共享同一块内存区域。 缺点:编程困难,增加了执行时间 交换技术:增加正在运行或需要运行的程序的内…

存储虚拟化技术的介绍

导读Java虚拟机内存的各个区域,以及这些区域的作用、服务对象以及其中可能产生的问题,作为大家的面试宝典。那一起来学习—存储虚拟化技术。 数据在整个计算机系统是最重要的一部分,也是最珍贵的。数据的存储一直是一个热议的话题&#xff0c…

进程地址空间与虚拟存储空间的理解

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一 早期的内存分配机制 在 早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行…

虚拟存储管理仿真

实验内容 模拟请求分页虚拟存储管理技术中的硬件地址变换、缺页中断及页式淘汰算法处理缺页中断 实验目的 为了使大的作业(其地址空间超过内存可用空间)或多个作业的地址空间之和超过实际主存空间时,仍能运行,引入了”虚拟存储器”的概念.使作业的一部分地址空间在主存,另一…

虚拟内存空间

每一个进程都会对应一个虚拟地址空间,32位操作系统会为每个进程分配4G(2的32次方)的虚拟地址空间,而MMU(Memory Management Unit,内存管理单元)负责把这4G虚拟内存映射到实际的物理内存中。这4G…

虚拟化存储和非虚拟化存储

有文件系统的叫虚拟化存储,没有文件系统的叫非虚拟化存储。. 虚拟化存储:由SAN 或 NAS 提供的存储空间,需要添加一层文件系统来屏蔽底层的差异性,性能较差。支持更多的虚拟化特性。 非虚拟化存储:由分布式存储提供的存储空间,没有添加文件系统,性能好,但无法支持高级特…

内存管理:虚拟存储

内存管理——虚拟存储器 目录 内存管理——虚拟存储器虚拟存储器概述常规存储管理方式的特征和局部性原理虚拟存储的定义和特征虚拟存储器的实现方法1.分页请求系统2.请求分段系统 请求分页存储管理方式请求分页中的硬件支持1.请求页表机制2.缺页中断机构3.地址变换机构 请求分…

存储系统 —— 虚拟存储器

本文主要介绍以下几方面的知识: 页式存储器(应用于虚拟存储器)虚拟存储器(深刻理解) 1.页式存储器 注: 虚拟地址或虚拟存储器的理解,请参考下文 虚拟存储器 的介绍 页式存储虚地址 VS 实地址 地…

存储虚拟化概述

存储虚拟化概述 一、基本概念 存储虚拟化(Storage Virtualization)最通俗的理解就是对存储硬件资源进行抽象化表现。典型的虚拟化包括如下一些情况:屏蔽系统的复杂性,增加或集成新的功能,仿真、整合或分解现有的服务功能等。虚拟化是作用在一…

虚拟化存储技术

文章目录 前言一、HCLA存储技术趋势与智能存储组件1、HCLA存储技术趋势(1)、什么是数据存储(2)、数据存储系统(3)、数据分类(4)、数据存储发展趋势小结 2、智能存储组件控制框硬盘框…

【KALI网络安全】DNS攻击(劫持和欺骗)与网络钓鱼的模拟和预防(1)

1、DNS概述 关于DNS的定义,作用,分类以及工作原理,博主已在【Windows Server 2019】DNS服务器的配置与管理——理论】这篇博客中陈述过。 要预防DNS劫持,必须了解它的攻击原理和过程 声明 本博客不是在向大家展示这些攻击的方法…

DNS 欺骗攻击基于ettercap

开启Apache服务器如下图所示 在/var/www/html文件夹下找到index.html 文件用自己新建的文件替换。此为自己新建主页 查看默认主页 本次实验使用kali (192.168.1.88/24) 以及win7系统虚拟机(192.168.1.133/24) Win7 IP Kali ip 查看ettercap 使用命…

DNS欺骗攻击、DDoS攻击、XSS攻击和SYN Flooding攻击

DNS欺骗攻击 攻击者冒充域名服务器,向目标主机提供错误的DNS信息,当用户尝试浏览网页,输入域名访问某网页,但实际上访问到的IP地址并不是该网页的IP地址,而是攻击者准备的网页的IP地址,所以用户在网页中提…

『网络协议攻防实验』DNS欺骗攻击与防御

前言 靶机:seedubuntu 12.01,IP:192.168.199.138攻击机:Kali-2020.4,IP:192.168.199.129工具:ettercap 原理 DNS(DomainNameSystem,域名系统),…

DNS欺骗攻击

1.DNS域名系统:其主要作用是把主机的域名解析IP地址的系统,即使服务器更换了IP地址,我们依旧可以通过域名访问该服务器。 DNS域名查询可以简单的分为五个步骤: 网络用户客户端提出域名转换IP地址的请求地址解析程序resolve生成查…

局域网下ARP欺骗以及DNS劫持

DNS又称为域名劫持 定义: 域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标…

Seed lab dns欺骗实验——dns localdns remote

文章目录 1. 实验2. 实验步骤及结果2.1 DNS _Local2.1.1 环境搭建容器部署DNS配置测试部署 2.1.2 The Attack TasksTask 1: Directly Spoofing Response to UserTask 2: DNS Cache Poisoning Attack – Spoofing AnswersTask 3: Spoofing NS RecordsTask 4: Spoofing NS Record…

局域网内dns欺骗

今天学习了dns欺骗,对自己的试验结果进行一次记录。 一:对dns文件进行编辑 我们使用的欺骗工具是ettercap,首先对dns的文件进行编辑,通过终端打开 通过 i 键进入编辑状态,然后在红色的矩形中输入,前面的*…

应用“Cain Abel”实现DNS欺骗

环境的搭建: 1,在Windows 7安装IIS服务,访问www.baidu.com或其他任意站点,保存首页文件至本地wwwroot文件夹中; (1)打开控制面板,找到“程序”,点进去 点击“打开或关闭…