系统调用在内核态运行时间的统计方法、装置及电子设备制造方法及图纸

技术编号:35866364 阅读:13 留言:0更新日期:2022-12-07 10:58
本公开提供了一种系统调用在内核态运行时间的统计方法、装置、电子设备及存储介质,其中,方法包括:响应于用户态程序的激活指令,在获取用户态程序发起系统调用且陷入内核空间时,通过内核模块将第一线程系统调用的内核态运行时间和系统调用累加次数记录在每CPU变量中,将所述每CPU变量存储的内容保存到内核缓存区;响应于用户态程序的数据获取指令,将所述内核缓存区中保存的所述内核态运行时间和所述系统调用累加次数发送给所述用户态程序的指定存储空间。本公开解决了linux内核系统调用延迟诊断难度大的问题,降低了用户自主诊断的门槛,减少了对系统本身性能的影响和资源占用。占用。占用。

【技术实现步骤摘要】
系统调用在内核态运行时间的统计方法、装置及电子设备


[0001]本公开涉及计算机
,尤其涉及一种系统调用在内核态运行时间的统计方法、装置、电子设备及存储介质。

技术介绍

[0002]在工业控制领域、自动驾驶等领域,都需要有一个延时低且稳定的操作系统,开源的Linux系统中的系统调用延迟高且不可控,难以达到行业需求,因此要对其进行实时化改造。
[0003]在现有技术中,仅统计中断发送到中断处理结束的时间,并没有考虑中断处理过程被打断的情况。因此,存在中断时间统计不准确的问题。
[0004]此外,现有技术针对的是Linux线程调度的性能测试,无法用于统计系统调用在内核态的运行时间,并且它的呈现方式不直观,不具体,不能够帮忙用户直接发现问题点。
[0005]鉴于此,目前急需一种统计准确的系统调用在内核态运行时间统计的技术方案。

技术实现思路

[0006]本公开的目的在于提供一种系统调用在内核态运行时间的统计方法、装置、电子设备及存储介质,旨在解决现有技术中的上述问题。
[0007]根据本公开实施例的第一方面,提供一种系统调用在内核态运行时间的统计方法,包括:
[0008]响应于用户态程序的激活指令,在获取用户态程序发起系统调用且陷入内核空间时,通过内核模块将第一线程系统调用的内核态运行时间和系统调用累加次数记录在每CPU变量中,将每CPU变量保存到内核缓存区;
[0009]响应于用户态程序的数据获取指令,将内核缓存区中保存的内核态运行时间和系统调用累加次数发送给用户态程序的指定存储空间。
[0010]根据本公开实施例的第二方面,提供一种系统调用在内核态运行时间的统计装置,包括:
[0011]用户态程序模块,用于发送激活指令,发起系统调用并陷入内核空间,发送数据获取指令,获取内核态运行时间和系统调用累加次数;
[0012]内核模块,用于响应于用户态程序的激活指令,在获取用户态程序发起系统调用且陷入内核空间时,通过内核模块将第一线程系统调用的内核态运行时间和系统调用累加次数记录在每CPU变量中,将每CPU变量保存到内核缓存区;响应于用户态程序的数据获取指令,将内核缓存区中保存的内核态运行时间和系统调用累加次数发送给用户态程序。
[0013]根据本公开实施例的第三方面,提供一种系统调用在内核态运行时间的统计电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现上述系统调用在内核态运行时间的统计方法的步骤。
[0014]根据本公开实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储
介质上存储有信息传递的实现程序,程序被处理器执行时实现上述系统调用在内核态运行时间的统计方法的步骤。
[0015]本公开的实施例提供的技术方案可以包括以下有益效果:
[0016]采用本公开的实施例,能够准确发现Linux实时性中系统调用延迟抖动的问题,并且解决linux内核系统调用延迟诊断难度大的问题。并且集成了用户态工具和内核模块,降低了用户自主诊断的门槛,减少了对系统本身性能的影响和资源占用。
[0017]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0018]为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]图1是根据一示例性实施例示出的一种系统调用在内核态运行时间的统计方法的流程图;
[0020]图2是根据一示例性实施例示出的一种系统调用在内核态运行时间的统计方法的示例性处理流程图;
[0021]图3是根据一示例性实施例示出的一种系统调用在内核态运行时间的统计装置的示意图;
[0022]图4是根据一示例性实施例示出的一种系统调用在内核态运行时间的统计电子设备的示意图。
具体实施方式
[0023]下面将结合附图详细地对示例性实施例进行描述说明。
[0024]应当指出,相关实施例及附图仅为描述说明本公开所提供的示例性实施例,而非本公开的全部实施例,也不应理解本公开受相关示例性实施例的限制。
[0025]应当指出,本公开中所用术语“第一”、“第二”等仅用于区别不同步骤、设备或模块等。相关术语既不代表任何特定技术含义,也不表示它们之间的顺序或者相互依存关系。
[0026]应当指出,本公开中所用术语“一个”、“多个”、“至少一个”的修饰是示意性而非限制性的。除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0027]应当指出,本公开中所用术语“和/或”,用于描述关联对象之间的关联关系,一般表示至少存在三种关联关系。例如,A和/或B,至少可以表示:单独存在A,同时存在A和B,单独存在B这三种关联关系。
[0028]应当指出,本公开的方法实施例中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。除非特别说明,本公开的范围不受相关实施例中步骤的描述顺序限制。
[0029]需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
[0030]技术用语说明
[0031]1、系统调用(system call):是指由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(Application Programming Interface,API)。是应用程序同系统之间的接口。
[0032]2、内核态(kernel mode):即系统态,系统态运行的程序可以访问计算机的任何资源,不受限制;例如,修改寄存器内容的命令、磁盘的IO操作、访问物理页内存、访问网络上的数据包。其对应于用户态,用户态运行的线程可以直接读取用户程序的数据。
[0033]3、实时操作系统(RTOS):一个旨在运行实时应用程序的操作系统,因为其涉及无缓冲延迟的过程数据,因此具有处理时间要求。处理时间要求(包括任何OS延迟)以十分之一秒或更短的时间增量来衡量。实时系统是具有明确定义的固定时间约束的时限系统。处理必须在定义的约束内完成,否则系统将失败。包括事件驱动系统和分时系统,其中,事件驱动系统根据任务的优先级在任务之间切换,而分时系统则根据时钟中断在任务之间切换。
[0034]示例性方法一
[0035]根据本公开实施例,提供了一种系统调用在内核态运行时间的统计方法,
[0036]图1是根据一示例性实施例示出的一种系统调用在内核态运行时间的统计方法的流程图,如图1所示,根据本公开实施例的系统调用在内核态运行时间的统计方法具体包括:
[0037]步骤S101,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统调用在内核态运行时间的统计方法,其特征在于,包括:响应于用户态程序的激活指令,在获取所述用户态程序发起系统调用且陷入内核空间时,通过内核模块将第一线程系统调用的内核态运行时间和系统调用累加次数记录在每CPU变量中,将所述每CPU变量存储的内容保存到内核缓存区;响应于用户态程序的数据获取指令,将所述内核缓存区中保存的所述内核态运行时间和所述系统调用累加次数发送给所述用户态程序的指定存储空间。2.根据权利要求1所述的方法,其特征在于,通过内核模块将第一线程系统调用的内核态运行时间记录在每CPU变量中具体包括:通过内核模块将第一线程系统调用的第一时间记录在每CPU变量中并开始进行时间统计,在所述第一线程被调度走时,结束时间统计,获取第二时间,并根据所述第一时间和所述第二时间计算所述第一线程的内核态运行时间,其中,所述第一线程系统调用包括:初次调用和被打断后的再次调用。3.根据权利要求1所述的方法,其特征在于,通过内核模块将第一线程系统调用的系统调用累加次数记录在每CPU变量中具体包括:将所述第一线程的内核态运行时间累加到每CPU变量的对应第一线程的调用内核耗时时间计数器中,并对所述每CPU变量中的对应第一线程的系统调用次数计数器进行计数累加,其中,所述系统调用次数计数器仅对所述初次调用进行计数累加。4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:通过用户态程序获取预先设置的指定系统调用和内核态运行时间阈值。5.根据权利要求4所述的方法,其特征在于,通过内核模块将第一线程系统调用的内核态运行时间和系统调用累加次数记录在每CPU变量中,将所述每CPU变量保存到内核缓存区进一步包括:通过内核模块将内核态运行时间大于或等于所述内核态运行时间阈值的系统调用内核态运行时间和系统调用累加次数记录在每CPU变量中,并将所述每CPU变量保存到内核缓存区。6.根据权利要求4所述的方法,其特征在于,通过内核模块将第一线程系统调用的内核态运行时间和系统调...

【专利技术属性】
技术研发人员:黄自江杨林杨伟邹操郭天泽
申请(专利权)人:国科础石重庆软件有限公司
类型:发明
国别省市:

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

1