虚拟存储器系统

article/2025/9/23 14:32:39

技术来源

  • 来源1:来源于服务器中虚拟化feature的实现,不同的程序需要共享一片硬件资源,包括计算资源与存储资源;如何有效且安全的共享存储器就是关键。
  • 来源2:消除有限的主存容量对大的程序的限制。远古时代,大的程序需要程序猿手动分块,每块大小不能超过主存容量,并且保证后看的块不会用到之前的块的数据。

最终,主存就相当于是磁盘的“cache”了,并很好的适应了近些年云计算的需求。

一些概念

  • 虚拟地址(VA):CPU发出的地址,用于访问抽象出来的虚拟寄存器的地址;
  • 物理地址(PA):经过转换后的实际地址,会真正用来访问cache/ddr和磁盘的地址;
  • 页(page):可以理解成存储块,主存与磁盘/闪存进行数据搬运的最小单位;
  • 页表:用于将CPU的虚拟地址到物理地址的查找表,每个程序(进程)有专有的页表,存于主存中;
  • 主存:目前指DRAM阵列,包括DDR和HBM,内部存放的信息包括页表与页;
  • TLB:主存中页表的缓存,加速VA到PA的转换,并降低TLB缺失代价;
  • 共享内存:每个进程的页表中的页表项对应到主存中的同一个物理页面,即内存共享;

访存流程

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这里需要确认一下,这里有两条路:

  • 页表的更新
  • 数据的更新

有几个确定结论:

  • 如果主存中的页表缺失,那TLB一定是缺失的,因为TLB只是一个页表的cache;
  • 如果主存中的页表缺失,那么该页在主存中一定也是没有的,
  • 是否主存中的页表更新后,主存中的页也会立即进行更新?

多级页表

问题:如果一个页大小为4KB,虚拟地址空间为4GB,那么一个进程产生的页表项为1M,大量进程会使得主存被页表占用。

  • 对于一级页表,220为1M,每个页表项中,物理页号再为20bit,一个程序的页表大小在20Mb
  • 对于两级页表,相当于把虚拟页号再细分,一个程序的页表大小约等于(210+210)*20=40Kb
  • 但是这样带来的代价直接代价是VA到PA地址转换变慢。
  • 在一级页表中,读取内存中一页内容需要2次访问内存,第一次是访问页表项,第二次是访问要读取的一页数据。但在二级页表中,就需要3次访问内存了,第一次访问页目录项,第二次访问页表项,第三次访问要读取的一页数据。访存次数的增加也就意味着访问数据所花费的总时间增加。

在这里插入图片描述

操作系统的内存管理


http://chatgpt.dhexx.cn/article/mg0q0kHw.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 键进入编辑状态,然后在红色的矩形中输入,前面的*…