[发明专利]硬件资源访问方法及装置在审
申请号: | 201310399716.9 | 申请日: | 2013-09-04 |
公开(公告)号: | CN104424034A | 公开(公告)日: | 2015-03-18 |
发明(设计)人: | 郑晨;侯瑞华;詹剑锋;张立新 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 张娜 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 资源 访问 方法 装置 | ||
技术领域
本发明实施例涉及计算机技术,尤其涉及一种硬件资源访问方法及装置。
背景技术
操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。访问硬件的响应时间是判断操作系统性能的最重要的一个指标。
现有的操作系统中,操作系统在内核内提供对硬件物理资源提供接口,上层封装成应用程序编程接口(Application Programming Interface,简称API)供用户程序调用。
因此,在现有操作系统中,当用户程序访问硬件资源调用相关访问硬件的API时,系统需要陷入内核,系统将在在用户空间和内核态之间进行多次转换。这种频繁的切换会增加系统的开销,导致系统的处理效率降低。
发明内容
本发明实施例提供一种硬件资源访问方法及装置,以实现降低访问硬件资源的系统开销,提高处理效率。
第一方面,本发明实施例提供一种硬件资源的直接访问方法,包括:
配置一条或多条用于访问硬件资源的特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问,其中,所述应用程序在代码层面调用了位于用户态且封装有所述特权指令的特权应用程序编程接口API;
执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令,从而使得所述应用程序不需要陷入内核即可对硬件资源进行访问。
在第一方面第一种可能的实现方式中,所述配置一条或多条用于访问硬件资源的特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问,包括:
调用支持硬件虚拟化的处理器对应的与指令权限配置相关的接口来配置所述特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问。
结合第一方面或者第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,在执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令之前,所述方法还包括:
通过内核判断所述应用程序是否具有调用所述特权API访问硬件资源的权限,如果有,则执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令。
结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述通过内核判断应用程序是否具有调用所述特权API访问硬件资源的权限包括:
若应用程序向内核申请调用所述特权API直接访问硬件资源,则根据当前硬件资源分配情况,通过内核判断是否通过或部分通过所述应用程序对所述特权API访问的请求和指令操作对象的范围,若是,则表示所述应用程序是具有调用所述特权API访问硬件资源的权限。
结合第一方面、第一方面第一种至第三种可能的实现方式任意一种,在第一方面第四种可能的实现方式中,所述特权指令为:
处理器访问指令,或者内存资源访问指令,或者TLB访问指令,或者中断访问指令,或者网络访问指令,或者I/O硬件设备访问指令,或者磁盘访问指令,或者寄存器读写指令中的一个或多个。
根据第一方面、第一方面第一种至第三种可能的实现方式任意一种,在第一方面第五种可能的实现方式中,所述执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令,包括:
在收到所述应用程序的访问硬件资源的请求后,根据内核策略确定所述应用程序的访问硬件资源请求是否需要陷入内核,若否,则直接执行所述特权指令。
第二方面,本发明实施例提供一种硬件资源访问装置,包括:
配置模块,用于配置一条或多条用于访问硬件的特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问,其中,所述应用程序在代码层面调用了位于用户态且封装有所述特权指令的特权应用程序编程接口API;
执行模块,用于执行所述应用程序在代码层面调用的所述特权API中封装的所述特权指令,从而使得所述应用程序不需要陷入内核即可对硬件资源进行访问。
在第二方面第一种可能的实现方式中,所述配置模块具体用于:
调用支持硬件虚拟化的处理器对应的与指令权限配置相关的接口来配置所述特权指令的权限,使得所述特权指令供用户态应用程序使用时不需要陷入内核即可对硬件资源进行访问。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310399716.9/2.html,转载请声明来源钻瓜专利网。