openKylin“分级冻结”机制,让系统体验更顺滑!

在传统Linux操作系统中,应用进程的生命周期主要由应用本身直接控制。然而,系统资源(包括CPU、I/O、存储等)是有限的,当我们运行大量的I/O密集型或CPU密集型应用时,经常会出现系统卡顿甚至“假死机”的现象,这大大影响了用户的操作体验。为此,我们在openKylin操作系统中设计了“分级冻结”机制,管控应用生命周期。

什么是“分级冻结”机制?

“分级冻结”机制是指,在操作系统中,针对处于不同状态的应用进行“分级”处理,以某种特殊方式“冻结”用户未操作应用,从而释放系统资源(如CPU、磁盘I/O、内存等),优先保障用户当前操作应用的资源分配,提升用户体验。

“分级冻结”机制等级划分

在openKylin操作系统中,我们将应用分为以下级别:

1.焦点应用

表示当前正在操作的应用,一般情况下,不对其做资源限制,充分保证其流畅度。

2.前台应用

只存在PC模式下的状态,表示当前运行的未最小化但没有获得焦点的应用。

3.后台应用

PC模式下指窗口最小化状态且持续时间≤30min或者前台应用持续时间≥30min的应用;

平板模式下指非当前打开且持续时间≤30min的应用进程。

4.缓存应用

指处于不可见状态且持续时间>30min的应用。

5.休眠应用

被冻结并且放入swap分区的应用。

其中,各级应用的状态时序转换如下图所示

基于上述应用分类,openKylin实现了以下特性:

1.单实例启动

平板模式下应用以单实例的方式启动,并会记录每个应用的启动状态,由系统接口统一实现,而不需要应用单独适配。

2.后台资源实时调控

针对后台应用,当系统剩余资源达到我们预定的阈值时,根据系统策略和用户设置进行相应的资源调控,从而降低系统的功耗,提升前台应用的流畅性。

3.应用级休眠

特定条件下将应用完全冻结,节省CPU和内存资源。

4.多媒体协议扩展支持

针对影音等多媒体应用,实现后台暂停/播放功能,让用户更灵活地掌控娱乐。

openKylin“分级冻结”机制,不仅能进一步提升系统性能,给用户提供一个更流畅的使用环境,也为国产操作系统带来一个新的优化创新思路。而接下来,openKylin将持续的投入“分级冻结”机制的研发和优化,助力国产操作系统的快速发展。

openKylin(开放麒麟)社区旨在以“共创”为核心,在开源、自愿、平等、协作的基础上,通过开源、开放的方式与企业构建合作伙伴生态体系,共同打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态繁荣发展。

社区首批理事成员单位包括麒麟软件、普华基础软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德系统、北京麟卓、先进操作系统创新中心等13家产业同仁和行业机构。

审核:openKylin

投稿作者 作者网站

评论

 
 

为您推荐


请支持IMCN发展!

谁在捐赠

微信捐赠 支付宝捐赠
微信捐赠 支付宝捐赠

微信公众号二维码

归档