[发明专利]一种获取Linux内核信息的方法和系统有效
申请号: | 200910236010.4 | 申请日: | 2009-10-15 |
公开(公告)号: | CN101673218A | 公开(公告)日: | 2010-03-17 |
发明(设计)人: | 王新余;王义安 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) | 代理人: | 蒋雅洁;王黎延 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 获取 linux 内核 信息 方法 系统 | ||
技术领域
本发明涉及Linux内核技术,尤其涉及一种获取Linux内核信息的方法和 系统。
背景技术
Linux是一种免费使用和开放源代码的操作系统,一方面由于其是自由软 件,另一方面由于其高效性和灵活性,一直受到广大设备厂家的青睐,目前, 在产品开发中使用的越来越多。
从软件安全性考虑,Linux内核把软件运行分为内核态和用户态,内核态 与用户态是操作系统的两种运行级别,当软件运行处于内核态时,执行的内核 代码会使用当前软件进程的内核栈,Linux内核在特权级最高的(0级)内核代 码中运行;当软件运行在执行用户自己的代码时,则称其处于用户态,此时Linux 内核在特权级最低的(3级)用户代码中运行。这样,对于一些重要的异常信 息,需要在内核态才能进行捕获输出,如内存访问越界(PAGE FAULT)等。 Linux内核信息通常只输出在确定的终端设备上显示。如:使用Linux的机器, 通常其Linux内核信息会显示到与其相连接的显示器上;在使用嵌入式Linux 的设备上,Linux内核信息通常会输出到串口设备上,通过串口设备将Linux 内核信息输出到本地终端上显示,由于串口设备的距离限制,只能用于本地查 看。
Linux内核信息只能在本地显示查看,这样导致的一个弊端是:当设备在 现场运行过程中,Linux出现问题时,维护人员要处理解决问题,维护设备稳 定,就必须要赶到设备所在现场来进行Linux内核信息的获取,费时费力,给 设备维护带来很大不便。
发明内容
有鉴于此,本发明的主要目的在于提供一种获取Linux内核信息的方法和 系统,对设备的Linux内核信息实现远程获取。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实现的一种获取Linux内核信息的方法,该方法包括:
将Linux内核的控制台结构(console)对Telnet协议有效的字段进行初始 化,构造出Telnet控制台对象,并设置注册Telnet终端变量;
在需要查看Linux内核信息时,将要注册的Telnet终端通过注册Telnet终 端变量注册到Telnet控制台对象,并将Telnet控制台对象加入到内核信息输出 控制设备列表(console_drivers)中;
通过Telnet控制台对象,将Linux内核信息输出给注册的Telnet终端,Telnet 终端接收Linux内核信息。
上述方案中,所述对Telnet协议有效的字段进行初始化具体为:
对console中的flag字段赋值为CON_ENABLED和 CON_PRINTBUFFER;对write字段赋值为Telnet终端输出函数。
上述方案中,所述将要注册的Telnet终端通过注册Telnet终端变量注册到 Telnet控制台对象具体为:根据用户态执行的为注册命令,在检测到注册Telnet 终端变量为空时,在内核态将当前执行注册命令的Telnet终端注册到Telnet控 制台对象;
进一步的,上述方案中,该方法还包括:在检测到注册Telnet终端变量已 有指向时,则停止注册,返回注册失败信息。
上述方案中,所述通过Telnet控制台对象将Linux内核信息输出给注册的 Telnet终端具体为:Linux内核态利用函数printk(),对console_drivers进行遍历, 查找到Telnet控制台对象,调用Telnet终端输出函数,将Linux内核信息输出 给注册到Telnet控制台对象的Telnet终端。
上述方案中,所述方法进一步包括:通过注销命令注销注册的Telnet终端, 或者由于网络原因与注册的Telnet终端连接异常、断开时,Linux内核态自动 注销注册的Telnet终端。
上述方案中,所述通过注销命令注销注册的Telnet终端具体为:在注册的 Telnet终端输入注销命令,Linux内核态根据用户态执行的为注销命令,调用 tty_release()函数注销注册的Telnet终端;或者,
上述方案中,所述自动注销具体为:在Linux内核态检测到与Telnet终端 连接断开时,调用tty_release()函数注销注册的Telnet终端。
本发明实现的一种获取Linux内核信息的系统,该系统包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910236010.4/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置