一种内核锁的管理方法及终端设备技术

技术编号:23431508 阅读:29 留言:0更新日期:2020-02-25 13:01
本申请涉及功耗领域,公开了一种内核锁的管理方法及终端设备。其中方法包括:终端设备中的业务对内核加内核锁后,更新所述内核中锁资源管理列表中所述业务对所述内核的加解锁状态;其中,所述内核锁用于保障CPU持续运转;所述终端设备监控所述锁资源列表中加解锁状态为加锁的业务的运行状态;确定所述业务的运行状态为非正常运行后,释放所述业务对所述内核加的内核锁,并更新所述锁资源管理列表中所述业务的加解锁状态为解锁。通过该方法,所述终端设备可以通过所述内核中的锁管理机制确定当前对所述内核加内核锁的业务,从而对所述业务进行监控,在确定所述业务非正常运行时,释放所述业务对所述内核添加的内核锁,节省所述终端的功耗。

A management method and terminal device of kernel lock

【技术实现步骤摘要】
一种内核锁的管理方法及终端设备
本申请涉及终端设备
,尤其涉及一种内核锁的管理方法及终端设备。
技术介绍
终端设备在运行过程中经常需要保证所述终端设备中的CPU在执行相关业务时能持续工作,因此,所述终端设备操作系统的内核(kernel)会阻止所述CPU休眠。内核一般采用锁机制来阻止所述CPU休眠,例如唤醒锁(Wakelock)机制。所述Wakelock机制是linuxkernel的原生机制,所有的wakelock最终都会体现在linuxkernel中。下面以安卓(Android)操作系统为例,对Wakelock机制进行说明。在Android系统中,所述终端设备的wakelock锁细分为:kernel驱动锁、native进程锁和Android上层的锁。其中,kernel驱动锁和native进程锁,可以以单独的名称在内核的wakelock管理节点处添加锁标记,称为持锁,因为这个锁是在内核wakelock节点处直接添加的,所以这样的锁称为内核锁。其中,目前现有技术中,所述终端设备中没有执行相关业务或者相关业务异常的时候,例如kernel驱动锁和native进程锁相关的业务发生异常时,依旧存在所述内核处于被所述业务加内核锁的情况,并且目前所述终端设备由于逻辑缺陷等问题无法确定哪些非正常运行的应用业务依旧对所述内核加内核锁,从而无法确定需要释放的内核锁,导致所述终端设备中的内核一直处于被多种应用业务加内核锁的状态,整个系统不能休眠,产生巨大的功耗。
技术实现思路
有鉴于此,本申请提供了一种内核锁的管理方法及装置,用以减少终端设备系统功耗开销,从而节省终端设备功耗。第一方面,本申请实施例提供一种内核锁的管理方法,该方法可以应用于诸如手机、平板电脑等电子设备。该方法包括:终端设备中的业务对内核加内核锁后,更新所述内核中锁资源管理列表中所述业务对所述内核的加解锁状态;其中,所述内核锁用于保障CPU持续运转;所述终端设备监控所述锁资源列表中加解锁状态为加锁的业务的运行状态;所述终端设备确定所述业务的运行状态为非正常运行后,释放所述业务对所述内核加的内核锁,并更新所述锁资源管理列表中所述业务的加解锁状态为解锁。本申请实施例中,所述终端设备可以通过所述内核中的锁管理机制确定当前对所述内核加内核锁的业务,从而对所述业务进行监控,在确定所述业务非正常运行时,释放所述业务对所述内核添加的内核锁,节省所述终端的功耗。在一种可能的设计中,所述终端设备确定所述业务的运行状态为非正常运行,包括:所述终端设备确定所述业务对所述内核加内核锁的时长达到阈值时长;或所述终端设备确定所述业务处于空闲状态;或所述业务处于执行故障状态。在一种可能的设计中,所述终端设备确定所述业务的运行状态为非正常运行后,释放所述业务对所述内核加的内核锁,包括:所述终端设备根据所述锁资源列表中的业务标识与内核锁标识的对应关系,确定所述业务对所述内核加的内核锁的内核锁标识;所述终端设备释放所述内核锁标识对应的内核锁。第二方面,本申请实施例还提供一种电子设备。该电子设备包括至少一个处理器和存储器;所述存储器用于存储一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述电子设备能够实现上述第一方面及其第一方面任一可能设计的技术方案。第三方面,本申请实施例还提供了一种电子设备,所述电子设备包括执行上述第一方面或者第一方面的任意一种可能的设计的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。第四方面,本申请实施例还提供一种芯片,所述芯片与电子设备中的存储器耦合,用于调用存储器中存储的计算机程序并执行本申请实施例第一方面及其第一方面任一可能设计的技术方案;本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。第五方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行本申请实施例第一方面及其第一方面任一可能设计的技术方案。第六方面,本申请实施例的中一种程序产品,包括指令,当所述程序产品在电子设备上运行时,使得所述电子设备执行本申请实施例第一方面及其第一方面任一可能设计的技术方案。附图说明图1为本申请实施例提供的一种终端设备的结构示意图;图2为本申请实施例提供的终端设备的软件结构框图;图3为本申请实施例业务监控模块、持锁决策模块、持锁监控模块以及内核间实现时序图示意图;图4为本申请实施例提供的一种内核锁的管理方法示意图;图5为本申请实施例提供的一种内核锁的管理的装置结构示意图;图6为本申请实施例提供的另一种内核锁的管理的装置结构示意图。具体实施方式下面将结合附图对申请实施例的具体实施过程进行详尽的描述。目前终端设备在运行过程中经常需要保证所述终端设备中的CPU在执行相关业务时能持续工作,因此,所述终端设备操作系统的内核会阻止所述CPU休眠。内核一般采用锁机制来阻止所述CPU休眠,例如Wakelock机制。所述Wakelock机制是linuxkernel的原生机制,所有的wakelock最终都会体现在linuxkernel中。下面以安卓(Android)操作系统为例,对Wakelock机制进行说明。在Android系统中,所述终端设备的wakelock锁细分为:kernel驱动锁、native进程锁和Android上层的锁。其中,kernel驱动锁和native进程锁,可以以单独的名称在内核的wakelock管理节点处添加锁标记,称为持锁,因为这个锁是在内核wakelock节点处直接添加的,所以这样的锁称为内核锁。其中,目前现有技术中,所述终端设备中没有执行相关业务或者相关业务异常的时候,例如kernel驱动锁和native进程锁相关的业务发生异常时,依旧存在所述内核处于被所述上层的应用业务加内核锁的情况,并且目前所述终端设备由于逻辑缺陷等问题无法确定哪些非正常运行的应用业务依旧对所述内核加内核锁,从而无法确定需要释放的内核锁,导致所述终端设备中的内核一直处于被多种应用业务加内核锁的状态,整个系统不能休眠,产生巨大的功耗。为解决该问题,本申请实施例提供一种内核锁的管理方法,该方法主要通过在所述内核的锁管理机制中设置业务标识与内核锁标识的一一对应关系。通过该方法,所述终端设备可以通过所述内核中的锁管理机制确定当前对所述内核加内核锁的业务,从而对所述业务进行监控,在确定所述业务非正常运行时,可确定需要释放的内核锁,节省所述终端的功耗。其中,对本申请实施例涉及的部分用语进行解释说明。(1)终端设备:可以为安装各类应用程序,并且能够将已安装的应用程序中提供的对象进行显示的设备。示例性地,该终端设备可以包含能够实现数据处理功能的器件(比如处理器或图像处理器或其他处理器),以及能够显示用户界面的器件(比如显示屏)。该终端设备可以是本文档来自技高网...

【技术保护点】
1.一种内核锁的管理方法,其特征在于,所述方法包括:/n终端设备中的业务对内核加内核锁后,更新所述内核中锁资源管理列表中所述业务对所述内核的加解锁状态;其中,所述内核锁用于保障CPU持续运转;/n所述终端设备监控所述锁资源列表中加解锁状态为加锁的业务的运行状态;/n所述终端设备确定所述业务的运行状态为非正常运行后,释放所述业务对所述内核加的内核锁,并更新所述锁资源管理列表中所述业务的加解锁状态为解锁。/n

【技术特征摘要】
1.一种内核锁的管理方法,其特征在于,所述方法包括:
终端设备中的业务对内核加内核锁后,更新所述内核中锁资源管理列表中所述业务对所述内核的加解锁状态;其中,所述内核锁用于保障CPU持续运转;
所述终端设备监控所述锁资源列表中加解锁状态为加锁的业务的运行状态;
所述终端设备确定所述业务的运行状态为非正常运行后,释放所述业务对所述内核加的内核锁,并更新所述锁资源管理列表中所述业务的加解锁状态为解锁。


2.根据权利要求1所述的方法,其特征在于,所述终端设备确定所述业务的运行状态为非正常运行,包括:
所述终端设备确定所述业务对所述内核加内核锁的时长达到阈值时长;或
所述终端设备确定所述业务处于空闲状态;或
所述终端设备确定所述业务处于执行故障状态。


3.根据权利要求1或2所述的方法,其特征在于,所述终端设备确定所述业务的运行状态为非正常运行后,释放所述业务对所述内核加的内核锁,包括:
所述终端设备根据所述锁资源列表中的业务标识与内核锁标识的对应关系,确定所述业务对所述内核加的内核锁的内核锁标识;
所述终端设备释放所述内核锁标识对应的内核锁。


4.一种终端设备,其特征在于,包括:处理单元和通信单元;
所述处理单元,用于在业务对内核加内核锁后,更新所述内核中锁资源管理列表中所述业务对所述内核的加解锁状态;其中,所述内核锁用于保障CPU持续运转;监控所述锁资源列表中加解锁状态为加锁的业务的运行状态;确定所述业务的运行状态为非正常运...

【专利技术属性】
技术研发人员:赵凡凡钱华君张贵文
申请(专利权)人:华为终端有限公司
类型:发明
国别省市:广东;44

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

1