当前位置:首页 > 内存 > 正文

页式内存管理过程

  • 内存
  • 2024-07-31 14:55:44
  • 4800

一、深入理解操作系统之——分页式存储管理


在操作系统领域,页存储管理是虚拟内存的核心技术之一。它就像一座桥梁,是电子空间和物理内存之间的纽带,让我们能够了解操作系统的内部工作原理。本文将引导您了解主页面图、横幅图、二级页面图、多级页面图的滑动比例,以及如何编织内存管理的魔力。




逻辑语音和物理块:分而治之的策略

在逻辑电子系统中,页是一个划分的逻辑空间,大小通常为512B到8KB,均匀地划分虚拟内存。例如,在32位系统上,4KB页的数量可以达到220个。另一方面,物理块等于物理内存的一部分,其大小对应于页。对于231物理内存来说,每组4KB,可以分为219个物理块。


页面内的号码和地址。如,在32位的逻辑地址中,高20位代表页号,低12位代表页内的地址。当进程试图访问逻辑地址时,系统会自动将其拆分为页号和页内地址进行计算。




页表:内存中的导航器

页表存储了虚拟内存和物理内存的对应关系。记录每个逻辑页在物理内存中的位置的引用列表。值得注意的是,页表中仅引用物理内存中保留的页。页面文件通常驻留在物理内存中,从地址开始,最后存储在控制进程中。




从逻辑到物理:转换路径

当访问逻辑地址时,系统首先将其放在页码和电子邮件地址上。如果页数超过页数限制,则会出现阻塞错误。获取每个页条目的物理块号,计算与页大小相关的物理地址,最后直接访问物理内存。




快速表:加速寻址的强大工具

快速表(TLB)是一个高级内部CPU高速缓存可提高表页面的速度。它可以显着提高虚拟地址到物理地址的转换速度,命中率通常可达90%以上。当TLB已满时,假定该策略存储不再需要的页表。




一级表的挑战和解决方案

一级表的延续性和记忆性。对于较大的逻辑地址空间,页表要求会出现问题。多级页表和离散分配策略是针对要求较高的时代而开发的,允许存储分布式页表以减少内存使用,同时避免每个页表所需的连续物理空间。




二级页表与多级页表:分级管理的智慧

二级页表页本身的管理是通过页表引入的,逻辑地址分为顶级页号、次要页号和页内地址。几个页表在此基础上更进了一步,通过层次结构来维护物理内存,使得大内存空间的管理变得高效。



二、内存寻址的页式内存管理

首先,我们需要了解一些有关线性地址的知识。
(1)线性地址分为固定长度单元组,称为页。页内的连续线性地址被映射到连续的物理地址。
(2)分页段单元将所有物理地址划分为固定长度的页框,称为物理页。
(3)将线性地址映射到物理地址的数据结构称为页表。
(4)32位线性地址分为3个字段:目录的高10位、页表的中10位和偏移量的低12位。12位每页包含4096字节数据。
线性地址的转换分两步进行。每个步骤都基于一个转换表。第一个转换表称为页目录表转换,第二个转换称为页表转换。使用这种辅助模式的目的是减少每个进程页表所需的RAM量。
转换步骤:
(1)提取cr3进程的页目录地址(操作系统负责在调度进程时将此地址加载到相应的寄存器中);前十个线性Bit地址,找到数组中对应的索引元素。由于二级管理模式的引入,页目录中的元素不再是页的地址,而是页表的地址。(另外引入一个表)并且页地址放在页表中。(3)根据线性地址的中间十位在页表(也是一个表)中找到该页的起始地址(4)将该页的起始地址添加到线性地址的后12位;获得所需的最终地址。其对应的物理地址。