[发明专利]硬件资源访问方法及装置在审
申请号: | 201310399716.9 | 申请日: | 2013-09-04 |
公开(公告)号: | CN104424034A | 公开(公告)日: | 2015-03-18 |
发明(设计)人: | 郑晨;侯瑞华;詹剑锋;张立新 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 张娜 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 资源 访问 方法 装置 | ||
1.一种硬件资源访问方法,其特征在于,包括:
配置一条或多条用于访问硬件资源的特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问,其中,所述应用程序在代码层面调用了位于用户态且封装有所述特权指令的特权应用程序编程接口API;
执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令,从而使得所述应用程序不需要陷入内核即可对硬件资源进行访问。
2.根据权利要求1所述的方法,其特征在于,所述配置一条或多条用于访问硬件资源的特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问,包括:
调用支持硬件虚拟化的处理器对应的与指令权限配置相关的接口来配置所述特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问。
3.根据权利要求1~2中任一项所述的方法,其特征在于,在配置一条或多条硬件访问特权指令的权限之后,在执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令之前,所述方法还包括:
通过内核判断所述应用程序是否具有调用所述特权API访问硬件资源的权限,如果有,则执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令。
4.根据权利要求3所述的方法,其特征在于,所述通过内核判断应用程序是否具有调用所述特权API访问硬件资源的权限包括:
若应用程序向内核申请调用所述特权API直接访问硬件资源,则根据当前硬件资源分配情况,通过内核判断是否通过或部分通过所述应用程序对所述特权API访问的请求和指令操作对象的范围,若是,则表示所述应用程序是具有调用所述特权API访问硬件资源的权限。
5.根据权利要求1~4中任一项所述的方法,其特征在于,所述特权指令为:
处理器访问指令,或者内存资源访问指令,或者转址旁路缓存TLB访问指令,或者中断访问指令,或者网络访问指令,或者I/O硬件设备访问指令,或者磁盘访问指令,或者寄存器读写指令中的一个或多个。
6.根据权利要求1~4中任一项所述的方法,其特征在于,所述执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令,包括:
在收到所述应用程序的访问硬件资源的请求后,根据内核策略确定所述应用程序的访问硬件资源请求是否需要陷入内核,若否,则直接执行所述特权指令。
7.一种硬件资源访问装置,其特征在于,包括:
配置模块,用于配置一条或多条用于访问硬件的特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问,其中,所述应用程序在代码层面调用了位于用户态且封装有所述特权指令的特权应用程序编程接口API;
执行模块,用于执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令,从而使得所述应用程序不需要陷入内核即可对硬件资源进行访问。
8.根据权利要求7所述的装置,其特征在于,所述配置模块具体用于:
调用支持硬件虚拟化的处理器对应的与指令权限配置相关的接口来配置所述特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问。
9.根据权利要求7~8中任一项所述的装置,其特征在于,还包括:
判断模块,用于在所述配置模块配置一条或多条硬件访问特权指令的权限之后,通过内核判断所述应用程序是否具有调用所述特权API访问硬件资源的权限,如果有,则触发所述执行模块执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令。
10.根据权利要求9所述的装置,其特征在于,所述判断模块,具体用于:
若所述应用程序向所述内核申请调用所述特权API直接访问硬件资源,则根据当前硬件资源分配情况,通过内核判断是否通过或部分通过所述应用程序对所述特权API访问的请求和指令操作对象的范围,若是,则表示所述应用程序是具有调用所述特权API访问硬件资源的权限。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310399716.9/1.html,转载请声明来源钻瓜专利网。