分页存储概念清晰梳理(页面、页表、页表项、页面大小、页内地址等概念)
创始人
2024-11-21 00:36:07
0

当我在学习操作系统的存储器管理这一章中的分页存储时发现我总是将许多概念混为一谈,当我求助于CSDN等众多网站的资源时发现其中的概念作者写的十分清晰但篇幅较长难以理解,因此我想用自己的理解用更加简洁明了的话语帮助更多困扰于分页存储系统概念的人员。

本文相关概念如下:

(1)(逻辑)地址空间

(2)页面、页

(3)页面大小

(4)页号

(5)位移量、偏移量、页内地址

(6)页表

(7)页表项

(8)页表项大小

(9)页表长度

(10)物理块、页框

(11)页内碎片

(12)页表(基址)寄存器


下面开始分别介绍:

1.(逻辑)地址空间:简单的理解为程序进程在运行时系统为其分配的运行内存空间。

2.页面(页):将用户进程的(逻辑)地址空间划分为固定且大小相等的一个个区域。

注:页面和页是同一概念!!!划分出来的一个区域为一个页(页面)!!!

3.页面大小:页面的一个划分区域的大小。

4.页号:表明页面在划分区域过后的次序。

5.位移量、偏移量、页内地址:页内地址即位移量或称偏移量,三者大小都等同于页面大小!!!不要着急问为什么,下面进行分析:

书上有类似下面这个图

注意这是分页地址中的地址结构!!!并不是页面!!!而是系统存储方式的一种结构!!!其中的页号在上面已经提及,而其中的页内地址即页面大小(用于之后将其中的内容放在内存物理地址中),可以通过下面这图来更好理解:

最左边的一整个为一个进程(逻辑)地址空间,每一项才是一个页面!!!

6.页表:系统为每个进程建立的页面映像表,即下图或上图的中间一整块部分。

7.页表项:页表的其中一项,即下图的中间一整块部分的其中一行(如:页号为2且物理块号为6的整体为一个页表项。

8.页表项大小:下图的中间一整块部分的其中一行所占大小。

9.页表长度:指页表项的个数,即下图中间部分一共有几行,有几行页表长度就为多少。

根据这张图可以分析以上所提的概念:

在这个图当中最左边的整个叫用户程序(逻辑地址空间),通过划分区域形成若干项,其中的每一项叫做页面,大小叫做页面大小,页面通过页表(页面映像表)对应物理块号,物理块号再对应与内存中的每一个实际(物理)地址,此时才将页面的内容(即页内地址)放在该实际(物理)地址中。

10.物理块、页框:物理块即页框!!!是将内存空间划分为与先前页面的大小相等的若干块(此时才能将页面大小(页内地址)完全放入划分的内存中,在上图表示的区域为最右边内存实际(物理)地址的每一行,一个物理块或页框就是其中的一行。

11.页内碎片:再讲页内碎片的概念时可以先看下图的例子

可以看到在(逻辑)地址空间被划分为6个区域,每个区域为一个页面,前五个区域(上图红色部分)或称前五页的地址空间大小都为100且都已存满,而第六页的区域同样可以填充100空间大小的内容,但由于用户程序的大小为512,故最后一页的内容实际空间就只填充了12空间大小,即还差100-12=88的内容是空闲的,这空闲的内容就称为页内碎片。

第六页(上图红色部分)未填充(空闲)的内容为页内碎片。

12.页表(基址)寄存器:系统中只设置一个页表寄存器,进程执行时,将页表始地址和页表长度放入页表寄存器,将页表寄存器的开始地址和相应页号相加(并非简单相加,简单这样理解就足够)得到页表中映像的物理块的具体位置,然后通过该物理块对应于内存中的实际(物理)地址,将页内地址放入其中。

相关内容

热门资讯

快手文档是什么软件 快手文档是一款在线协作文档编辑工具,支持多人实时协作编辑、文档共享、版本控制等功能,适用于团队协作办...
taskmgr是什么程序 taskmgr是Windows操作系统中的任务管理器,用于监控和管理计算机的运行情况,包括查看进程、...
ctf中逆向 CTF(Capture The Flag)中的逆向工程是指对软件、程序或系统进行分析,以理解其内部工...
关于STM32 UART4串口... 1.CubeMX生成的代码工程结构是比较合理的,但需要注意HAL库代码中初始化函数的调...
qq小船什么含义啊 "QQ小船"在网络语境中,通常是指腾讯QQ软件中的聊天窗口,因为形状像一只小船,所以被称为"QQ小船...
如何排查GD32 MCU复位是... 上期为大家讲解了GD32 MCU复位包括电源复位和系统复位,其中系统复位还包括独立看门...
latex的优点 LaTeX的优点包括:排版质量高,生成的文档美观;支持数学公式、科学符号等复杂内容;跨平台兼容性好;...
C++ set 1. 背景关联式容器 STL中的部分容器,比如:vector、list、...
手机打开什么录音 手机打开录音功能,通常可以通过找到系统自带的“录音机”或“语音备忘录”应用来操作。部分手机也可能在设...
CentOS下原生态安装mys... mysql 是一个关系型数据库管理系统,是最流行的关系型数据库管理系统之一࿰...