CS 学习笔记 - 关于页式虚拟存储器的地址映射的一些理解

虚拟存储器映射图解

在这里插入图片描述

图解详细解释 😄


页式虚拟存储系统 ☁️

页式虚拟存储系统中 虚拟地址空间会被划分为 等长大小的页,这个页被称为 逻辑页,
我的理解就是 假设它存在, 假设我们有这么一块虚拟的空间, 这些空间被划分成一个个大小相同的页,
关于这个页, 就只是一个划分的单位, 比如 我们可以说把一个 1G 的 虚拟存储空间划分为 4页, 那么每一页就是 256M , 我一开始很纠结这个页 到底表示什么, 尝试去和现实的物体去对应, 但是最终我发现其实它就是一个单位, 我们甚至可以页换成块, 也是说的通的, 所以不必纠结.

关于逻辑页和物理页 ❤️

1️⃣ 在页式虚拟存储系统中, 无论是虚拟空间还是实际的主存空间, 这里需要说明的是,
2️⃣ 虚拟空间是我们虚拟出来的, 就是假设有这么一个空间, 而主存空间是是实实在在的存储空间, 主存空间 我的理解是 就是我们的电脑内存空间, 比如 我自己的笔记本电脑是 8G 内存, 这个就是主存空间的大小

3️⃣ 虚地址空间被分成等长的页称为逻辑页, 而主存(内存)空间也被划分为同样大小的页, 称为物理页 , 对应的 逻辑页上的虚地址, 这个虚地址分为两个字段
第一个字段(或者称为高字段) 是逻辑页号, 就是这个地址所在逻辑页的逻辑页号,

4️⃣ 这里我举一个例子 : 假设 一个100M 的虚拟存储空间划分为 100个页, 那么对应的逻辑编号我们可以简单地的划分成 1 - 100 , 1号逻辑页 .2号 … 以此类推 , 那么假设 66 号 逻辑页的中的 某一个 1k 大小的存储空间的地址为 0x1313a , 那么对应的这块 1k 大小的 空间的虚地址就是 66,0x1313a , 前面是逻辑页号, 后面是对应的是页内地址, 同样的 实存地址也是一样的, 分为两个部分 一个是 物理页号, 另外一个是 页内地址 , 虚地址和实存地址其实类似, 区别可能只是 虚地址是不存在的, 而实存地址是实际存在在 你的内存空间中的

5️⃣ 需要补充的一些东西 : 比如 有个东西叫偏移量, 这个也叫页内地址, 其实都是一个东西, 还有就是 逻辑地址 = 虚地址 , 物理地址 = 实存地址 , 只是叫法不同

关于页式虚存地址的映射 ⭐️⭐️⭐️


1️⃣ 在聊映射之前需要理解的一些东西 :

  • 在大多数系统中, 每一个进程都对应着一个页表
    在这里插入图片描述
  • 页表中对应每一个虚存页面都有一个表项 , 表项的内容包含 :
    该虚拟存储页面所在主存页面的地址, 实际上就是 这个虚拟页面对应的在你物理内存中的页的页号, 标识 这个逻辑页是否已经存在在内存中的标识, 比如用 0 标识存在, 1 标识不存在, 然后是 这个逻辑页的页号,作为这个表项的索引, 当我们输入对应的逻辑页号 就可以获取其在内存中的物理页号 ,进而找到他对应的物理页,
    在这里插入图片描述
  • 地址映射的过程其实就是 根据逻辑页号从页表中查找 其对应的物理页号
  1. 判断这个逻辑地址对应的存储单元是否已经装入内存中, 这个是用 有效位来标识的,
  2. 如果已经在内存(主存)中 ,可以直接根据逻辑地址查找到其对应的物理页号,那么CPU 可以直接访问对应的物理页
  3. 如果不存在 ,那么就把这个包含这个字的一页从 磁盘调入到主存中, 在由CPU 去访问
  4. 注意 : 在实际的物理存储中, 所有程序和数据都是在操作系统的管理下,先存储在磁盘中, 然后操作系统将当前所需要的部分存入内存中, 供CPU 使用, 其余暂时不运行的部分则留在磁盘中.
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兀坐晴窗独饮茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值