虚拟存储管理

简介: 虚拟存储管理

虚拟存储管理

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

基于局部性原理

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

graph LR

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

  1. 状态位:用于标记该页是否调入内存
  2. 访问字段:用于记录该页多久没被访问。置换算法需要访问该字段
  3. 修改位:表示该页调入内存后是否修改过
  4. 外村地址:指出该页在外存的地址
  1. 缺页中断机制
  1. 地址变换时,首先检查给定的页号是否大于页表寄存器的页表长度,若是,则越界中断
  2. 根据页号同时查找页表、快表。
  • 若在快表中找到,则修改访问字段。对于写操作,还要将修改位置为1
  • 若快表找不到,则在页表找。页表查到后,检查状态位,
  • 如果该页在内存,将该页项写入快表
  • 如果快表已满,则使用置换算法换出最后一页再将该页写入
  • 如果该页不在内存,产生缺页中断。由中断处理程序将需要的页调入内存
  • 如果内存已满,则使用置换算法换出最后一页再将该页写入内存
  1. 请求页式管理的页面置换算法
  1. 最佳置换算法(OPT)
  • 理论上的算法
  1. 先进先出算法(FIFO)
  • 淘汰最先进入内存的页
  1. 最近最久未使用置换算法
  • 根据页面调入内存的使用情况作为置换的条件 image.png
目录
相关文章
|
10月前
|
机器学习/深度学习 算法 安全
从方向导数到梯度:深度学习中的关键数学概念详解
方向导数衡量函数在特定方向上的变化率,其值可通过梯度与方向向量的点积或构造辅助函数求得。梯度则是由偏导数组成的向量,指向函数值增长最快的方向,其模长等于最速上升方向上的方向导数。这两者的关系在多维函数分析中至关重要,广泛应用于优化算法等领域。
609 36
从方向导数到梯度:深度学习中的关键数学概念详解
|
10月前
|
数据采集 缓存 监控
代理IP在产品运营中的重要作用
在数字化时代,代理IP作为重要网络工具,通过突破地域限制、优化网络性能、保护数据安全、高效抓取市场数据、应对IP封锁及优化广告投放,助力企业实现业务增长和市场拓展。本文详细解析代理IP的作用与应用案例,为企业产品运营提供参考。
181 1
|
机器学习/深度学习 人工智能 数据库
飞天技术观|大模型时代,从软件工程到打通行业智能的“最后一公里”
与以往基于白盒化的软件工程范式相比,大模型能够成为新范式,提供真正的智能化引擎,从而使业务应用更高效和智能性。在这种模式下,阿里云将自身定位成大模型时代的算力服务提供者,希望能够为千行百业打通业务智能化的“最后一公里”。
998 2
|
前端开发 JavaScript CDN
React 在 html 中 CDN 引入(包含 useState、antd、axios ....)
React 在 html 中 CDN 引入(包含 useState、antd、axios ....)
516 0
|
算法 机器人 Unix
代码背后的女性:突破性别壁垒的技术先驱
代码背后的女性:突破性别壁垒的技术先驱
393 1
|
前端开发 Java 程序员
【JAVA】<GUI编程>AWT & Swing 图形化编程库
【1月更文挑战第19天】【JAVA】<GUI编程>AWT & Swing 图形化编程库
|
存储 芯片 内存技术
浅析DMA
DMA全程Direct Memory Access,即直接存储器访问。简单来讲,它的功能是把数据从一个地址搬运到另一个地址。通常有三个传输方向,分别是内存到内存,内存到外设和外设到内存。DMA是开发过程中常用到的,但从个人角度来讲,觉得DMA不是很好学。倒不是说他有多难,只是有些寄存器位的含义可能初学时了解的不深刻,很容易出现问题,这里仅代表个人看法。有的DMA也有一些特殊的传输方式,比如回绕传输,这个在第3小节会有详细介绍。
952 0
|
SQL Java 数据库连接
mybatisplus映射解读
mybatisplus映射解读
|
小程序 测试技术 定位技术
微信小程序景区的制作思路
微信小程序景区的制作思路
|
SQL 消息中间件 分布式计算
基于开放共享的自主研发—MaxCompute 持续增强生态与开放性建设
MaxCompute 是阿里巴巴自研的云原生数据仓库,同时也兼容大部分大数据生态系统。一个平台无法实现所有功能和解决所有问题,MaxCompute 需持续增强生态与开放性建设,方能走得更远。
1370 2
基于开放共享的自主研发—MaxCompute 持续增强生态与开放性建设