内存管理方法、内存管理装置和终端的制作方法_2

文档序号:8258368阅读:来源:国知局
状态,并将其他操作系统对应的页表的状态设置为休眠状态。
[0043]在该技术方案中,页表的状态为唤醒,则表示其当前可使用,根据唤醒状态的页表可确定对应的可访问的存储空间,反之,页表状态为休眠,则表示其当前不可用,任何进程都不可通过其访问其对应的存储空间。
[0044]在上述技术方案中,优选地,还包括:在确定所述目标存储区域后,允许所述任一进程访问所述目标存储区域,并禁止所述任一进程访问所述终端内存中的其他存储区域。
[0045]在该技术方案中,只允许进程访问目标存储区域,而禁止其访问其他存储区域,这样,保证了其他存储区域中数据的安全性,从而,避免在不同的操作系统间切换时带来安全隐患,增加操作系统的安全性,提升用户的使用体验。
[0046]在上述技术方案中,优选地,还包括:根据接收到的设置命令,设置与每个页表对应的终端内存中的存储区域。
[0047]在该技术方案中,用户或厂商可以根据需要设置不同操作系统对应的页表所对应的存储区域,从而满足不同用户的不同存储需求。
[0048]图3示出了根据本发明的实施例的内存管理装置的框图。
[0049]如图3所示,根据本发明的实施例的内存管理装置300,包括:管理单元302,分别创建任一进程在每个操作系统中对应的页表,其中,操作系统和页表一一对应,且不同的页表对应所述终端内存中不同的存储区域。
[0050]在该技术方案中,为各个进程创建不同的页表,优选的,可以在当各进程在不同的操作系统中首次运行时,为其创建不同的页表,即每个系统对应一个页表,由于不同的页表对应终端内存中不同的存储区域,这样,当进程在不同的操作系统中运行时,可访问的存储区域就不同,从而,避免在不同的操作系统间切换时带来安全隐患,增加操作系统的安全性,提升用户的使用体验。
[0051]其中,终端是通过页表来实现对虚拟地址和物理存储间的映射,从而实现对内存的访问。
[0052]在上述技术方案中,还包括:第一确定单元304,当所述任一进程运行时,确定所述终端当前所处的目标操作系统;第二确定单元306,根据所述目标操作系统确定对应的目标页表,以根据所述目标页表确定所述任一进程可访问的目标存储区域。
[0053]在该技术方案中,根据进程当前所处的运行环境,即当前运行的目标操作系统来确定相应的目标页表,从而根据目标页表确定进程可访问的物理地址空间,即目标存储区域,从而保证只有进程运行在该操作系统时,才能访问该操作系统的存储空间,否则不能对该操作系统的存储空间进行访问,从而全面的保证操作系统中数据的安全性。
[0054]在上述技术方案中,还包括:状态设置单元308,将所目标页表的状态设置为唤醒状态,并将其他操作系统对应的页表的状态设置为休眠状态。
[0055]在该技术方案中,页表的状态为唤醒,则表示其当前可使用,根据唤醒状态的页表可确定对应的可访问的存储空间,反之,页表状态为休眠,则表示其当前不可用,任何进程都不可通过其访问其对应的存储空间。
[0056]在上述技术方案中,还包括:控制单元310,允许所述任一进程访问所述终端内存中的所述目标存储区域,并禁止所述任一进程访问所述终端内存中的其他存储区域。
[0057]在该技术方案中,只允许进程访问目标存储区域,而禁止其访问其他存储区域,这样,保证了其他存储区域中数据的安全性,从而,避免在不同的操作系统间切换时带来安全隐患,增加操作系统的安全性,提升用户的使用体验。
[0058]在上述技术方案中,还包括:区域设置单元312,根据接收到的设置命令,设置与每个页表对应的终端内存中的存储区域。
[0059]在该技术方案中,用户或厂商可以根据需要设置不同操作系统对应的页表所对应的存储区域,从而满足不同用户的不同存储需求。
[0060]图4示出了根据本发明的实施例的终端的框图。
[0061]如图4所示,根据本发明的实施例的终端400,包括:多个操作系统;以及如上述技术方案中任一项所述的内存管理装置300。
[0062]下面以双系统终端为例,详细说明本发明的技术方案。
[0063]在终端为双操作系统的情况下,比如,一个为普通操作系统NOS,一个为安全操作系统SOS。普通操作系统NOS运行的时候,操作系统为每个进程创建的是普通页表,如图5A所示,若此时NOS创建一个进程A,NOS中的进程A能访问安全区域外的所有物理地址。安全操作系统SOS运行的时候,操作系统为每个进程创建的是安全页表,如图5B所示,若此时SOS创建一个进程B,SOS中的进程B只能访问安全区域的物理地址。具体地,当进程访问内存时,MMU (Memory Management Unit,存储器管理单元)502首先通知页表控制单元504,页表控制单元504根据当前的运行环境,调取相应的页表。MMU502解析后映射到内存物理地址空间。换言之,在内存中同时驻留两块页表,一块普通页表,一块安全页表。当运行普通操作系统时,普通页表被唤醒,安全页表睡眠,此时进程无法访问安全区域。当运行安全操作系统时,普通页表被睡眠,安全页表被唤醒,此时进程只能访问安全区域,不能访问非安全区。这样,通过对页表访问的分离,设置安全内存对总内存的分隔,从而避免在不同的操作系统间切换时带来安全隐患,增加操作系统的安全性,提升用户的使用体验。(其中,VP表示虚拟页)。
[0064]具体地,本发明可采用单独设置安全内存条的方式隔离物理内存,也可以采用在同一块内存中单独开辟安全区域的方式隔离物理内存,安全内存只作为安全系统的访问地址。
[0065]以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,为不同的操作系统创建不同的页表,从而在进程处于不同的操作系统时根据不同的页表进行访问,避免了在不同的操作系统间切换时带来安全隐患,增加了操作系统的安全性,提升了用户的使用体验。
[0066]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种内存管理方法,用于终端,其特征在于,所述终端设置有多个操作系统,所述内存管理方法包括: 分别创建任一进程在每个操作系统中对应的页表,其中,操作系统和页表一一对应,且不同的页表对应所述终端内存中不同的存储区域。
2.根据权利要求1所述的内存管理方法,其特征在于,还包括: 当所述任一进程运行时,确定所述终端当前所处的目标操作系统; 根据所述目标操作系统确定对应的目标页表,以根据所述目标页表确定所述任一进程可访问的目标存储区域。
3.根据权利要求2所述的内存管理方法,其特征在于,还包括: 在确定所述目标页表后,将所目标页表的状态设置为唤醒状态,并将其他操作系统对应的页表的状态设置为休眠状态。
4.根据权利要求2所述的内存管理方法,其特征在于,还包括: 在确定所述目标存储区域后,允许所述任一进程访问所述目标存储区域,并禁止所述任一进程访问所述终端内存中的其他存储区域。
5.根据权利要求1至4中任一项所述的内存管理方法,其特征在于,还包括: 根据接收到的设置命令,设置与每个页表对应的终端内存中的存储区域。
6.一种内存管理装置,用于终端,其特征在于,所述终端设置有多个操作系统,所述内存管理装置包括: 管理单元,分别创建任一进程在每个操作系统中对应的页表,其中,操作系统和页表一一对应,且不同的页表对应所述终端内存中不同的存储区域。
7.根据权利要求6所述的内存管理装置,其特征在于,还包括: 第一确定单元,当所述任一进程运行时,确定所述终端当前所处的目标操作系统;第二确定单元,根据所述目标操作系统确定对应的目标页表,以根据所述目标页表确定所述任一进程可访问的目标存储区域。
8.根据权利要求7所述的内存管理装置,其特征在于,还包括: 状态设置单元,在确定所述目标页表后,将所目标页表的状态设置为唤醒状态,并将其他操作系统对应的页表的状态设置为休眠状态。
9.根据权利要求7所述的内存管理装置,其特征在于,还包括: 控制单元,在确定所述目标存储区域后,允许所述任一进程访问所述目标存储区域,并禁止所述任一进程访问所述终端内存中的其他存储区域。
10.根据权利要求6至9中任一项所述的内存管理装置,其特征在于,还包括: 区域设置单元,根据接收到的设置命令,设置与每个页表对应的终端内存中的存储区域。
11.一种终端,其特征在于,包括: 多个操作系统;以及 如权利要求6至10中任一项所述的内存管理装置。
【专利摘要】本发明提供了一种内存管理方法、内存管理装置和终端,所述终端设置有多个操作系统,所述方法包括:分别创建任一进程在每个操作系统中对应的页表,其中,操作系统和页表一一对应,且不同的页表对应所述终端内存中不同的存储区域。通过发明的技术方案,为不同的操作系统创建不同的页表,从而在进程处于不同的操作系统时根据不同的页表进行访问,避免了在不同的操作系统间切换时带来安全隐患,增加了操作系统的安全性,提升了用户的使用体验。
【IPC分类】G06F12-14, G06F12-02
【公开号】CN104572488
【申请号】CN201510080084
【发明人】贺晨辉
【申请人】西安酷派软件科技有限公司
【公开日】2015年4月29日
【申请日】2015年2月13日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1