5.虚拟存储管理

article/2025/9/23 14:30:13

虚拟存储管理

文章目录

  • 虚拟存储管理
    • 1.虚拟存储器概述
      • 1.1常规存储管理方式的特征和局部性原理
      • 1.2虚拟存储器的定义与特征
      • 1.3虚拟存储器的实现方法
    • 2.请求分页存储管理方式
      • 2.1请求分页存储管理方式基本思想
      • 2.2请求分页中的硬件支持
      • 2.3内存分配策略和分配算法
      • 2.4调页策略
    • 3.页面置换算法
      • 3.1最佳置换算法和先进先出置换算法
      • 3.2最近最久未使用(LRU)置换算法
      • 3.3Clock置换算法-LRU的近似算法
      • 3.4其他置换算法
    • 4."抖动"与工作集
      • 4.1"抖动"与工作集的基本认知
    • 5.请求分段存储管理方式
      • 5.1请求分段中的硬件支持
      • 5.2分段的共享与保护
      • 5.3环保护机构

1.虚拟存储器概述

1.1常规存储管理方式的特征和局部性原理

1.常规存储器管理方式的特征:(1)一次性 (2)驻留性

2.局部性原理:
①定义:指程序在执行过程中的一个较短时间内,所执行的指令地址或操作数地址分别局限于一定的存储区域中
②分类:
时间局部性(被访问过一次的存储器位置很可能在不远的将来再被多次访问,循环结构)
空间局部性(如果一个存储器位置被访问了一次,那么程序很可能在不远的将来访问附近的一个存储器位置,顺序结构/大数组)

3.虚拟存储器的基本工作情况
- 所谓虚拟存储技术是指:当进程运行时,先将其一部分装入内存,另一部分暂留在磁盘,当要执行的指令或访问的数据不在内存时,由操作系统自动完成将它们从磁盘调入内存的工作

- 虚拟地址空间 即为 分配给进程的虚拟内存

- 虚拟地址 是 在虚拟内存中指令或数据的位置,该位置可以被访问,仿佛它是内存的一部分
在这里插入图片描述

1.2虚拟存储器的定义与特征

以 CPU 时间和磁盘空间换取昂贵内存空间,这是操作系统中的资源转换技术

1.虚拟存储器的定义

  • 是指具有请求调入功能和置换功能, 能从逻辑上对内存容量加以扩充的一种存储器系统

  • 其容量接近于外存,其运行速度接近于内存速度,而每位的成本却又接近于外存

在虚存管理中:
①虚拟地址空间是指逻辑地址空间,实地址空间是指物理地址空间
② 前者的大小受 CPU 可寻址范围(机器地址长度)的限制,而后者的大小受物理内存大小的限制

在这里插入图片描述

2.虚拟存储器的特征

  • 离散性:在分配内存时采用离散分配方式

  • 多次性:一个作业被分成多次调入内存运行

  • 对换性:允许在作业的运行过程中进行换进、换出

  • 虚拟性:能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量(虚拟性以多次性和对换性为基础;多次性和对换性以离散分配为基础。)

1.3虚拟存储器的实现方法

在这里插入图片描述


2.请求分页存储管理方式

2.1请求分页存储管理方式基本思想

基本思想:请求分页=分页+请求

逻辑空间分页 物理空间分块

页与块同样大 页连续块离散

用页号查页表 硬件做重定位

请求分页的基本思想:

(1)作业部分装入内存
(2)作业所占的内存块不连续
(3)硬件通过页表生成访问内存的地址
(4)若发生缺页,则进行缺页中断处理,将该页调入内存
(5)利用快表可以加速地址转换

请求分页式虚拟存储
硬件支撑:硬件(主存管理单元 MMU)
主要任务:将逻辑地址转换为物理地址

功能:

管理硬件页表基址寄存器分解逻辑地址管理快表访问页表发出缺页中断或越界中断,并将控制权交给内核存储管理处理
  • 设置和检查页表中各个特征位

2.2请求分页中的硬件支持

1.页表机制
在这里插入图片描述

2.缺页中断(异常)

  • 是一种 Page Fault;

  • 在地址映射过程中,硬件检查页表时发现所要访问的页面不在内存,则产生该异常——缺页异常;

  • 操作系统执行缺页异常处理程序,获得磁盘地址,启动磁盘,将该页调入内存:

    ①如果内存中有空闲页框,则将新页调入,并修改页表项的有效位、访问位及页框号

    ②若内存中没有空闲页框,则要置换内存中某一页框;若该页框内容被修改过,则要将其写回磁盘。

  • 缺页中断与一般中断的区别:
    (1)缺页中断是在执行一条指令中间时产生的中断,并立即转去处理。而一般中断则是在一条指令执行完毕后,当发现有中断请求时才去响应和处理
    (2)缺页中断处理完成后,仍返回到原指令去重新执行,因为那条指令并未执行。而一般中断则是返回到下一条指令去执行,因为上一条指令已经执行完毕了

3.缺页中断处理过程

①根据当前执行指令中的虚拟地址,形成数对:(页号,页内位移)。用页号去查页表,判断该页是否在内存②若该页的状态位为“0”,表示当前该页不在内存,于是产生缺页中断,让操作系统的中断处理程序进行中断处理③中断处理程序去查存储分块表,寻找一个空闲的内存块;查页表,得到该页在辅助存储器上的位置,并启动磁盘读信息④把从磁盘上读出的信息装入到分配的内存块中⑤根据分配存储块的信息,修改页表中相应的表目内容,另外,还要修改存储分块表里相应表目的状态⑥由于产生缺页中断的那条指令并没有执行,所以在完成所需页面的装入工作后,应该返回原指令重新执行。这时再执行时,由于所需页面已在内存,因此可以顺利执行下去

在这里插入图片描述

4.地址变换机构
在这里插入图片描述

5.地址转换过程
在这里插入图片描述

6.请求分页存储管理优缺点
优点:
①按页分散存放在内存中,减少移动开销
②有利于改进主存利用率
③部分装入,有利于多道程序运行

缺点:
①需要硬件支持进行缺页中断处理,成本增加,开销加大
②存在页内碎片

2.3内存分配策略和分配算法

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2.4调页策略

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.页面置换算法

用途:用于页淘汰、段淘汰、块表淘汰

3.1最佳置换算法和先进先出置换算法

1.最佳置换算法—理想化

最佳置换算法是由 Belady 于 1966 年提出的一种理论上的算法。其所选择的
被淘汰页面,将是以后永不使用的, 或许是在最长(未来)时间内不再被访问的
页面。采用最佳置换算法,通常可保证获得最低的缺页率

2.先进先出页面置换算法

①该算法的出发点是最早调入内存的页面,其不再被访问的可能性会大一些②该算法实现比较简单(队列),对具有线性顺序访问的程序比较合适,而对其他情况效率不高。因为经常被访问的页面,
往往在内存中停留最久,结果这些常用的页面却因变老而被淘汰③先进先出算法存在一种异常现象,即在某些情况下会出现分配给的进程物理块数增多,缺页次数有时增加,有时减少
的奇怪现象,这种现象称为 Belady 现象Belady 异常:随着物理块数的增多缺页率可能增大

3.2最近最久未使用(LRU)置换算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3Clock置换算法-LRU的近似算法

在这里插入图片描述
在这里插入图片描述

3.4其他置换算法

在这里插入图片描述
在这里插入图片描述


4."抖动"与工作集

4.1"抖动"与工作集的基本认知

抖动 thrashing:刚刚被换出的页面很快又要用到,CPU 忙于调出和调入页面。
根本原因:页面淘汰算法不合理;分配给进程的物理页面数(驻留集)太少。

防止抖动发生的方法:

(1)挂起某些进程-调节多道程序度。(2)采用局部置换策略。(3)L=S 准则(产生缺页的平均时间等于系统处理缺页的平均时间。(4)利用工作集策略防止抖动。

工作集概念:
工作集:一个进程当前正在使用的逻辑页面集合,可以用一个二元函数 W(t, Δ)来表示:

①t是当前的执行时刻;②Δ称为工作集窗口(working-set window ),即一个定长的页面访问窗口③W(t, Δ)=在当前时刻 t 之前的Δ窗口当中的所有页面所组成的集合(随着 t 的变化,该集合也在不断地变化)④| W(t, Δ) | 指工作集的大小,即页面数目

驻留集概念:

①驻留(常驻)集是指在当前时刻,进程实际驻留在内存当中的页面集合②工作集是进程在运行过程中固有的性质,而驻留集取决于系统分配给进程的物理页面数目,以及所采用的页面置换算法③如果一个进程的整个工作集都在内存当中,即驻留集工作集,那么进程将很顺利地运行,而不会造成太多的缺页中断(直到工作集发生剧烈变动,从而过渡到另一个状态)④当驻留集达到某个数目之后,再给它分配更多的物理页面,缺页率也不会明显下降

缺页率与驻留集的关系:
在这里插入图片描述


5.请求分段存储管理方式

5.1请求分段中的硬件支持

1.段表机制
在这里插入图片描述

2.缺段中断机构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.地址变换机构
在这里插入图片描述

5.2分段的共享与保护

1.共享段表
在这里插入图片描述

2.共享段的分配和回收
(1)分配:
第一次访问:分配内存 ①增加共享段 ②修改进程段表
第二次访问:①修改共享段表 ②修改进程段表

(2)回收: ①count=0 ②count< >0

在这里插入图片描述

5.3环保护机构

在这里插入图片描述


http://chatgpt.dhexx.cn/article/IvEOSIFg.shtml

相关文章

(五)虚拟存储概念

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

存储虚拟化技术的介绍

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

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

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

虚拟存储管理仿真

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

虚拟内存空间

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

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

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

内存管理:虚拟存储

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

存储系统 —— 虚拟存储器

本文主要介绍以下几方面的知识&#xff1a; 页式存储器&#xff08;应用于虚拟存储器&#xff09;虚拟存储器&#xff08;深刻理解&#xff09; 1.页式存储器 注&#xff1a; 虚拟地址或虚拟存储器的理解&#xff0c;请参考下文 虚拟存储器 的介绍 页式存储虚地址 VS 实地址 地…

存储虚拟化概述

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

虚拟化存储技术

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

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

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

DNS 欺骗攻击基于ettercap

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

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

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

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

前言 靶机&#xff1a;seedubuntu 12.01&#xff0c;IP&#xff1a;192.168.199.138攻击机&#xff1a;Kali-2020.4&#xff0c;IP&#xff1a;192.168.199.129工具&#xff1a;ettercap 原理 DNS&#xff08;DomainNameSystem&#xff0c;域名系统&#xff09;&#xff0c;…

DNS欺骗攻击

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

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

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

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欺骗&#xff0c;对自己的试验结果进行一次记录。 一&#xff1a;对dns文件进行编辑 我们使用的欺骗工具是ettercap&#xff0c;首先对dns的文件进行编辑&#xff0c;通过终端打开 通过 i 键进入编辑状态&#xff0c;然后在红色的矩形中输入&#xff0c;前面的*…

应用“Cain Abel”实现DNS欺骗

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

DNS欺骗及防御技术

一、DNS工作原理 1、DNS&#xff1a;域名服务协议&#xff0c;提供主机域名和IP地址之间的转换。 属应用层协议&#xff0c;端口号为53。DNS数据通过无连接的UDP协议传递 2、过程&#xff1a; 被 二、DNS欺骗原理原理及实现 1、DNS欺骗原理 当客户主机向本地DNS服务器查询域名的…