[发明专利]操作系统分区共享内存方法和系统有效
| 申请号: | 202210343735.9 | 申请日: | 2022-03-31 |
| 公开(公告)号: | CN114661497B | 公开(公告)日: | 2023-01-10 |
| 发明(设计)人: | 余丹;谢星宇;王丹星 | 申请(专利权)人: | 慧之安信息技术股份有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/50 |
| 代理公司: | 北京广技专利代理事务所(特殊普通合伙) 11842 | 代理人: | 张国香 |
| 地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 操作系统 分区 共享 内存 方法 系统 | ||
1.操作系统分区共享内存方法,其特征在于,其包括如下步骤:
步骤S1,获取不同分区操作系统各自在预设时间段内的任务执行情况,并根据所述任务执行情况,确定每个分区操作系统各自的内存占用信息;再根据所述内存占用信息,从预设内存空间中划分相应内存区段作为共享内存空间;
步骤S2,将所述共享内存空间划分为若干共享内存页,并根据每个分区操作系统各自的应用程序运行状态,以此构建每个分区操作系统对至少一个共享内存页的使用映射关系;并确定每个分区操作系统对所有共享内存页的操作权限;
步骤S3,根据分区操作系统当前的进程执行状态,生成相应的共享内存页申请消息,并根据所述使用映射关系,确定是否授权分区操作系统访问相应的共享内存页;并且在完成对共享内存页的访问后,对其进行数据清空处理;
其中,在所述步骤S1中,获取不同分区操作系统各自在预设时间段内的任务执行情况,并根据所述任务执行情况,确定每个分区操作系统各自的内存占用信息;再根据所述内存占用信息,从预设内存空间中划分相应内存区段作为共享内存空间具体包括:
步骤S101,获取不同分区操作系统各自在预设时间段内的任务执行次数、每个任务各自对应的任务数据量以及每个任务的执行时间,以此作为所述任务执行情况;
步骤S102,根据所述任务执行次数、每个任务各自对应的任务数据量以及每个任务的执行时间,确定每个分区操作系统各自在预设时间段内的内存占用空间大小和内存占用驻留时间,以此作为所述内存占用信息;
步骤S103,根据所述内存占用空间大小和内存占用驻留时间,确定每个分区操作系统每执行一次任务平均所需要占用的内存空间大小;再根据分区操作系统的总数量以及所述每执行一次任务平均所需要占用的内存空间大小,从预设内存空间中划分相应内存区段作为共享内存空间;其中,在所述步骤S2中,将所述共享内存空间划分为若干共享内存页,并根据每个分区操作系统各自的应用程序运行状态,以此构建每个分区操作系统对至少一个共享内存页的使用映射关系;并确定每个分区操作系统对所有共享内存页的操作权限具体包括:
步骤S201,将所述共享内存空间均分为若干共享内存页,其中每个共享内存页在所述共享内存空间中具有固定的内存扇区位置编号;
步骤S202,获取每个分区操作系统各自的应用程序在运行过程中的数据运算量;根据所述数据运算量和每个共享内存页的内存空间大小,构建每个分区操作系统对至少一个共享内存页的使用映射关系;其中,所述使用映射关系是指每个分区操作系统与其允许使用的至少一个共享内存页的内存扇区位置编号的对应关系;
步骤S203,确定每个区分操作系统只对与其存在使用映射关系的至少一个共享内存页具有读写权限,并且对与其不存在使用映射关系的共享内存页面不具有读写权限;
其中,在所述步骤S202中,获取每个分区操作系统各自的应用程序在运行过程中的数据运算量;根据所述数据运算量和每个共享内存页的内存空间大小,构建每个分区操作系统对至少一个共享内存页的使用映射关系;其中,所述使用映射关系是指每个分区操作系统与其允许使用的至少一个共享内存页的内存扇区位置编号的对应关系具体包括:
步骤S2021,利用下面公式(1),根据每个分区操作系统各自的应用程序在运行过程中的数据运算量和每个共享内存页的内存空间大小,首先判断所述共享内存页是否可以进行均分映射
在上述公式(1)中,D表示所述共享内存页是否可以进行均分映射的决定值;S(i)表示第i个分区操作系统的应用程序在运行过程中的数据运算量;n表示所述分区操作系统的总数;S0表示单个共享内存页的内存空间大小;m表示所述共享内存页的总数;表示进行向上取整;表示进行向下取整;
若D=1,表示所述共享内存页可以进行均分映射,则进入步骤S2022的操作;
若D=0,表示所述共享内存页不能进行均分映射,则进入步骤S2023的操作;
步骤S2022,利用上述步骤S2021判断出能够均分映射,则利用下面公式(2),根据每个分区操作系统各自的应用程序在运行过程中的数据运算量的最大值和每个共享内存页的内存空间大小得到均分的共享内存页个数,
在上述公式(2)中,a表示均分的共享内存页个数;若a=0,表示当前不可进行步骤S2022的操作;
根据所述均分的共享内存页个数,按照共享内存页的内存扇区位置编号从小到大开始,每a个共享内存页为一组,分配给一个分区操作系统,进而完成每个分区操作系统与其允许使用的至少一个共享内存页的内存扇区位置编号的对应关系;
步骤S2023,利用上述步骤S2021判断出不能均分映射,则利用下面公式(3),根据每个分区操作系统各自的应用程序在运行过程中的数据运算量的最大值和每个共享内存页的内存空间大小,对数据运算量最大的分区操作系统分配共享内存页进行映射,
在上述公式(3)中,ak表示第k次进入步骤S2023状态时当前数据运算量最大的分区操作系统分配的共享内存页个数;若ak=0,表示当前不可进行步骤S2023的操作;
步骤S2024,在最大的分区操作系统分配共享内存页进行映射完成后,将最大的分区操作系统以及其对应分配的共享内存页进行剔除,剔除后n变为n-k+1,m变为其中K表示当前已分配共享内存页完成映射的分区操作系统个数,然后再重复上述步骤S2021,若还存在不能均分映射则继续选择剔除后的每个分区操作系统各自的应用程序在运行过程中的数据运算量的最大值来分配剔除后剩余的共享内存页进行映射,即重复上述步骤S2023的计算,直至重复到出现可以进行均分映射或所有分区操作系统都分配到共享内存页进行映射为止,若出现剔除剩余的分区操作系统可以进行均分映射时则利用步骤S2022将n赋值为n-k+1,m赋值为对剩余分区操作系统进行均分映射,进而完成所有分区操作系统的映射关系;
其中,在所述步骤S3中,根据分区操作系统当前的进程执行状态,生成相应的共享内存页申请消息,并根据所述使用映射关系,确定是否授权分区操作系统访问相应的共享内存页;并且在完成对共享内存页的访问后,对其进行数据清空处理具体包括:
步骤S301,获取分区操作系统当前处于非后台状态的进程执行数量和进程数据计算量;根据所述进程执行数量和所述进程数据计算量,生成相应的共享内存页申请消息;其中,所述共享内存页申请消息包括需要申请访问的共享内存页的数量;
步骤S302,根据需要申请访问的共享内存页的数量和所述使用映射关系,确定分区操作系统允许访问的至少一个共享内存页;并确定所述允许访问的至少一个共享内存页中是否存在当前被其他分区操作系统访问的共享内存页,若存在,则指示其他分区操作系统退出访问,再授权分区操作系统访问相应的共享内存页;
步骤S303,当确认分区操作系统完成对共享内存页的访问并退出相应的共享内存页后,对相应的共享内存页进行数据删除清空处理。
2.操作系统分区共享内存系统,其特征在于,其包括共享内存空间划分模块、共享内存页分配模块、共享内存页操作权限确定模块和共享内存页访问处理模块;其中,
所述共享内存空间划分模块用于获取不同分区操作系统各自在预设时间段内的任务执行情况,并根据所述任务执行情况,确定每个分区操作系统各自的内存占用信息;再根据所述内存占用信息,从预设内存空间中划分相应内存区段作为共享内存空间;
所述共享内存页分配模块用于将所述共享内存空间划分为若干共享内存页,并根据每个分区操作系统各自的应用程序运行状态,以此构建每个分区操作系统对至少一个共享内存页的使用映射关系;
所述共享内存页操作权限确定模块用于确定每个分区操作系统对所有共享内存页的操作权限;
所述共享内存页访问处理模块用于根据分区操作系统当前的进程执行状态,生成相应的共享内存页申请消息,并根据所述使用映射关系,确定是否授权分区操作系统访问相应的共享内存页;并且在完成对共享内存页的访问后,对其进行数据清空处理;
其中,所述共享内存空间划分模块获取不同分区操作系统各自在预设时间段内的任务执行情况,并根据所述任务执行情况,确定每个分区操作系统各自的内存占用信息;再根据所述内存占用信息,从预设内存空间中划分相应内存区段作为共享内存空间具体包括:
获取不同分区操作系统各自在预设时间段内的任务执行次数、每个任务各自对应的任务数据量以及每个任务的执行时间,以此作为所述任务执行情况;
根据所述任务执行次数、每个任务各自对应的任务数据量以及每个任务的执行时间,确定每个分区操作系统各自在预设时间段内的内存占用空间大小和内存占用驻留时间,以此作为所述内存占用信息;
根据所述内存占用空间大小和内存占用驻留时间,确定每个分区操作系统每执行一次任务平均所需要占用的内存空间大小;再根据分区操作系统的总数量以及所述每执行一次任务平均所需要占用的内存空间大小,从预设内存空间中划分相应内存区段作为共享内存空间;
其中,所述共享内存页分配模块将所述共享内存空间划分为若干共享内存页,并根据每个分区操作系统各自的应用程序运行状态,以此构建每个分区操作系统对至少一个共享内存页的使用映射关系具体包括:
将所述共享内存空间均分为若干共享内存页,其中每个共享内存页在所述共享内存空间中具有固定的内存扇区位置编号;
获取每个分区操作系统各自的应用程序在运行过程中的数据运算量;根据所述数据运算量和每个共享内存页的内存空间大小,构建每个分区操作系统对至少一个共享内存页的使用映射关系;其中,所述使用映射关系是指每个分区操作系统与其允许使用的至少一个共享内存页的内存扇区位置编号的对应关系;
以及,
所述共享内存页操作权限确定模块确定每个分区操作系统对所有共享内存页的操作权限具体包括:
确定每个区分操作系统只对与其存在使用映射关系的至少一个共享内存页具有读写权限,并且对与其不存在使用映射关系的共享内存页面不具有读写权限;
其中,所述获取每个分区操作系统各自的应用程序在运行过程中的数据运算量;根据所述数据运算量和每个共享内存页的内存空间大小,构建每个分区操作系统对至少一个共享内存页的使用映射关系;其中,所述使用映射关系是指每个分区操作系统与其允许使用的至少一个共享内存页的内存扇区位置编号的对应关系具体包括:
步骤S2021,利用下面公式(1),根据每个分区操作系统各自的应用程序在运行过程中的数据运算量和每个共享内存页的内存空间大小,首先判断所述共享内存页是否可以进行均分映射
在上述公式(1)中,D表示所述共享内存页是否可以进行均分映射的决定值;S(i)表示第i个分区操作系统的应用程序在运行过程中的数据运算量;n表示所述分区操作系统的总数;S0表示单个共享内存页的内存空间大小;m表示所述共享内存页的总数;表示进行向上取整;表示进行向下取整;
若D=1,表示所述共享内存页可以进行均分映射,则进入步骤S2022的操作;
若D=0,表示所述共享内存页不能进行均分映射,则进入步骤S2023的操作;
步骤S2022,利用上述步骤S2021判断出能够均分映射,则利用下面公式(2),根据每个分区操作系统各自的应用程序在运行过程中的数据运算量的最大值和每个共享内存页的内存空间大小得到均分的共享内存页个数,
在上述公式(2)中,a表示均分的共享内存页个数;若a=0,表示当前不可进行步骤S2022的操作;
根据所述均分的共享内存页个数,按照共享内存页的内存扇区位置编号从小到大开始,每a个共享内存页为一组,分配给一个分区操作系统,进而完成每个分区操作系统与其允许使用的至少一个共享内存页的内存扇区位置编号的对应关系;
步骤S2023,利用上述步骤S2021判断出不能均分映射,则利用下面公式(3),根据每个分区操作系统各自的应用程序在运行过程中的数据运算量的最大值和每个共享内存页的内存空间大小,对数据运算量最大的分区操作系统分配共享内存页进行映射,
在上述公式(3)中,ak表示第k次进入步骤S2023状态时当前数据运算量最大的分区操作系统分配的共享内存页个数;若ak=0,表示当前不可进行步骤S2023的操作;
步骤S2024,在最大的分区操作系统分配共享内存页进行映射完成后,将最大的分区操作系统以及其对应分配的共享内存页进行剔除,剔除后n变为n-k+1,m变为其中K表示当前已分配共享内存页完成映射的分区操作系统个数,然后再重复上述步骤S2021,若还存在不能均分映射则继续选择剔除后的每个分区操作系统各自的应用程序在运行过程中的数据运算量的最大值来分配剔除后剩余的共享内存页进行映射,即重复上述步骤S2023的计算,直至重复到出现可以进行均分映射或所有分区操作系统都分配到共享内存页进行映射为止,若出现剔除剩余的分区操作系统可以进行均分映射时则利用步骤S2022将n赋值为n-k+1,m赋值为对剩余分区操作系统进行均分映射,进而完成所有分区操作系统的映射关系;
其中,所述共享内存页访问处理模块根据分区操作系统当前的进程执行状态,生成相应的共享内存页申请消息,并根据所述使用映射关系,确定是否授权分区操作系统访问相应的共享内存页;并且在完成对共享内存页的访问后,对其进行数据清空处理具体包括:
获取分区操作系统当前处于非后台状态的进程执行数量和进程数据计算量;根据所述进程执行数量和所述进程数据计算量,生成相应的共享内存页申请消息;其中,所述共享内存页申请消息包括需要申请访问的共享内存页的数量;
根据需要申请访问的共享内存页的数量和所述使用映射关系,确定分区操作系统允许访问的至少一个共享内存页;并确定所述允许访问的至少一个共享内存页中是否存在当前被其他分区操作系统访问的共享内存页,若存在,则指示其他分区操作系统退出访问,再授权分区操作系统访问相应的共享内存页;
当确认分区操作系统完成对共享内存页的访问并退出相应的共享内存页后,对相应的共享内存页进行数据删除清空处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于慧之安信息技术股份有限公司,未经慧之安信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210343735.9/1.html,转载请声明来源钻瓜专利网。





