System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 根据应用使用状态对系统资源进行调度的方法技术方案_技高网

根据应用使用状态对系统资源进行调度的方法技术方案

技术编号:40453785 阅读:6 留言:0更新日期:2024-02-22 23:11
根据应用使用状态对系统资源进行调度的方法,将系统中的进程分为不同的进程组,再基于不同的进程组将各个用户的进程进行分组,再基于各个用户的进程分组情况根据应用使用状态将不同的应用进行分组,基于最后得到的分组结果进行资源调度;其中,将系统中的进程分为:init.scope进程组,该分组中仅存放操作系统创建的第一个进程;普通用户的进程组‑user进程组;系统及服务进程组‑system进程组。本发明专利技术对系统所有进程进行分层分组,将应用根据不同的使用状态进行分类,对系统资源进行调度,确保系统稳定性、保证当前使用应用与重要应用流畅度,避免了系统资源相互竞争造成系统组件卡顿。

【技术实现步骤摘要】

本专利技术涉及资源调度,具体涉及根据应用使用状态对系统资源进行调度的方法


技术介绍

1、在操作系统中系统资源如cpu、内存和磁盘i/o都是有限的,当运行i/o密集型应用、cpu密集型应用和使用大量应用时经常会出现系统卡顿,应用运行缓慢甚至被“杀死”的现象,这大大影响了用户的体验性。

2、现有的操作系统中,可手动通过设置进程优先级确保该应用能够获取更多的资源,但是,并不能自动的对应用进行资源限制,无法保证系统稳定性和流畅性。同时,系统组件和普通应用进程默认放在一个进程分组中,当相互竞争资源时会导致系统组件卡顿的现象发生。所有系统应用都处于同样的系统资源调度优先级,没有根据应用状态合理细化调度优先级。

3、公开号为cn108121601a的专利技术专利申请《资源调度配置及方法》公开了一种基于权重的应用资源调度装置及方法,此专利技术调度装置和方法通过比较不同i/o应用负载的读写操作阈值和获取进程已经处理的读写操作值确定需要分配给每个进程的权重和资源,使应用负载请求高效合理的处理,提高磁盘资源利用率。然而,本申请只对应用的i/o操作进行了资源配置,对应用的cpu资源没有进行限制。

4、公开号为us20150119110a1的专利技术专利申请《terminal communications displaymethod and terminal》公开了一种通信显示方法及终端,其主要方法包括:中央处理器模块在检测到终端用户正在与联系人通信时,在程序存储模块中检索所述终端用户与所述联系人的通信统计信息,并将其发送给用户界面管理模块; 所述用户界面管理模块在接收到所述通信统计信息后显示所述通信统计信息; 在终端用户与联系人之间的通信结束后,中央处理器模块更新通信统计信息并将其存储在程序存储模块中。 通过上述技术方案,方便用户准确地获知与联系人的通信统计信息,有利于用户对当前通信做出判断和动作。然而,该本申请需要对历史数据进行统计并存储,但历史数据是用户已经处理过的信息,对于用户来讲他们可能更加关注还没有处理的新数据,这些数据对用户更加有意义,可以提示用户当前的待办事项,并且能够帮助用户进行决策。


技术实现思路

1、为解决已有技术存在的不足,本专利技术提供了一种根据应用使用状态对系统资源进行调度的方法,将系统中的进程分为不同的进程组,再基于不同的进程组将各个用户的进程进行分组,再基于各个用户的进程分组情况根据应用使用状态将不同的应用进行分组,基于最后得到的分组结果进行资源调度;

2、其中,将系统中的进程分为:

3、init.scope进程组,该分组中仅存放操作系统创建的第一个进程;

4、普通用户的进程组-user进程组;

5、系统及服务进程组-system进程组。

6、其中,基于不同的进程组将各个用户的进程进行分组包括:针对普通用户的进程组-user进程组中的每一个用户xxxid,将其名下的进程分为:session-xxxid.scope -session相关进程分组,以及user@xxxid.service - 用户相关的服务和进程组;其中,xxxid为用户的id。

7、其中,基于各个用户的进程分组情况根据应用使用状态将不同的应用进行分组包括:

8、将user@xxxid.service - 用户相关的服务和进程组分为:session.slice - 桌面环境相关的组件的进程组、init.scope进程组以及app.slice - 应用进程组;其中,init.scope进程组中仅存放用户创建的第一个进程;

9、将app.slice - 应用进程组中的存放的进程根据其使用状态分为:

10、top.slice - 重要的第三方应用进程组;

11、focus.slice - 处于焦点状态应用进程组;

12、foreground.slice - 处于前台状态的应用进程组;

13、background.slice - 处于后台状态的应用进程组;

14、cached.slice - 处于缓存状态的应用进程组。

15、其中,基于最终的分组结果,对app.slice - 应用进程组进行资源调度策略设置,其它分组遵循内核默认的调度策略。

16、其中,基于最终的分组结果,对app.slice - 应用进程组的每个应用进程组分别给予如下cpu使用权重:

17、top.slice - 重要的第三方应用进程组:100%;

18、focus.slice - 处于焦点状态应用进程组:100%;

19、foreground.slice - 处于前台状态的应用进程组:80%;

20、background.slice - 处于后台状态的应用进程组:60%;

21、cached.slice - 处于缓存状态的应用进程组:40%;

22、其中,cpu使用权重表示应用在使用同一个资源时相对占用的比例。

23、本专利技术提供的根据应用使用状态对系统资源进行调度的方法,对系统所有进程进行分层分组,将应用根据不同的使用状态进行分类,对系统资源进行调度,确保系统稳定性、保证当前使用应用与重要应用流畅度,避免了系统资源相互竞争造成系统组件卡顿。

本文档来自技高网...

【技术保护点】

1.根据应用使用状态对系统资源进行调度的方法,其特征在于:将系统中的进程分为不同的进程组,再基于不同的进程组将各个用户的进程进行分组,再基于各个用户的进程分组情况根据应用使用状态将不同的应用进行分组,基于最后得到的分组结果进行资源调度;

2.如权利要求1所述的根据应用使用状态对系统资源进行调度的方法,其特征在于:基于不同的进程组将各个用户的进程进行分组包括:针对普通用户的进程组-user进程组中的每一个用户xxxid,将其名下的进程分为:session-xxxid.scope - session相关进程分组,以及user@xxxid.service - 用户相关的服务和进程组;其中,xxxid为用户的id。

3.如权利要求2所述的根据应用使用状态对系统资源进行调度的方法,其特征在于:基于各个用户的进程分组情况根据应用使用状态将不同的应用进行分组包括:

4.如权利要求3所述的根据应用使用状态对系统资源进行调度的方法,其特征在于:基于最终的分组结果,对app.slice - 应用进程组进行资源调度策略设置,其它分组遵循内核默认的调度策略。

<p>5.如权利要求3所述的根据应用使用状态对系统资源进行调度的方法,其特征在于:基于最终的分组结果,对app.slice - 应用进程组的每个应用进程组分别给予如下CPU使用权重:

...

【技术特征摘要】

1.根据应用使用状态对系统资源进行调度的方法,其特征在于:将系统中的进程分为不同的进程组,再基于不同的进程组将各个用户的进程进行分组,再基于各个用户的进程分组情况根据应用使用状态将不同的应用进行分组,基于最后得到的分组结果进行资源调度;

2.如权利要求1所述的根据应用使用状态对系统资源进行调度的方法,其特征在于:基于不同的进程组将各个用户的进程进行分组包括:针对普通用户的进程组-user进程组中的每一个用户xxxid,将其名下的进程分为:session-xxxid.scope - session相关进程分组,以及user@xxxid.service - 用户相关的服务和...

【专利技术属性】
技术研发人员:宁思光郭鹏飞张超郭俊余史晶程启
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:

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

1