程序处理方法、装置、设备及存储介质制造方法及图纸

技术编号:33287898 阅读:23 留言:0更新日期:2022-04-30 23:59
本公开提供了一种程序处理方法、装置、设备及存储介质,涉及计算机技术领域,尤其涉及运行环境模拟技术、云服务技术。具体实现方案为:两个从机组件程序分别获取应用程序的应用组件调用请求并进行处理,且产生从机组件调用请求;指令转换引擎的兼容层获取并识别出从机组件调用请求属于32位程序或64位程序,将从机组件调用请求转换为主机组件调用请求,并提供给对应的主机组件程序;主机组件程序获取主机组件调用请求并进行处理,且产生第一操作系统的第一指令执行请求;操作系统虚拟程序获取第一指令执行请求,转换为第二架构指令集支持的第二操作系统的第二指令执行请求并进行处理。本公开实现了对32位或64位应用程序同时支持。本公开实现了对32位或64位应用程序同时支持。本公开实现了对32位或64位应用程序同时支持。

【技术实现步骤摘要】
程序处理方法、装置、设备及存储介质


[0001]本公开涉及计算机
,尤其涉及运行环境模拟技术、云服务技术。

技术介绍

[0002]近年来,随着互联网技术的不断发展,越来越多的先进计算机技术随之涌现出来,例如,云桌面技术。云桌面就是利用虚拟技术,对各种物理设备进行虚拟化处理,从而使得资源的利用率得到有效提升,以此节约成本、提高应用质量。用户可以随时随地的通过移动或固定网络设备访问运行在后端服务器上的云桌面来实现交互式操作,达到与使用电脑一致的体验效果。
[0003]目前,用户最常使用的应用软件通常是能够运行在windows操作系统中的windows应用程序,而后端服务器的芯片架构可能无法支持windows应用程序,并且,后端服务器可能采用不同的芯片架构指令集。此外,不同配置的windows应用程序中,也可能存在得不到后端服务器支持的应用程序。
[0004]因此,需要提供一种解决方案,以优化云桌面系统的应用生态,能够支持更多类型和更多不同配置的应用程序。

技术实现思路

[0005]本公开提供了一种程序处理方法、本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种程序处理方法,应用于后端服务器,所述方法包括:两个从机组件程序分别获取应用程序的应用组件调用请求并进行处理,且产生从机组件调用请求;其中,所述应用程序和应用组件分别是基于第一架构指令集支持的第一操作系统而实现的32位程序和64位程序;指令转换引擎的兼容层获取并识别出所述从机组件调用请求属于32位程序或64位程序,将所述从机组件调用请求转换为主机组件调用请求,并提供给对应的主机组件程序;其中,主机组件是基于第二架构指令集支持的第一操作系统而实现的64位程序;第一64位主机组件程序获取对应于32位程序的主机组件调用请求并进行位数转换,且产生第一操作系统的第一指令执行请求;第二64位主机组件程序获取对应于64位程序的主机组件调用请求并进行处理,且产生第一操作系统的第一指令执行请求;操作系统虚拟程序获取所述第一指令执行请求,转换为第二架构指令集支持的第二操作系统的第二指令执行请求并进行处理。2.根据权利要求1所述的方法,其中,所述第一架构指令集为x86指令集,所述第二架构指令集为ARM64指令集;所述第一操作系统为windows系统,所述第二操作系统为linux系统。3.根据权利要求1或2所述的方法,其中,指令转换引擎基于qemu技术实现;两个所述从机组件程序包括32位qemu从机组件程序和64位qemu从机组件程序,两个64位主机组件程序包括对应于32位qemu从机组件程序的第一64位qemu主机组件程序,以及对应于64位qemu从机组件程序的第二64位qemu主机组件程序。4.根据权利要求3所述的方法,其中,操作系统虚拟程序基于wine技术实现;所述从机组件程序还包括32位wine从机组件程序和64位wine从机组件程序,所述主机组件程序还包括64位wine主机组件程序;32位和64位qemu从机组件程序包括第一操作系统核心组件库;32位和64位wine从机组件程序包括第一操作系统非核心组件库。5.根据权利要求1或2所述的方法,还包括指令转换引擎的进程初始化过程,所述进程初始化过程包括:屏蔽4G以下的地址空间;初始化第一架构指令集支持的虚拟CPU参数;初始化第一架构指令集和第二架构指令集转换关系;读取应用程序的文件头,并根据文件头中的标识确定应用程序为32位程序或64位程序;根据所述应用程序为32位程序或64位程序,采用对应的组件加载策略并分配地址空间;为从机组件程序分配进程环境块和运行参数;为所述指令转换引擎的虚拟CPU分配数据结构及寄存器结构;为从机组件程序分配线程环境块、线程堆栈及运行参数,并将所述从机组件程序与虚拟CPU的寄存器进行绑定;设置进程未处理异常总过滤器;读取应用程序的文件头,并根据文件头中的依赖组件列表,在从机组件程序和主机组
件程序中注册加载依赖组件列表;读取所述文件头中的应用程序执行入口地址。6.根据权利要求5所述的方法,其中,根据所述应用程序为32位程序或64位程序,采用对应的组件加载策略并分配地址空间包括:如果所述应用程序为32位程序,则根据文件头中的依赖组件列表,在从机组件程序和主机组件程序中注册加载32位的依赖组件列表;放开屏蔽的4G以下地址空间。7.根据权利要求5所述的方法,其中,根据所述应用程序为32位程序或64位程序,采用对应的组件加载策略包括:如果所述应用程序为64位程序,则根据文件头中的依赖组件列表,在从机组件程序和主机组件程序中注册加载64位的依赖组件列表。8.根据权利要求3所述的方法,其中,每个从机组件程序获取应用程序的应用组件调用请求并进行处理,且产生从机组件调用请求包括:...

【专利技术属性】
技术研发人员:刘俊云黄勇张纪金
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1