采用虚拟存储技术_虚拟存储管理

采用虚拟存储技术_虚拟存储管理虚拟存储技术(VIRTUALMEMORY)所谓的虚拟存储技术是指:当进程运行时,先将其一部分装入内存,另一部分暂留在磁盘,当要执行的指令或访问的数据不存在内存中时,由操作系统自动完成将它们从磁盘调入内存的工作。虚拟地址空间—–分配给进程的虚拟内存虚拟地址—–在虚拟内存中指令或数据的位置,该位置可以被访问,仿佛它是内存的一部分。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

虚拟存储技术(VIRTUAL MEMORY)

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

虚拟地址空间—–分配给进程的虚拟内存
虚拟地址—–在虚拟内存中指令或数据的位置,该位置可以被访问,仿佛它是内存的一部分。


存储器的层次结构

这里写图片描述


虚存 与 存储体系

  • 把内存和磁盘有机地结合起来使用,从而得到一个容量很大的“内存”,即虚存。

  • 虚存是对内存的抽象,构建在存储体系之上,由操作系统协调个存储器的使用

  • 虚存提供了一个比物理内存空间大得多的地址空间

    -send & receive 原语


地址保护

  • 确保每个进程有独立的地址空间
  • 确保进程访问合法的地址空间,防止地址越界
    这里写图片描述
    注意: 上图中的基地址寄存器和界限寄存器操作系统通过特殊的特权指令加载
  • 确保进程的操作合法

虚拟页式(PAGING)

**虚拟存储技术 + 页式存储管理方案
-> 虚拟页式存储管理系统
主要包括:1. 请求调页(demand paging) 2. 预先调页(prepaging)

基本思想

  • 进程开始运行之前,不是装入全部页面,二是装入一个或零个页面

  • 之后,根据进程运行需要,动态装入其他页面

  • 当内存空间已满,而有需要装入新的页面时,则根据某种算法置换内存中的某个页面,以便装入新的页面

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


页表与页表项的设计

这里写图片描述

页表表项设计

  • 页表由页表项组成
  • 页框号、有效位、访问位、修改位、保护位
    • 页框号(内存块号、物理页面号、页帧号)
    • 有效位(驻留位、中断位):表示该页是内存还是磁盘
    • 访问位:引用位
    • 修改位:此页在内存中是否修改过
    • 保护位:读/可读写

通常,页表项是硬件设计


关于页表

  • 32位虚拟地址空间的页表规模

    • 如果页面大小为4k;页表项大小为4字节,则一个进程地址空间有2^20页,其页表需要占1024页(页表页)
  • 64位虚拟地址空间
    页面大小为4k; 页表项大小为8字节,则一个进程的页表规模:就达到了 32,000TB

  • 页表页在内存中若不连续存放,则需要引入页表页的地址索引表-> 页目录(Page Directory)

    这里写图片描述
    注意 二级页表可以表示4G的虚拟地址空间

这里写图片描述


引入反转(倒排)页表

  • 地址转换
    从虚拟地址空间出发: 虚拟地址->查页表->得到页框号->形成物理地址
    每个进程一张页表
  • 解决思路
    • 从物理地址出发,系统建立一张页表
    • 页表项记录进程i的某虚拟地址(虚页号)与页框号的映射关系
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189353.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月13日 下午10:16
下一篇 2026年4月13日 下午10:22


相关推荐

  • SIMD and Avx2

    SIMD and Avx2SIMD一条指令可以执行多个数据group的计算和输出。对于SIMD相对应的SISD.intel SSE2 ,AVX2,AVX-512假设有一个任务是统计字符串中每一个字符出现的次数,我们可以用128bit的SISD指令进行统计。每8个bit代表一个字符,所以只需要两个SIMD指令(movemask、popcount)。详细测试:#include<stdio.h>#include<thread>#defineINC_TO1000000//o

    2022年5月7日
    33
  • STM32F0x HAL库学习笔记(3)使用HAL库延时函数(HAL_Delay())[通俗易懂]

    STM32F0x HAL库学习笔记(3)使用HAL库延时函数(HAL_Delay())[通俗易懂]本文开发环境:MCU型号:STM32F051R8T6IDE环境:MDK5.25代码生成工具:STM32CubeMx5.0.1本文内容:systick定时器简介使用HAL_Delay()延时函数实现LED灯闪烁Systick定时器HAL_Delay()延时函数while(1){/*USERCODEENDWHI…

    2022年5月15日
    56
  • 算力铁幕下,科大讯飞跑出国产 AI 加速度

    算力铁幕下,科大讯飞跑出国产 AI 加速度

    2026年3月14日
    2
  • ubuntu18.04安装pycharm记录「建议收藏」

    ubuntu18.04安装pycharm记录「建议收藏」1.进官网下载pycharm安装包https://www.jetbrains.com/pycharm/download/#section=linux建议选择社区免费版Community,这样就省去激活的过程2.点击下载,然后等待。下载好后右键安装包,解压提取,如下图,解压出了pycharm-community-2019.3.4文件夹3.进入这个pycharm-communi…

    2022年8月27日
    9
  • 最新版PhpStorm 2017激活办法

    最新版PhpStorm 2017激活办法最新版 PhpStorm2017 正式版改进了 PHP7 支持 改进代码完成功能 PhpStorm 绝对是 PHP 开发最好的开发工具 phpstorm 已经升级到 2017 1 原注册码失效 比如 2017 1 2 注册方法 注册时选择 Licenseserve 输入 nbsp http idea lanyus com 已被封杀 或 http idea qinxi1992 cn 等 nbsp 第一

    2026年3月26日
    3
  • 如何完成一张机房3d效果图

    如何完成一张机房3d效果图制作机房3D效果图作者:西安曼笛文化传播有限公司     赵希希 随着信息技术的不断发展,网络的更新,平安城市的规划,大量数据中心的建设,机房监控软件也慢慢的推进,机房效果图也有很大的改进。 从cad到简易的效果图在到成熟的3d效果图.如下图1;图2;图3所示:图1图2图3现在的机房效果图不光体现整体的图形,材质,还有会体现很多细节:

    2022年6月2日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号