当前位置: 首页 > 专利查询>同济大学专利>正文

基于系统页表的地址映射方法、装置和存储介质制造方法及图纸

技术编号:38404983 阅读:16 留言:0更新日期:2023-08-07 11:14
本说明书实施例提供了一种基于系统页表的地址映射方法、装置和存储介质,所述方法包括:在系统初始化过程中,创建一个系统页表,利用所述系统页表存储当前处理器中正在运行的进程的虚拟地址和物理地址的映射关系。本申请提供的技术方案能减少存储地址映射关系所占用的内存,从而提高设备运行效率。从而提高设备运行效率。从而提高设备运行效率。

【技术实现步骤摘要】
基于系统页表的地址映射方法、装置和存储介质


[0001]本文件涉及计算机系统存储管理领域,尤其涉及一种基于系统页表的地址映射方法、装置和存储介质。

技术介绍

[0002]操作系统中,存储管理的功能之一是提供内存空间的管理策略。而实现管理需要在操作系统中设置内存管理模块。
[0003]内存管理模块通常会针对每一个运行的进程创建一个单独的页表,用于存储相应进程的地址映射关系,即虚拟地址和物理地址的映射关系。
[0004]然而,对于一些特殊的领域,例如智能设备上的操作系统,由于上述系统内存较小,因此相对于该场景下的系统内存,现有技术使用的页表占用内存过高,最终导致智能设备运行效率降低,从而降低用户体验。

技术实现思路

[0005]鉴于上述的分析,本申请旨在提出了一种基于系统页表的地址映射方法、装置和存储介质,以减少存储地址映射关系所占用的内存,从而提高设备运行效率。
[0006]第一方面,本说明书一个或多个实施例提供了一种基于系统页表的地址映射方法,在系统初始化过程中,创建系统页表,所述方法包括:
[0007]利用所述系统页表存储当前处理器中正在运行的进程的虚拟地址和物理地址的映射关系。
[0008]进一步地,所述系统页表包括多个用于存储进程数据物理地址的页表项,每个所述页表项对应一个固定尺寸的虚空间;
[0009]在所述利用所述系统页表存储当前处理器中正在运行的进程的虚拟地址和物理地址的映射关系之前,所述方法还包括:
[0010]创建新进程后,进程数据包括:代码段数据、数据段数据和栈段数据;
[0011]分别获取物理内存中存储所述代码段数据、所述数据段数据的物理起始地址和所述栈段数据的起始物理地址;
[0012]分别计算所述代码段数据、所述数据段数据和所述栈段数据占据的物理页框数;
[0013]获取所述进程数据在虚空间中的起始地址;
[0014]根据所述虚空间中的起始地址,确定其在所述系统页表中的起始页表项;
[0015]所述利用所述系统页表存储当前处理器中正在运行的进程的虚拟地址和物理地址的映射关系,包括:
[0016]基于所述进程数据在所述系统页表中的起始页表项,根据所述代码段数据的物理起始地址、所述数据段数据的物理起始地址、所述栈段数据的起始物理地址、所述代码段数据占据的物理页框数、所述数据段数据占据的物理页框数和所述栈段数据占据的物理页框数,在所述系统页表中,建立并存储所述进程数据的虚拟地址和物理地址的映射关系。
[0017]进一步地,所述系统页表包括多个用于存储进程数据物理地址的页表项,每个所述页表项对应一个固定尺寸的虚空间;
[0018]所述基于所述进程数据在所述系统页表中的起始页表项,所述根据所述代码段数据的物理起始地址、所述数据段数据的物理起始地址、所述栈段数据的起始物理地址、所述代码段数据占据的物理页框数、所述数据段数据占据的物理页框数和所述栈段数据占据的物理页框数,在所述系统页表中,建立并存储所述进程数据的虚拟地址和物理地址的映射关系,包括:基于所述进程数据在所述系统页表中的起始页表项,所述代码段数据占据的物理页框数、所述数据段数据占据的物理页框数和所述栈段数据占据的物理页框数,按照代码段数据、数据段数据、栈段数据的次序,分别确定所述代码段数据对应的页表项、所述数据段数据对应的页表项和所述栈段数据对应的页表项;
[0019]根据所述代码段数据的物理起始地址、所述数据段数据的物理起始地址、所述栈段数据的起始物理地址、所述代码段数据占据的物理页框数、所述数据段数据占据的物理页框数和所述栈段数据占据的物理页框数,在相应的页表项中填写所述代码段数据、所述数据段数据或所述栈段数据对应的物理页框号,以建立并存储所述进程数据的虚拟地址和物理地址的映射关系。
[0020]进一步地,所述基于所述进程数据在所述系统页表中的起始页表项,所述代码段数据占据的物理页框数,确定所述代码段数据对应的页表项,包括:
[0021]确定所述进程数据在所述系统页表中的起始页表项为所述代码段数据对应的起始页表项;
[0022]根据所述代码段数据占据的物理页框数,确定所述代码段数据对应的其他页表项;
[0023]其中,所述代码段数据占据的物理页框数与所述代码段数据对应的页表项的数量相同。
[0024]进一步地,所述确定所述数据段数据对应的页表项,包括:
[0025]确定所述代码段数据对应的最后一个页表项为标的页表项;
[0026]确定所述标的页表项的下一个页表项为所述数据段数据对应的起始页表项;
[0027]根据所述数据段数据占据的物理页框数,确定所述数据段数据对应的其他页表项;
[0028]其中,所述数据段数据占据的物理页框数与所述数据段数据对应的页表项的数量相同。
[0029]进一步地,所述确定所述栈段数据对应的页表项,包括:
[0030]确定所述系统页表中的最后一个页表项为所述栈段数据对应的最后一个页表项;
[0031]根据所述栈段数据占据的物理页框数,确定所述栈段数据对应的其他页表项;
[0032]其中,所述栈段数据占据的物理页框数与所述栈段数据对应的页表项的数量相同。
[0033]进一步地,所述方法还包括:当处理器调度一个新的进程时,利用新进程的虚拟地址和物理地址的映射关系覆盖当前存储在所述系统页表中的虚拟地址和物理地址的映射关系。
[0034]第二方面,本说明书一个或多个实施例提供了一种基于系统页表的地址映射装
置,包括:页表创建模块和数据处理模块;
[0035]所述页表创建模块用于在系统初始化过程中,创建一个系统页表;
[0036]所述数据处理模块用于利用所述系统页表存储当前处理器中正在运行的进程的虚拟地址和物理地址的映射关系。
[0037]进一步地,创建新进程后,进程数据包括:代码段数据、数据段数据和栈段数据;
[0038]所述装置还包括:获取模块;
[0039]所述获取模块用于分别获取物理内存中存储所述代码段数据、所述数据段数据的物理起始地址和所述栈段数据的起始物理地址;分别计算所述代码段数据、所述数据段数据和所述栈段数据占据的物理页框数;所述进程数据在虚空间中的起始地址;根据所述虚空间中的起始地址,确定所述进程数据在所述系统页表中的起始页表项;
[0040]所述数据处理模块用于基于所述进程数据在所述系统页表中的起始页表项,根据所述代码段数据的物理起始地址、所述数据段数据的物理起始地址、所述栈段数据的起始物理地址、所述代码段数据占据的物理页框数、所述数据段数据占据的物理页框数和所述栈段数据占据的物理页框数,在所述系统页表中,建立并存储所述进程数据的虚拟地址和物理地址的映射关系。
[0041]第三方面,本说明书一个或多个实施例提供了一种存储介质,包括:
[0042]用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现第一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于系统页表的地址映射方法,其特征在于,在系统初始化过程中,创建系统页表,所述方法包括:利用所述系统页表存储当前处理器中正在运行的进程的虚拟地址和物理地址的映射关系。2.根据权利要求1所述的方法,其特征在于,创建新进程后,进程数据包括:代码段数据、数据段数据和栈段数据;在所述利用所述系统页表存储当前处理器中正在运行的进程的虚拟地址和物理地址的映射关系之前,所述方法还包括:分别获取物理内存中存储所述代码段数据、所述数据段数据的物理起始地址和所述栈段数据的起始物理地址;分别计算所述代码段数据、所述数据段数据和所述栈段数据占据的物理页框数;获取所述进程数据在虚空间中的起始地址;根据所述虚空间中的起始地址,确定其在所述系统页表中的起始页表项;所述利用所述系统页表存储当前处理器中正在运行的进程的虚拟地址和物理地址的映射关系,包括:基于所述进程数据在所述系统页表中的起始页表项,根据所述代码段数据的物理起始地址、所述数据段数据的物理起始地址、所述栈段数据的起始物理地址、所述代码段数据占据的物理页框数、所述数据段数据占据的物理页框数和所述栈段数据占据的物理页框数,在所述系统页表中,建立并存储所述进程数据的虚拟地址和物理地址的映射关系。3.根据权利要求2所述的方法,其特征在于,所述系统页表包括多个用于存储进程数据物理地址的页表项,每个所述页表项对应一个固定尺寸的虚空间;所述基于所述进程数据在所述系统页表中的起始页表项,所述根据所述代码段数据的物理起始地址、所述数据段数据的物理起始地址、所述栈段数据的起始物理地址、所述代码段数据占据的物理页框数、所述数据段数据占据的物理页框数和所述栈段数据占据的物理页框数,在所述系统页表中,建立并存储所述进程数据的虚拟地址和物理地址的映射关系,包括:基于所述进程数据在所述系统页表中的起始页表项,所述代码段数据占据的物理页框数、所述数据段数据占据的物理页框数和所述栈段数据占据的物理页框数,按照代码段数据、数据段数据、栈段数据的次序,分别确定所述代码段数据对应的页表项、所述数据段数据对应的页表项和所述栈段数据对应的页表项;根据所述代码段数据的物理起始地址、所述数据段数据的物理起始地址、所述栈段数据的起始物理地址、所述代码段数据占据的物理页框数、所述数据段数据占据的物理页框数和所述栈段数据占据的物理页框数,在相应的页表项中填写所述代码段数据、所述数据段数据或所述栈段数据对应的物理页框号,以建立并存储所述进程数据的虚拟地址和物理地址的映射关系。4.根据权利要求3所述的方法,其特征在于,所述基于所述进程数据在所述系统页表中的起始页表项,所述代码段数据占据的物理页框数,确定所述代码段数据对应的页表项,包括:
确定所述进程数...

【专利技术属性】
技术研发人员:邓蓉刘吉加王家祺
申请(专利权)人:同济大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1