一种分区操作系统的存储管理方法

文档序号:6636681阅读:536来源:国知局
一种分区操作系统的存储管理方法
【专利摘要】本发明属于计算机软件设计领域,具体涉及一种分区操作系统的存储管理方法。本方法针对现有的分区操作系统存储管理技术,采用统一页表的方法解决了分区操作系统存储管理单元资源浪费的问题,通过软硬件结合的域切换方式提升了域切换性能,并提出一种基于存储池的存储管理办法。在嵌入式设备硬件资源紧张的客观条件下,应用此方法,资源消耗小,可以实现存储资源的高效管理。
【专利说明】—种分区操作系统的存储管理方法

【技术领域】
[0001]本发明属于计算机软件设计领域,涉及一种存储管理方法,具体涉及一种用于嵌入式领域分区操作系统的存储管理方法。

【背景技术】
[0002]嵌入式分区操作系统是一种符合ARINC653标准,具有分区机制的操作系统。该操作系统将空间资源与时间资源划分到每个分区,使分区按照确定的时间顺序进行调度;在分区内部创建各应用任务,任务间采用优先级抢占方式分配分区的时间资源。分区操作系统结合处理器硬件提供的MMU机制,进行虚拟地址和物理地址的映射,所有分区采用同样的虚拟地址空间,但映射到不同物理地址空间,核心实现对所有存储空间的映射,因而能够访问所有地址。
[0003]分区操作系统通常维护N+1张页表实现存储管理。其中N指所支持的分区个数,I则为核心所使用的页表。分区内调用系统服务采用系统调用实现,为使系统调用时能够访问更多存储资源,需要在每个分区页表中拷贝一份核心页表(当系统切换为特权模式可访问)。分区切换时通过切换上下文切换所使用的页表,达到分区间空间隔离的效果。采用该方法具有以下缺陷:
[0004]1、浪费存储资源:为保证分区的系统调用正确执行,每个分区的页表均拷贝了一份核心页表的数据,浪费了资源。
[0005]2、域切换效率不高:域切换时软硬件没有很好的结合起来,导致运行效率不高。


【发明内容】

[0006]为了解决【背景技术】中的问题,本发明提出了一种具有效率高、资源浪费少的分区操作系统存储管理的方法。
[0007]本发明的具体技术方案是:
[0008]I)划分存储空间
[0009]将存储空间按照配置数据拆分为多个存储池;所述配置数据包括起始地址、大小、Cache属性和存储池类型;所述Cache属性包括Cache的使能/禁止属性、写穿/写回属性;所述存储池类型包括共享存储池和私有存储池;每个存储池都拥有一个唯一的上下文标识符作为标识;
[0010]2)建立统一页表
[0011]建立统一页表对存储池进行存储管理;所述建立统一页表包括将步骤I)中的配置数据及上下文标识符写入页表并根据存储池的不同在页表中设置不同的访问权限;所述访问权限包括用户读、用户写、用户执行权限及特权读、特权写、特权执行权限;
[0012]3)建立核心域和分区域;
[0013]建立域包括建立域空间及其上下文;域是代码运行的实例(类似于经典操作系统中进程的概念);域拥有独立的域空间、唯一的上下文标识符及域拥有的权限;
[0014]其中,建立核心域是选择一个共享存储池并从中划分一部分空间作为核心域空间;核心域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;核心域权限为特权模式;核心域有且仅有一个;
[0015]其中,建立分区域是选择一个私有存储池并从中划分一部分空间作为分区域空间;分区域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;分区域权限为用户模式;分区域可有多个;
[0016]4)分区域调度,对存储池进行访问;
[0017]分区操作系统进行分区域调度时会发生域切换;分区操作系统会进行存储池访问;
[0018]4.1)域切换时,将待切换域的上下文标识符写入上下文切换寄存器作为系统上下文标识符;
[0019]4.2)访问存储池,分为以下两种方式:
[0020]A:当访问私有存储池时,进行上下文标识符的比较和访问权限的比较,若均匹配,则访问成功;否则访问失败;
[0021]B:访问共享存储池地址时,不进行上下文标识符的比较但会进行访问权限的比较,若匹配,则访问成功;否则访问失败;
[0022]所述上下文标识符的比较指将当前系统上下文标识符和待访问存储池的上下文标识符进行比较;所述访问权限的比较指将当前所处权限与待访问存储池的访问权限进行比较。
[0023]本发明具有的优点:
[0024]1、本发明将原有的N+1张页表合并为I张页表,并减少页表中的相同信息,消除冗余;简化域切换的工作,提闻执行效率;提闻了页表的Cache命中率,进而提闻整个系统的运行性能。
[0025]2、本发明采用上下文切换寄存器对上下文标识符进行存储,使得域间切换访问时,更加的简单、快捷,大大提高了执行效率。

【专利附图】

【附图说明】
[0026]图1分区存储管理方法步骤。
[0027]图2存储空间划分存储池及存储池划分域空间。
[0028]图3存储池访问流程

【具体实施方式】
[0029]本发明提出了一种分区操作系统的存储管理方法,以下结合本发明的工作流程图(图1、图2和图3)对该方法进行描述:
[0030]步骤I)划分存储空间
[0031]将存储空间按照配置数据拆分为多个存储池;所述配置数据包括起始地址、大小、Cache属性和存储池类型;
[0032]具体地说,Cache属性包括Cache的使能/禁止属性、写穿/写回属性;具体地说,存储池类型包括共享存储池和私有存储池;每个存储池都拥有一个唯一的上下文标识符作为标识;
[0033]步骤2)建立统一页表
[0034]建立统一页表对存储池进行存储管理;
[0035]具体地说,建立统一页表包括将步骤I)中的配置数据及上下文标识符写入页表并根据存储池的不同在页表中设置不同的访问权限;
[0036]其中,访问权限包括用户读、用户写、用户执行权限及特权读、特权写、特权执行权限;
[0037]步骤3)建立核心域和分区域;
[0038]建立域包括建立域空间及其上下文;域是代码运行的实例(类似于经典操作系统中进程的概念);域拥有独立的域空间、唯一的上下文标识符及域拥有的权限;
[0039]其中,建立核心域是选择一个共享存储池并从中划分一部分空间作为核心域空间;核心域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;核心域权限为特权模式;核心域有且仅有一个;
[0040]其中,建立分区域是选择一个私有存储池并从中划分一部分空间作为分区域空间;分区域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;分区域权限为用户模式;分区域可有多个;
[0041]步骤4)分区域调度,对存储池进行访问;如图3所示:
[0042]分区操作系统进行分区域调度时会发生域切换;分区操作系统会进行存储池访问;
[0043]步骤4.1)域切换时,将待切换域的上下文标识符写入上下文切换寄存器作为系统上下文标识符;
[0044]步骤4.2)访问存储池,分为以下两种方式:
[0045]A:当访问私有存储池时,进行上下文标识符的比较和访问权限的比较,若均匹配,则访问成功;否则访问失败;
[0046]B:访问共享存储池地址时,不进行上下文标识符的比较但会进行访问权限的比较,若匹配,则访问成功;否则访问失败;
[0047]其中,上下文标识符的比较指将当前系统上下文标识符和待访问存储池的上下文标识符进行比较;
[0048]其中,访问权限的比较指将当前所处权限与待访问存储池的访问权限进行比较。
[0049]此处需要重点说明的是:
[0050]存储池的访问权限包括特权读、特权写、特权执行及用户读、用户写、用户执行,可以根据需求进行设置。核心域始终运行在特权模式下,分区域始终运行在用户模式下。核心域具有所有存储池的访问权限,也就是说所有存储池都是在特权模式下可写、可读、可执行的;分区域仅具有指定存储池的指定访问权限,也就是说指定存储池在用户模式下的访问权限是按需设置而非全部开放的。
[0051]在域切换时方法采用软硬件结合的方式实现快速切换,依据处理器硬件特性,当发生域切换时,为上下文切换寄存器配置不同的上下文标识符;以PowerPC系列处理器为例,方法采用段寄存器组(SRs)或进程ID寄存器(PID)作为上下文切换寄存器,有效地址与上下文切换寄存器联合确定唯一的页表入口。域通过切换上下文切换寄存器的值即切换上下文标识符的方式进行分区域切换,相较于软件的切换方法有更快的执行效率。
【权利要求】
1.一种分区操作系统的存储管理方法,其特征在于,包括以下步骤: 1)划分存储空间 将存储空间按照配置数据拆分为多个存储池;所述配置数据包括起始地址、大小、Cache属性和存储池类型; 所述Cache属性包括Cache的使能/禁止属性、写穿/写回属性; 所述存储池类型包括共享存储池和私有存储池;每个存储池都拥有一个唯一的上下文标识符作为标识; 2)建立统一页表 建立统一页表对存储池进行存储管理;所述统一页表包括步骤I)中的配置数据、上下文标识符以及存储池的访问权限; 3)建立核心域和分区域; 所述核心域是选择一个共享存储池并从中划分一部分空间作为核心域空间;核心域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;核心域权限为特权模式; 所述分区域是选择一个私有存储池并从中划分一部分空间作为分区域空间;分区域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;分区域权限为用户模式; 4)分区域调度,对存储池进行访问; 4.1)域切换;将待切换域的上下文标识符写入上下文切换寄存器作为系统上下文标识符; 4.2)访问存储池,分为以下两种方式: A:当访问私有存储池时,进行上下文标识符的比较和访问权限的比较,若均匹配,则访问成功;否则访问失败; B:访问共享存储池地址时,不进行上下文标识符的比较但会进行访问权限的比较,若匹配,则访问成功;否则访问失败; 所述上下文标识符的比较指将当前系统上下文标识符和待访问存储池的上下文标识符进行比较;所述访问权限的比较指将当前所处权限与待访问存储池的访问权限进行比较。
2.根据权利要求1所述的分区操作系统的存储管理方法,其特征在于,所述访问权限包括用户读、用户写、用户执行权限及特权读、特权写、特权执行权限。
3.根据权利要求1或2所述的分区操作系统的存储管理方法,其特征在于:所述核心域有且仅有一个;所述分区域有一个或者多个。
【文档编号】G06F12/08GK104391803SQ201410714111
【公开日】2015年3月4日 申请日期:2014年11月29日 优先权日:2014年11月29日
【发明者】田博岩, 黄保垒, 时磊, 韩炜, 叶宏, 李运喜 申请人:中国航空工业集团公司第六三一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1