【技术实现步骤摘要】
在进程中运行应用的方法和装置
[0001]本说明书实施例涉及计算机
,更具体地,涉及一种在进程中运行应用的方法和装置。
技术介绍
[0002]在当前的计算机系统中,通常通过一个进程运行一个应用,进程间的内存完全隔离,以此实现应用之间的内存隔离。所述进程例如可具体实现为容器。其中,容器是一种操作系统虚拟化技术,用于打包应用程序及其依赖项,并在隔离环境中运行它们。上述方式的缺点是:以容器为例,如果应用运行过程中因进行读写出现了阻塞,操作系统需要进行任务调度,切换运行另外的容器,而切换容器的开销较大。
技术实现思路
[0003]本说明书实施例旨在提供一种更有效的在进程中运行应用的方案,基于分段机制和内存保护键(Memory Protection Key,MPK)机制在一个进程中运行多个应用,从而在保证应用间内存隔离的同时提高操作系统运行多个应用的效率。
[0004]为实现上述目的,本说明书一个方面提供一种在进程中运行应用的方法,包括:基于描述符表中的第一段描述符获取第一地址空间,所述第一地址空间为所述 ...
【技术保护点】
【技术特征摘要】
1.一种在进程中运行应用的方法,包括:基于描述符表中的第一段描述符获取第一地址空间,所述第一地址空间为所述进程的地址空间中与所述应用对应的子空间,其中所述描述符表中的其他描述符对应于禁止所述应用访问的内容;将所述描述符表设置为不可访问;运行所述第一地址空间中存储的所述应用的应用代码。2.根据权利要求1所述的方法,还包括:在将所述描述符表设置为不可访问之后,恢复所述第一地址空间中存储的所述应用的运行现场。3.根据权利要求2所述的方法,所述在将所述描述符表设置为不可访问之后,恢复所述第一地址空间中存储的所述应用的运行现场包括:通过运行所述第一地址空间中存储的应用的管理代码,在将所述描述符表设置为不可访问之后,恢复所述第一地址空间中存储的所述应用的运行现场。4.根据权利要求2所述的方法,其中,所述第一地址空间还用于存储所述应用的数据和栈,所述第一段描述符至少包括第一数据段描述符和第一栈段描述符,所述栈用于存储所述应用的运行现场。5.根据权利要求3所述的方法,还包括,禁用处理器的SMAP功能,将所述描述符表设置为由第一保护键的保护,所述将所述描述符表设置为不可访问包括:设置所述第一保护键对应的权限,使得所述描述符表不可访...
【专利技术属性】
技术研发人员:冯华,
申请(专利权)人:湖南国科银河信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。