【技术实现步骤摘要】
进程运行方法、装置、设备及计算机可读存储介质
[0001]本申请实施例涉及计算机操作系统
,涉及但不限于一种进程运行方法、装置、设备及计算机可读存储介质。
技术介绍
[0002]在单个操作系统中,同一时刻只会有一个进程的窗口处于前台,对于处于前台的进程系统会给予其更多的中央处理器(CPU,Center Process Unit)时间片,并且用户输入会首先发送到前台进程里,并且对于某些应用程序(例如游戏应用程序)如果判断到自身处于前台进程,那么会加快图形渲染的速度,提高帧率。比如在后台会以30fps的帧率运行,在前台会以60fps以上的帧率运行。因此,对于很多应用程序来说,运行在前台才能有更好的体验。
[0003]在相关技术中,采用在操作系统中部署多个虚拟机系统,以实现多个进程同时运行在前台,但是该方案中间加入了虚拟机特权转化、调度导致部分性能的损失。
技术实现思路
[0004]本申请实施例提供一种进程运行方法、装置、设备及计算机可读存储介质,通过Hook机制,在单个操作系统中同时运行多个前台进程
【技术保护点】
【技术特征摘要】
1.一种进程运行方法,其特征在于,包括:在第一前台进程运行过程中,当监测到所述第一前台进程的第一调用对象调用进入内核态的对应预设函数时,跳转到所述预设函数对应的第一回调函数;当基于所述预设函数确定不需要进入内核态时,在用户态下执行所述第一回调函数;获取所述第一回调函数的第一执行结果;将所述第一执行结果返回给所述第一调用对象。2.根据权利要求1中所述的方法,其特征在于,所述方法还包括:在基于所述预设函数确定需要进入内核态时,通过系统调用将所述第一前台进程切换至内核态;在内核态下执行所述预设函数,得到所述预设函数的第二执行结果;通过系统返回函数将所述第一前台进程从内核态返回至用户态;将所述第二执行结果返回给所述第一调用对象。3.根据权利要求1中所述的方法,其特征在于,所述在基于所述预设函数确定不需要进入内核态时,在用户态执行所述第一回调函数,包括:在基于所述预设函数确定不需要进入内核态时,获取所述第一前台进程对应的沙盒子系统;在所述沙盒子系统中执行所述第一回调函数。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述预设函数为确定进程是否处于前台所调用的第一函数时,确定不需要进入内核态;或者,当所述预设函数是用于将进程的第一窗口设置为前台窗口所调用的第二函数时,确定不需要进入内核态;或者,当所述预设函数为基于目标点确定目标窗口所调用的第三函数时,确定不需要进入内核态;或者,当所述预设函数为分发切换窗口消息所调用的第四函数时,确定不需要进入内核态。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述预设函数为所述第四函数时,挂钩Hook所述第四函数,以屏蔽切换窗口消息;当确定沙盒子系统内的窗口需要所述切换窗口消息时,将所述切换窗口消息发送至所述沙盒子系统内的目标窗口。6.根据权利要求3中所述的方法,其特征在于,不同沙盒子系统至少维护不同进程的前台窗口、焦点窗口、激活窗口对应的资源。7....
【专利技术属性】
技术研发人员:王赐烺,杨卫,魏雪,黄耿星,杨广东,于博睿,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。