一种数据网络基础设施设备使用实时操作系统命令的方法 所属领域:
本发明涉及数据网络基础设施设备操作技术,特别的是一种数据网络基础设施设备和实时操作系统的接口。背景技术:
目前,数据网络基础设施设备一般提供了命令行作为系统配置管理,维护,检测,监测的用户界面。数据网络基础设施设备软件一般运行于商业的实时操作系统之上。商业实时操作系统基本上是嵌入式系统,它本身就是数据网络设备软件系统的一个不可分割的组成部分。商业实时操作系统一般会提供自身的命令行shell作为自身资源的配置管理,维护,检测,监测的用户界面。
对于用户操作数据网络基础设施设备来讲,可以直接利用操作系统提供的命令行,但操作系统的命令行满足不了数据网络基础设施设备对命令行的需求。所以,数据网络基础设施设备需要开发自己的命令行系统。而如果对于用户来讲有两套不同的命令行模块十分不便,所以将它们集成到一起就有了必要性。
而现有的数据网络基础设施设备系统一般利用如下方式实现对商业实时操作系统资源的监控:首先,创建若干个命令;当命令被执行时,利用自身的命令行软件模块分析命令,调用商业实时操作系统提供的API获得系统信息,组织输出。这种方法没有对商业实时操作系统的命令行shell进行利用。
美国专利US5652914公布了一种通过输入/输出子系统执行与输入输出相关程序的方法,这与本发明的思想类似。但是本发明所采取地输入/输出缓存和输入截取技术应用于数据网络基础设施设备的方法,是美国专利所公布技术没有覆盖的。发明目的:
本发明的目的是直接向数据网络基础设施设备用户提供命令激活商业操作系统的shell,并向用户提供商业实时操作系统的命令行shell的全部命令,用来实现数据网络基础设施设备的高级管理、维护、监测和检测功能,同时不影响数据网络基础设施设备原有的命令行模块。发明的技术方案:
本发明的一种数据网络基础设施设备使用实时操作系统命令的方法,其技术方案为:在数据网络基础设施设备命令输入的处理部分增加一个截取输入的模块,这个模块分析用户输入,当发现输入的字符串符合预定的激活命令时,便设置一个操作系统命令已经被激活的状态变量;当操作系统命令被激活后,数据网络基础设施设备激活实时操作系统的命令行,截取输入模块会将所有的用户输入都输入操作系统命令处理部分;同时当截取输入模块发现输入的字符串符合预定的去激活命令时,便设置操作系统命令激活的状态变量为不被激活。
本发明的激活商业实时操作系统命令行shell的方法,其步骤包括:
(1)在系统中申请两块内存A和B用来作为商业操作系统命令行的输入缓存与输出缓存。
(2)在系统初始化的时候初始化商业实时操作系统的命令行shell软件模块,并将其输入与输出重定向到步骤1建立的输入缓存A与输出缓存B中。
(3)在命令输入串口的中断处理函数中增加一个截取输入的模块,这个模块分析串口输入,当发现输入的字符串符合预定的激活命令时,便设置一个shell已经被激活的状态变量。当shell被激活后,截取输入模块会将所有的串口输入都放入输入缓存A中并输入shell;同时,从输出缓存B中获得shell的输出并将这些输出从串口输出。
(4)当截取输入模块发现输入的字符串符合预定的去激活命令时,便设置shell去激活的状态变量。
实现该方法的软件模块包括:
(1)操作系统命令处理模块的初始化模块
(2)用作输入、输出的内存管理模块;
(3)系统串口中断字符截取与分析模块;
(4)操作系统命令处理模块的输入预处理模块;
(5)操作系统命令处理模块的输出处理模块;
(6)串口输出模块。有益效果:
本发明提供了一种方法以激活数据网络设备所使用的操作系统的命令行shell,完成对数据网络设备的高级维护、监测、测试操作。采用本发明的技术方案可以使的数据网络设备系统更有效地利用商业操作系统提供的功能,增加用户管理和维护数据网络设备系统的手段,更好地保障数据网络设备的稳定运行,缩短定位数据网络设备问题的时间。附图说明:
图1系统示意框图
图2操作系统命令(去)激活流程示意框图
图3操作系统命令执行流程示意框图实施例:
下面结合实施例具体说明本发明的实施方式。
参见图1系统示意框图,实现该方法的系统包括如下部分:
(1)用户终端
(2)串口中断字符截取模块
(3)串口输出模块
(4)Shell输入预处理模块
(5)Shell输入缓存
(6)Shell输出缓存
(7)Shell输出处理模块
(8)Shell
(9)串口
(10)网络设备
参见图2和图3说明该方法的实施步骤:
例如指定字符串“^D^E^F^G^H”为激活shell的命令。“^H^G^F^E^D”为去激活shell命令(其中“^”代表同时按“ctrl”键)。
则在操作系统启动并提示用户初始化过程完毕后,用户可以输入“^D^E^F^G^H”,表示要激活操作系统命令。该动作后串口中断字符截取模块就会发现用户输入了激活shell的命令,便设置shell激活标志;随后,用户便可以输入商用实时操作系统的命令了,如vxWorks操作系统的“i”命令。这以后,截取模块截取到命令后将其放入shell输入缓存中,shell输入预处理模块对输入进行必要的预处理,然后将命令输入shell。shell执行输入的命令,并将执行结果输出到输出缓存中。最后shell输出处理模块对串口的输出做出处理,串口输出模块将shell输出处理模块处理后的输出字符串输出到串口,并通过终端屏幕显示出来。完成了一次命令交互。
用户使用完毕后,输入“^H^G^F^E^D”,串口中断字符截取模块发现用户输入了shell去激活命令,便设置shell去激活标志。随后,串口输入将不再转发给shell,shell的输出也不会再发送到用户终端上。