操作系统一基本分页存储管理名词解释与理解
操作系统一基本分页存储管理名词解释与理解
·
1、常见的名词(简单解释)
- 逻辑地址空间:简单的理解为程序进程在运行时系统为其分配的运行内存空间。
- 页面(页):将用户进程的(逻辑)地址空间划分为固定且大小相等的一个个区域。
- 页面大小:页面的一个划分区域的大小。
- 页号:表明页面在划分区域过后的次序。
- 位移量、偏移量、页内地址:这3个名词是同一个意思,页内地址的长度决定了页面的大小。
- 页表:系统为每个进程建立的页面映像表,每一个进程都有一个独立的页表。
- 页表长度:页表的总长度,页表项的个数。
- 页表项:页表的其中一项
- 页表项大小:页表的其中一项的存储需要的空间。页表项长度等于计算机位数长度,假设一台计算机是32位的,那么一个页表项则为32b=4B。
- 物理块、页框:物理块和页框是同一个意思,
- 页内碎片:最后一页没放满,就会产生页内碎片
- 页表(基址)寄存器:
2、页表、页表长度

3、页表项、页表项大小

4、页内碎片

5、题目
5.1、页面大小计算方式
- Intel 80386微处理器一款32位处理器,页表项1M个,求单个页面的页面大小。
解:页表项1M=220,页内地址:32-20=12位,求得页面大小212*1B=4kB。 - 具体解释
页表项1M=2^20^,说明页号使用了20位长度;页内地址则:32-20=12位,每个页内地址对应的是内存中的一个字节。 这里部分人理解有一个误区,以为这10位页内地址是用来存储数据的,实际上依旧只是一个地址和数据完全没关系。如果把页号+页内地址计算出物理地址,这个地址只是指向了一个字节。 那么页内地址长度是如何计算出页面大小的?比如一个页面是4kB,每个字节都需要一个地址,那么需要4k个地址,4k个地址需要12位才能完全覆盖。所以反过来推下,如果知道了地址的长度,是不是就能知道这个地址能表示的字节个数。
5.2、页表占用主存空间的计算
- Intel 80386微处理器一款32位处理器,页表项1M个,若页面大小为4KB(212B),求页表占用了多少主存空间?
- 解
因为处理器是32位的,所以一个页表项也是32位也就是4B 页表大小:4B*1M=4MB
5.3、通过逻辑地址计算物理页
- 某操作系统采用分页存储管理方式,下图给出了进程A和进程 B的页表结构。如果物理页的大小为1K字节,那么进程A中逻辑地址为 1024(十进制)用变量存放在( )号物理内存页中。假设进程A的逻辑页4与进程B的逻辑页5要共享物理页4,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填( )。

- 解
因为逻辑地址是从0开始的,0~1023放在第一页中,1024放在逻辑页第二页,题目求的是物理页,通过页表转换第二页对应的是物理页是第3页。 页表不管共享,所以第二个空,分别填4,4,就这么简单
参考文档
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)