CN104391803B - 一种分区操作系统的存储管理方法 - Google Patents
一种分区操作系统的存储管理方法 Download PDFInfo
- Publication number
- CN104391803B CN104391803B CN201410714111.9A CN201410714111A CN104391803B CN 104391803 B CN104391803 B CN 104391803B CN 201410714111 A CN201410714111 A CN 201410714111A CN 104391803 B CN104391803 B CN 104391803B
- Authority
- CN
- China
- Prior art keywords
- storage pool
- domain
- subregion
- context identifier
- operating system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明属于计算机软件设计领域,具体涉及一种分区操作系统的存储管理方法。本方法针对现有的分区操作系统存储管理技术,采用统一页表的方法解决了分区操作系统存储管理单元资源浪费的问题,通过软硬件结合的域切换方式提升了域切换性能,并提出一种基于存储池的存储管理办法。在嵌入式设备硬件资源紧张的客观条件下,应用此方法,资源消耗小,可以实现存储资源的高效管理。
Description
技术领域
本发明属于计算机软件设计领域,涉及一种存储管理方法,具体涉及一种用于嵌入式领域分区操作系统的存储管理方法。
背景技术
嵌入式分区操作系统是一种符合ARINC653标准,具有分区机制的操作系统。该操作系统将空间资源与时间资源划分到每个分区,使分区按照确定的时间顺序进行调度;在分区内部创建各应用任务,任务间采用优先级抢占方式分配分区的时间资源。分区操作系统结合处理器硬件提供的MMU机制,进行虚拟地址和物理地址的映射,所有分区采用同样的虚拟地址空间,但映射到不同物理地址空间,核心实现对所有存储空间的映射,因而能够访问所有地址。
分区操作系统通常维护N+1张页表实现存储管理。其中N指所支持的分区个数,1则为核心所使用的页表。分区内调用系统服务采用系统调用实现,为使系统调用时能够访问更多存储资源,需要在每个分区页表中拷贝一份核心页表(当系统切换为特权模式可访问)。分区切换时通过切换上下文切换所使用的页表,达到分区间空间隔离的效果。采用该方法具有以下缺陷:
1、浪费存储资源:为保证分区的系统调用正确执行,每个分区的页表均拷贝了一份核心页表的数据,浪费了资源。
2、域切换效率不高:域切换时软硬件没有很好的结合起来,导致运行效率不高。
发明内容
为了解决背景技术中的问题,本发明提出了一种具有效率高、资源浪费少的分区操作系统存储管理的方法。
本发明的具体技术方案是:
1)划分存储空间
将存储空间按照配置数据拆分为多个存储池;所述配置数据包括起始地址、大小、Cache属性和存储池类型;所述Cache属性包括Cache的使能/禁止属性、写穿/写回属性;所述存储池类型包括共享存储池和私有存储池;每个存储池都拥有一个唯一的上下文标识符作为标识;
2)建立统一页表
建立统一页表对存储池进行存储管理;所述建立统一页表包括将步骤1)中的配置数据及上下文标识符写入页表并根据存储池的不同在页表中设置不同的访问权限;所述访问权限包括用户读、用户写、用户执行权限及特权读、特权写、特权执行权限;
3)建立核心域和分区域;
建立域包括建立域空间及其上下文;域是代码运行的实例(类似于经典操作系统中进程的概念);域拥有独立的域空间、唯一的上下文标识符及域拥有的权限;
其中,建立核心域是选择一个共享存储池并从中划分一部分空间作为核心域空间;核心域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;核心域权限为特权模式;核心域有且仅有一个;
其中,建立分区域是选择一个私有存储池并从中划分一部分空间作为分区域空间;分区域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;分区域权限为用户模式;分区域可有多个;
4)分区域调度,对存储池进行访问;
分区操作系统进行分区域调度时会发生域切换;分区操作系统会进行存储池访问;
4.1)域切换时,将待切换域的上下文标识符写入上下文切换寄存器作为系统上下文标识符;
4.2)访问存储池,分为以下两种方式:
A:当访问私有存储池时,进行上下文标识符的比较和访问权限的比较,若均匹配,则访问成功;否则访问失败;
B:访问共享存储池地址时,不进行上下文标识符的比较但会进行访问权限的比较,若匹配,则访问成功;否则访问失败;
所述上下文标识符的比较指将当前系统上下文标识符和待访问存储池的上下文标识符进行比较;所述访问权限的比较指将当前所处权限与待访问存储池的访问权限进行比较。
本发明具有的优点:
1、本发明将原有的N+1张页表合并为1张页表,并减少页表中的相同信息,消除冗余;简化域切换的工作,提高执行效率;提高了页表的Cache命中率,进而提高整个系统的运行性能。
2、本发明采用上下文切换寄存器对上下文标识符进行存储,使得域间切换访问时,更加的简单、快捷,大大提高了执行效率。
附图说明
图1分区存储管理方法步骤。
图2存储空间划分存储池及存储池划分域空间。
图3存储池访问流程
具体实施方式
本发明提出了一种分区操作系统的存储管理方法,以下结合本发明的工作流程图(图1、图2和图3)对该方法进行描述:
步骤1)划分存储空间
将存储空间按照配置数据拆分为多个存储池;所述配置数据包括起始地址、大小、Cache属性和存储池类型;
具体地说,Cache属性包括Cache的使能/禁止属性、写穿/写回属性;具体地说,存储池类型包括共享存储池和私有存储池;每个存储池都拥有一个唯一的上下文标识符作为标识;
步骤2)建立统一页表
建立统一页表对存储池进行存储管理;
具体地说,建立统一页表包括将步骤1)中的配置数据及上下文标识符写入页表并根据存储池的不同在页表中设置不同的访问权限;
其中,访问权限包括用户读、用户写、用户执行权限及特权读、特权写、特权执行权限;
步骤3)建立核心域和分区域;
建立域包括建立域空间及其上下文;域是代码运行的实例(类似于经典操作系统中进程的概念);域拥有独立的域空间、唯一的上下文标识符及域拥有的权限;
其中,建立核心域是选择一个共享存储池并从中划分一部分空间作为核心域空间;核心域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;核心域权限为特权模式;核心域有且仅有一个;
其中,建立分区域是选择一个私有存储池并从中划分一部分空间作为分区域空间;分区域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;分区域权限为用户模式;分区域可有多个;
步骤4)分区域调度,对存储池进行访问;如图3所示:
分区操作系统进行分区域调度时会发生域切换;分区操作系统会进行存储池访问;
步骤4.1)域切换时,将待切换域的上下文标识符写入上下文切换寄存器作为系统上下文标识符;
步骤4.2)访问存储池,分为以下两种方式:
A:当访问私有存储池时,进行上下文标识符的比较和访问权限的比较,若均匹配,则访问成功;否则访问失败;
B:访问共享存储池地址时,不进行上下文标识符的比较但会进行访问权限的比较,若匹配,则访问成功;否则访问失败;
其中,上下文标识符的比较指将当前系统上下文标识符和待访问存储池的上下文标识符进行比较;
其中,访问权限的比较指将当前所处权限与待访问存储池的访问权限进行比较。
此处需要重点说明的是:
存储池的访问权限包括特权读、特权写、特权执行及用户读、用户写、用户执行,可以根据需求进行设置。核心域始终运行在特权模式下,分区域始终运行在用户模式下。核心域具有所有存储池的访问权限,也就是说所有存储池都是在特权模式下可写、可读、可执行的;分区域仅具有指定存储池的指定访问权限,也就是说指定存储池在用户模式下的访问权限是按需设置而非全部开放的。
在域切换时方法采用软硬件结合的方式实现快速切换,依据处理器硬件特性,当发生域切换时,为上下文切换寄存器配置不同的上下文标识符;以PowerPC系列处理器为例,方法采用段寄存器组(SRs)或进程ID寄存器(PID)作为上下文切换寄存器,有效地址与上下文切换寄存器联合确定唯一的页表入口。域通过切换上下文切换寄存器的值即切换上下文标识符的方式进行分区域切换,相较于软件的切换方法有更快的执行效率。
Claims (3)
1.一种分区操作系统的存储管理方法,其特征在于,包括以下步骤:
1)划分存储空间;
将存储空间按照配置数据拆分为多个存储池;所述配置数据包括起始地址、大小、Cache属性和存储池类型;
所述Cache属性包括Cache的使能/禁止属性、写穿/写回属性;
所述存储池类型包括共享存储池和私有存储池;每个存储池都拥有一个唯一的上下文标识符作为标识;
2)建立统一页表;
建立统一页表对存储池进行存储管理;所述统一页表包括步骤1)中的配置数据、上下文标识符以及存储池的访问权限;
3)建立核心域和分区域;
所述核心域是选择一个共享存储池并从中划分一部分空间作为核心域空间;核心域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;核心域权限为特权模式;
所述分区域是选择一个私有存储池并从中划分一部分空间作为分区域空间;分区域空间的Cache属性、存储池类型和上下文标识符继承于所属的存储池;分区域权限为用户模式;
4)分区域调度,对存储池进行访问;
4.1)域切换;将待切换域的上下文标识符写入上下文切换寄存器作为系统上下文标识符;
4.2)访问存储池,分为以下两种方式:
A:当访问私有存储池时,进行上下文标识符的比较和访问权限的比较,若均匹配,则访问成功;否则访问失败;
B:访问共享存储池地址时,不进行上下文标识符的比较但会进行访问权限的比较,若匹配,则访问成功;否则访问失败;
所述上下文标识符的比较指将当前系统上下文标识符和待访问存储池的上下文标识符进行比较;所述访问权限的比较指将当前所处权限与待访 问存储池的访问权限进行比较。
2.根据权利要求1所述的分区操作系统的存储管理方法,其特征在于,所述访问权限包括用户读、用户写、用户执行权限及特权读、特权写、特权执行权限。
3.根据权利要求1或2所述的分区操作系统的存储管理方法,其特征在于:所述核心域有且仅有一个;所述分区域有一个或者多个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410714111.9A CN104391803B (zh) | 2014-11-29 | 2014-11-29 | 一种分区操作系统的存储管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410714111.9A CN104391803B (zh) | 2014-11-29 | 2014-11-29 | 一种分区操作系统的存储管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104391803A CN104391803A (zh) | 2015-03-04 |
CN104391803B true CN104391803B (zh) | 2017-08-25 |
Family
ID=52609710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410714111.9A Active CN104391803B (zh) | 2014-11-29 | 2014-11-29 | 一种分区操作系统的存储管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104391803B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12135876B2 (en) | 2018-02-05 | 2024-11-05 | Micron Technology, Inc. | Memory systems having controllers embedded in packages of integrated circuit memory |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155568B (zh) * | 2015-04-03 | 2019-03-01 | 华为技术有限公司 | 一种存储分区的方法及终端 |
CN106528453B (zh) * | 2015-09-10 | 2019-10-18 | 中国航空工业第六一八研究所 | 基于复合尺度页的页表分区管理装置和方法 |
CN107273550A (zh) * | 2017-07-25 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种信息查询方法及装置 |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US10880401B2 (en) * | 2018-02-12 | 2020-12-29 | Micron Technology, Inc. | Optimization of data access and communication in memory systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510143A (zh) * | 2009-03-13 | 2009-08-19 | 杭州华三通信技术有限公司 | 动态分配存储空间的方法、系统和存储装置 |
CN102023821A (zh) * | 2010-12-16 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种磁盘空间管理方法及系统 |
CN102193744A (zh) * | 2010-03-03 | 2011-09-21 | 群联电子股份有限公司 | 可分区管理储存系统及其使用方法、管理方法与其控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8301848B2 (en) * | 2008-06-09 | 2012-10-30 | International Business Machines Corporation | Virtualizing storage for WPAR clients using node port ID virtualization |
-
2014
- 2014-11-29 CN CN201410714111.9A patent/CN104391803B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510143A (zh) * | 2009-03-13 | 2009-08-19 | 杭州华三通信技术有限公司 | 动态分配存储空间的方法、系统和存储装置 |
CN102193744A (zh) * | 2010-03-03 | 2011-09-21 | 群联电子股份有限公司 | 可分区管理储存系统及其使用方法、管理方法与其控制器 |
CN102023821A (zh) * | 2010-12-16 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种磁盘空间管理方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12135876B2 (en) | 2018-02-05 | 2024-11-05 | Micron Technology, Inc. | Memory systems having controllers embedded in packages of integrated circuit memory |
Also Published As
Publication number | Publication date |
---|---|
CN104391803A (zh) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391803B (zh) | 一种分区操作系统的存储管理方法 | |
US9619287B2 (en) | Methods and system for swapping memory in a virtual machine environment | |
US8041920B2 (en) | Partitioning memory mapped device configuration space | |
US9047090B2 (en) | Methods, systems and devices for hybrid memory management | |
US10877793B2 (en) | Extending the base address register by modifying the number of read-only bits associated with a device to be presented to a guest operating system | |
TW200919183A (en) | Method and apparatus for caching of page translations for virtual machines | |
US9971512B2 (en) | Page compression strategy for improved page out process | |
WO2017028309A1 (zh) | 文件数据访问方法和计算机系统 | |
KR101650424B1 (ko) | 기점 가상 머신으로부터 목적지 가상 머신으로의 동작 전송 | |
CN114816664A (zh) | Gpu虚拟化 | |
JPWO2012117453A1 (ja) | 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法 | |
TW201109924A (en) | Partitioned replacement for cache memory | |
JP2008515069A (ja) | プロセッサ・リソースの仮想化のためのシステムおよび方法 | |
WO2016138785A1 (zh) | 一种运行进程的方法及装置 | |
US20170187694A1 (en) | Scalable techniques for data transfer between virtual machines | |
JP5612681B2 (ja) | 仮想計算機システム、領域管理方法、及びプログラム | |
US10042659B1 (en) | Caching virtual contexts for sharing of physical instances of a hardware resource | |
JP2006294028A (ja) | 直接実行機能を提供するためのシステム、コンピュータシステム、方法およびプログラム | |
US20150242121A1 (en) | Per-memory group swap device | |
CN105550014A (zh) | 灵活高效的跨权限级与域的调用方法 | |
CN101008923A (zh) | 面向异构多核体系的分段式存储空间管理方法 | |
US20120324167A1 (en) | Multicore processor system and multicore processor | |
CN109800190B (zh) | 内存的加速处理方法及装置、存储介质、处理器 | |
US20240354139A1 (en) | Low-latency virtual machines | |
JP5382471B2 (ja) | 電力制御方法、計算機システム、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |