[发明专利]一种Linux操作系统进程调度信息的监测方法有效
申请号: | 200710188340.1 | 申请日: | 2007-11-19 |
公开(公告)号: | CN101169758A | 公开(公告)日: | 2008-04-30 |
发明(设计)人: | 彭明星 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L29/06 |
代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 龙洪;霍育栋 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 操作系统 进程 调度 信息 监测 方法 | ||
技术领域
本发明涉及Linux操作系统,具体涉及在Linux操作系统进程调度信息的监测方法。
背景技术
Linux凭借着源码开放的自由精神,在操作系统市场中的份额不断增加。事实上,对其源码的自由修改和重发布,已经成为大多数嵌入式产品中操作系统开发和移植的首选途径。因此,研究Linux内核对嵌入式系统尤其是嵌入式操作系统的开发和移植有着重要的意义。而其中的调度系统对于操作系统的整体性能有着非常重要的影响,因而研究内核调度器(即调度程序)及其调度性能就是一项重要内容。
然而,当前有关Linux调度系统的研究大多停留在理论层面,如分析其调度策略和算法实现的时间复杂度,等等;而对Linux内核所支持的任务抢占,其调度性能即抢占是否实时、是否满足用户体验;CPU时间片分配是否公平、合理、有效等方面没有给出直观、准确的测试验证。
另外,在现有的一些技术和解决方案当中,一般提取内核信息时,都是通过新创建和运行一个用户进程,独自来读取和处理数据,也即先通过系统调用,陷入内核,拷贝内核缓冲中的信息至用户缓冲区中,然后返回该用户进程空间,再做相应的处理。
但是当我们要提取的是内核调度本身相关的信息时,这种方案显然是行不通的。因为新增的用户进程本身就要参与进程调度,也即会增加冗余的调度信息,并且系统调用时的陷入、返回机制,也会改变调度系统的调度策略和顺序,以致会造成分析结果的不准确;另外,当提取大量的信息时,过多的内核至用户缓冲区的数据拷贝也会加重系统负担,造成分析结果实时性不强。
还有,现有技术在通过网络输出信息时,最常见的是采用TCP/IP协议栈,即自网络层以下,采用以太网和IP协议,而传输层则采用简单快速的UDP协议,这就减去了TCP协议三次握手过程所造成的系统负担和资源浪费,保证了数据传输的实时性。由于考虑到通讯协议的层次抽象性和通用性,Linux内核网络子系统在实现时,采用的是通用多层协议处理机制(如图1所示)。如果大量的内核调度信息通过这种复杂的流程机制向网络发送的话,势必加重系统负担,影响系统性能。
发明内容
本发明要解决的技术问题是提供一种Linux操作系统进程调度信息的监测方法,以解决现有技术无法从实践角度监测及考察Linux的进程调度信息的缺陷。
为了解决上述问题,本发明提供了一种Linux操作系统进程调度信息的监测方法,包括:
a目标机在调用用户进程时记录进程调度信息,并将其写入内核缓冲区;
b读取所述内核缓冲区中的所述进程调度信息,并将其发送给测试主机;
c所述测试主机对收到的所述进程调度信息进行相应处理。
进一步地,所述步骤a具体是指:在进程选择及切换时增加记录进程调度信息的记录步骤,执行所述记录步骤的同时将记录的所述进程调度信息写入内核缓冲区。
进一步地,所述步骤b中,读取所述进程调度信息的方法为:创建一内核线程,读取所述内核缓冲区中的所述进程调度信息,并将所述进程调度信息封装成驱动程序所用的数据链路层帧,然后交由网卡驱动程序发送至测试主机。
进一步地,所述步骤c中,测试主机对收到的进程调度信息进行相应处理是指:测试主机收到所述数据链路层帧后,启动用户数据报协议数据包的接收和处理程序,解析所述数据链路层帧中的信息,并显示解析结果。
进一步地,所述数据链路层帧依次包含以下信息:以太网数据包头、网间协议数据包头、用户数据报协议数据包头及进程调度信息。
综上所述,本发明提供了一种Linux操作系统进程调度信息的监测方法,该方法中自定义的进程调度信息的记录语句,既不会生成冗余的内核调度信息,又方便将来扩展,具有可移植性、灵活性,可扩展性等特点;创建的内核线程直接从内核缓冲区中读取数据并封装成数据链路帧,绕过了内核中TCP/IP协议栈的重复处理流程;从而不会造成因监测程序的引入,而增加内核的调度负载,监测结果更准确;另外,通过数据链路层帧的传输,省去了在被测主机和测试主机之间建立通信连接所需的时间和资源,实现了监测的实时性。
附图说明
图1是现有技术通用的TCP/IP协议栈处理流程图;
图2是本发明方法的操作流程图;
图3是本发明方法产生的数据链路层帧的结构示意图;
图4是测试主机解析程序的一个示例界面,即调度信息的用法示例。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710188340.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:履带式可升降炮眼施工钻机
- 下一篇:一种可排气螺栓