虚拟存储管理

简介: 虚拟存储管理

虚拟存储管理

虚拟存储管理是一种逻辑扩容的方式,

基于局部性原理

  1. 虚拟存储原理:
  • 在进程运行时,没有必要将其全部装入内存,而仅装入当前运行的那部分,当进程访问不在内存的那部分时,才将那部分调入内存。如果内存满了,则将暂时不用的那部分数据调出内存。
  1. 虚拟存储的特征
  • 离散性:进程不连续的装入内存多个不同的区域中。离散性是实现虚拟存储器的基础。
  • 多次性:一个进程多次调入内存
  • 对换性:允许将部分程序和数据换进换出
  • 虚拟性:逻辑上扩充容量
  1. 请求页式存储管理
  • 硬件支持
  • 需要内外存对换区
  • 页表机制
  • 缺页中断机构
  • 地址变换机构

graph LR

页号,存储块号,状态位P,访问字段A,修改位M,外存地址

  1. 状态位:用于标记该页是否调入内存
  2. 访问字段:用于记录该页多久没被访问。置换算法需要访问该字段
  3. 修改位:表示该页调入内存后是否修改过
  4. 外村地址:指出该页在外存的地址
  1. 缺页中断机制
  1. 地址变换时,首先检查给定的页号是否大于页表寄存器的页表长度,若是,则越界中断
  2. 根据页号同时查找页表、快表。
  • 若在快表中找到,则修改访问字段。对于写操作,还要将修改位置为1
  • 若快表找不到,则在页表找。页表查到后,检查状态位,
  • 如果该页在内存,将该页项写入快表
  • 如果快表已满,则使用置换算法换出最后一页再将该页写入
  • 如果该页不在内存,产生缺页中断。由中断处理程序将需要的页调入内存
  • 如果内存已满,则使用置换算法换出最后一页再将该页写入内存
  1. 请求页式管理的页面置换算法
  1. 最佳置换算法(OPT)
  • 理论上的算法
  1. 先进先出算法(FIFO)
  • 淘汰最先进入内存的页
  1. 最近最久未使用置换算法
  • 根据页面调入内存的使用情况作为置换的条件 image.png
目录
相关文章
|
11月前
|
存储 传感器 安全
物联网操作系统介绍
物联网操作系统介绍
133 0
|
存储 对象存储
归档存储
归档存储
309 0
|
机器学习/深度学习 SQL 移动开发
数据库杂谈(四)—— 关系演算和E-R数据模型
本文讲述了关系演算和E-R数据模型的相关内容
435 0
|
SQL 数据库
数据库杂谈(三)—— 关系代数
关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。在本文中,我们不仅谈论关系代数的知识点,而且还配备了对应的练习题。
783 0
|
存储 C++
3.2操作系统(基本分页存储管理的基本概念)
💧什么是分页存储 🍓如何实现地址的转换 🍒逻辑地址结构 🥦重要的数据结构——页表
3.2操作系统(基本分页存储管理的基本概念)
|
存储 Kubernetes 安全
2022系统架构师考试---冲刺文档整理
2022系统架构师考试---冲刺文档整理
242 0
|
存储 缓存 架构师
程序员架构修炼:架构设计概要,业务、应用、技术、数据架构
程序员架构修炼:架构设计概要,业务、应用、技术、数据架构
542 0
程序员架构修炼:架构设计概要,业务、应用、技术、数据架构
|
存储 大数据 数据库
第一范式、第二范式、第三范式、巴斯-科德范式、第四范式、主码、候选码、码详解
第一范式、第二范式、第三范式、巴斯-科德范式、第四范式、主码、候选码、码详解
410 0
第一范式、第二范式、第三范式、巴斯-科德范式、第四范式、主码、候选码、码详解
|
NoSQL Java Maven
简单两步搞定Springboot自定义starter
Springboot 自定义 starter 好了 进入主题,今天来和小伙伴们分享这个 Springboot 自定义 starter 😄 直接来到 Springboot 的官方文档中查看~ docs.spring.io/spring-boot… 可以发现,它在这个自动配置的目录中,而经过之前两篇文章的分析 👇 实战分析 👉 花了2个钟才搞懂这AOP为啥没生效,水友却睡着了…… 原理分析 👉 Springboot自动装配原理探索 相信小伙伴们对这个自动配置和自定义stater 有了初步的了解,那么我们来看看官网是真么说的叭
236 0