//
//操作系统和计算机组成原理里都讲到内存管理的页式管理,但是本人以及很多初次学习分页的时候,都会迷茫页表大小和页表项大小之间的关系,本人仔细分析了后写了这篇blog,仅当学习交流,个人理解之用,如果有错或者分析不够严谨,欢迎指正。
//按字、图结合起来分析,相信还是比较容易看懂。

//一、首先明确几个概念

逻辑地址:是程序编译后,生成的目标模块进行编址时都是从0号单元开始编址,称之为目标模块的相对地址,即为逻辑地址。

页:将进程划分的块,对应的大小就叫页面大小。

页框:将内存划分的块。

页和页框二者一一对应,一个页放入一个页框,(理论上)页的大小和页框的大小相等。

页表:就是一个页和页框一一对应的关系表。【存放在内存中】 关系表只是起到一个索引的作用,说白了就是能根据关系表能查到某一个页面和哪一个页框所对应。

//

//

//二、用例子说话【例子出现在:《王道考研操作系统》的内存管理部分】

已知条件:逻辑地址32位、页面大小4KB、页表项大小4B,按字节编址。

分析:

1.

​ 首先

32

位的虚拟地址可表示的进程大小应该是2^32B = 4GB(暂时别去想页号P占多少位,W占多少位)

2.(根据页的定义和页面大小的定义)将进程进行分页:

3.我们已经知道了页面的数目为:2^20页。现在的迷茫点就在于页表项的问题上。

上图在页表上已经给出了几个数据:20位,12位,32位,2^20项。一一解释如下【请结合上图一个一个数据分析】:

​ 2^20项:因为页表的作用是要将页面的页框一一对应起来,所以,每一个页面在页表中都应该有一个页表项:用来表示一个页号对应一页页框号(内存中的块号),故应

​ 该有2^20项。【不应该有问题吧,就好像一个班有50个同学,每个人都应该有一个地址一样】

20位:已经很显然了,需要表示出2^20个页表项,就至少需要20位的地址。为什么只取20位而不是21位,22位呢,本人现在还没想这个问题,就暂时定为恰好取20位即可。

32位:已知条件里告诉了页表项大小为4B,那么自然就应该是32位了。

12位:32位-20位 = 12位。为什么页框号地址为12位,只能表示2^12个页框,要小于2^20个页面呢,因为并不是进程的每一个页面都要调入内存。其实32位、12位、20位这三个数据还是有一定依据的,在二级分页的时候就会发现“哦,原来刚刚好”。此处暂不讨论二级分页。

4.通过上面的分析我们得出了哪些数据:

逻辑地址32位,进程大小:4GB。

页面:大小4KB,数量:2^20页。

页表项:4B,数量:2^20项。所以页表就需要4B*2^20 = 4MB的空间存储(这就是书中说:页表项大小为4MB的由来)进一步,主存的页框大小和页面大小是相等的,也为4KB,所以将页表存在主存就需要占用4MB/4KB = 1024页(因为页表也是存在主存中的,而主存也是按页框划分的。这的确是一种资源浪费,所以就需要建立二级页面,将其大小控制在1页之内,将二级页面存入主存即可)

【操作系统】页式储存方式,页,页表,页表项相关推荐

  1. 操作系统-内存管理(快表的地址变换机构,两级页表,虚拟内存的基本概念,基本页式管理下的页表和页面置换算法)

    文章目录 1.快表地址变换机构 2. 两级页表 3. 虚拟内存的基本概念 基本分页存储管理 1.快表地址变换机构 快表,又称联想寄存器(TLB,translation lookaside buffer ...

  2. 清华大学《操作系统》(六):非连续内存分配 段式、页式、段页式存储管理

    背景 连续内存分配给内存分配带来了很多不便,可能所有空闲片区大小都无法满足需求大小,这个分配就会失败.基于这种现状,就有了非连续内存分配的需求.非连续分配成功的几率更高,但也面对更多的问题,比如分配时 ...

  3. 操作系统之内存管理:4、基本地址变换机构(段氏、页式、段页式)

    4.基本地址变换机构 页式 1.页式 硬件实现流程 地址变化步骤 例 问题 2.页式+快表 什么是快表? 引入快表后地址变换步骤 引入快表后的硬件实现 快表无法装入完整的慢表,达到高命中率的基础原理是 ...

  4. 段页式存储管理方式的定义

    段页式存储管理方式即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名.右图示出了一个作业的地址空间和地址结构.

  5. (王道408考研操作系统)第三章内存管理-第一节8:非连续分配管理方式之段页式管理方式

    文章目录 一:分段和分页管理优缺点 二:段页式管理基本概念 (1)基本思想 (2)逻辑地址结构 (3)段表和页表 三:段页式管理实现地址管理 一:分段和分页管理优缺点 经过前面几节的叙述,可以看到分段 ...

  6. 三十四、段页式管理方式

    一.知识总览 二.分页.分段的优缺点分析 分页管理: 优点:内存空间利用率高,不会产生外部碎片,只会有少量的页内碎片. 缺点:不方便按照逻辑模块实现信息的共享和保护 分段管理: 优点:很方便按照逻辑模 ...

  7. 3.1.11 段页式管理方式

    目录 思维导图 分页 分段的优缺点 分段 分页 地址结构 思维导图 分页 分段的优缺点 分段 分页 地址结构

  8. Linux 操作系统原理 — 内存 — 页式管理、段式管理与段页式管理

    目录 文章目录 目录 前文列表 页式管理 快表 多级页表 基于页表的虚实地址转换原理 应用 TLB 快表提升虚实地址转换速度 页式虚拟存储器工作的全过程 缺页中断 为什么 Linux 默认页大小是 4 ...

  9. 操作系统内存管理——分区、页式、段式管理

    操作系统内存管理--分区.页式.段式管理 标签: 内存管理操作系统数据结构算法 2010-07-05 11:26 20805人阅读 评论(5) 收藏 举报 分类: 操作系统(4) 版权声明:本文为博主 ...

最新文章

  1. 直观、形象、动态,一文了解无处不在的标准差
  2. html5和html的区别是什么(精问)
  3. 一文弄懂SSD目标检测算法
  4. 确保***测试计划成功的10个秘诀(语录)
  5. thinkphp5中资源文件路径的使用
  6. 水电缴费系统php源码_简易水电费管理系统源程序代码
  7. centos7安装dhcp服务器并由客户端动态获取IP地址
  8. 在alv grid中的列中设置icon图标
  9. Python多线程threading和多进程multiprocessing的区别及代码实现
  10. VS2010 MFC中控件、对话框等背景颜色动态修改的方法
  11. Python快速读取文件中指定的一行或多行
  12. 吃鸡11月15服务器维护,绝地求生11月20日维护到几点 11.20吃鸡更新维护公告
  13. 第二十讲、迭代器模式
  14. iOS 中 #import同@class之间的区别
  15. 超市商品摆放图片_商品摆放舍不得拿、干净又卫生的马来西亚版大润发——NSK超市...
  16. 第十七章 模型压缩及移动端部署
  17. SQL Server 机考,用T-SQL编写 简单实例
  18. caffemodel中的参数及特征的抽取
  19. [python]有关Python的import...和from...import...的区别
  20. 入局智能健身镜,小度破圈进行时

热门文章

  1. 管道(pipeline)本质
  2. 英雄联盟LOL虚拟机 版本更新出现 游戏无法在虚拟机中运行 问题的解决方法!
  3. java通过poi生成excel表格(自适应列宽、合并单元格后的边框添加)
  4. 亲测可用fiddler手机抓包配置代理后没有网络
  5. PHP反序列化CTF例题
  6. 关于up to date in 1s 1 package is looking for funding run `npm fund` for details的问题
  7. pyqtgraph 在Opengl模式下开启抗锯齿效果
  8. 猪肉涨价后,西游记剧情都变了
  9. B2C电子商务模式分析与策略建议 [转载]
  10. VBA一键汇总多个工作簿-名称相同的工作表-的指定区域数据