[发明专利]一种管态维护且目态共享的数据访问装置及方法有效
申请号: | 201010226048.6 | 申请日: | 2010-07-14 |
公开(公告)号: | CN101950274A | 公开(公告)日: | 2011-01-19 |
发明(设计)人: | 程旭;管雪涛;吴栋霞;徐安华;何俊 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F12/14 | 分类号: | G06F12/14;G06F12/02 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 维护 共享 数据 访问 装置 方法 | ||
技术领域
本发明涉及计算机系统中的管态和目态共享数据技术领域,特别是涉及到一种管态维护且目态共享的数据访问装置及方法。
背景技术
在计算机系统中运行着两类程序:管理程序和用户程序。管理程序主要是管理、分配系统中的各种资源,为用户程序提供各种服务;用户程序在管理程序管理下运行,向管理程序提出各种资源和服务的请求。由于管理程序和用户程序在整个计算机系统中的角色、作用不同,因此对其代码的可信度要求也随之不同。如果不对管理程序和用户程序的行为、权限进行区分,那么用户程序和管理程序将具有相同的权限,此时用户程序的任意纰漏将对整个系统造成灾难性的影响。
为了避免用户程序的错误行为对整个计算机系统造成灾难性影响,在支持虚存的真实计算机装置中,对管理程序和用户程序的行为、权限进行了区分:管理程序运行在管态,用户程序运行在目态。在管态下,程序运行在管态地址空间(如虚拟地址空间的高端部分),并在程序执行的过程中可执行特权指令,进而可以访问和控制系统中的任意资源;而在目态下,程序运行在目态地址空间(如虚拟地址空间的低端部分),仅能执行普通权限的指令,当程序需要执行特权指令或需要申请系统资源时,用户程序必须通过特定的接口(比如系统调用的方式)来请求管理程序提供的相应服务。
然而,用户程序和管理程序在协同工作的过程中,需要共享大量的数据。此时,为了实现用户程序和管理程序之间的数据共享,一种简单易行的方法是:通过内存拷贝的方式,将共享数据从管理程序地址空间拷贝到用户程序地址空间(反之亦可)。尽管这种方式简单易行,但是由于其将导致大量的不必要数据拷贝,将极大地降低用户程序和管理程序之间数据共享的有效性,进而降低系统的性能。为了加速应用程序和管理程序之间数据共享的有效性,当前各种处理器(CPU)提供了专门的支持。比如:在arm处理器中,目态和管态可以相互访问对方的地址空间,但是MMU(Memory ManagementUnit,内存管理单元)会区分目态和管态的访问权限,以进行相应的存储保护;而在Unicore32处理器中,处理器将虚拟地址空间划分为3部分:0x00000000~0x7fffffff的地址空间为目态地址空间,管态下程序必须通过特权指令才能访问目态地址空间;0xc0000000~0xffffffff的地址空间为管态地址空间,仅管态下运行的程序可以访问;而剩下的0x80000000~0xbfffffff的地址空间为管态和目态共享地址空间,管态和目态程序均可随意访问这段地址空间中的任意位置。但是在Unicore32处理器中,MMU并不对存储区域的访问权限按管态和目态进行区分,因此对于位于0x80000000~0xbfffffff区间内的地址,管态和目态将按相同的访问权限进行访问。
但是,在实际应用中,对于目态和管态共享的数据,目态和管态程序对其访问的权限通常是不一致的,比如:“管态下的管理程序负责产生数据(生产者),而目态下的用户程序负责读取管理程序产生的数据(消费者)”的情况。在这种应用需求下,如果处理器的MMU不区分管态和目态的存储访问权限,那么实际的处理方式不外乎如下两种:第一种,将共享数据的访问权限设置为管态和目态下各自所需权限的超集,这样管态和目态程序对共享数据的访问权限均将得到满足;第二种,在管态和目态每次访问共享数据前后设置和恢复对共享数据的访问权限。
但是,上述两种方式均具有各自的局限性。以上面提到的“生产者、消费者”问题为例,第一种处理方式将可能导致目态程序具有写权限,从而能够随意修改与管态共享的数据,进而为系统的安全埋下隐患;而第二种方式,则会导致在访问共享数据前后对共享数据的权限进行频繁的修改,而对数据访问权限的修改(即对应页或段表项的修改)将导致对cache和TLB(Translation lookaside buffer,旁路转换缓冲,也称为页表缓冲)的flush和invalidate操作,从而极大的影响系统的性能。
发明内容
本发明所要解决的技术问题是,提供一种管态维护且目态共享的数据访问装置及方法,以提高装置性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010226048.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:卫生间用门锁
- 下一篇:电子式密码柜门锁的连接控制机构
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置