远程计算机BIOS开机信息监看系统及方法 【技术领域】
本发明涉及一种计算机BIOS开机信息监看系统及方法,特别是关于一种通过网络监看远程计算机BIOS开机信息的系统及方法。
【先前技术】
计算机BIOS(Basic Input-Output System,基本输入输出系统)负责开机时对计算机系统的各项硬件进行初始化设置和测试,以确保系统能够正常工作。若硬件不正常则立即停止工作,并把出错的设备信息反馈给用户。计算机BIOS存储于计算机主机板上的CMOS(Complementary Metal-Oxide Semiconductor,互补金属氧化物半导体)内存中,其用于联系计算机硬件与软件程序之间的一组程序,该程序为计算机提供最低级及最直接的硬件控制。BIOS包含了POST(Power On System Test,系统加电自检)程序模块及系统启动自举程序模块,这些程序模块主要负责主机板与其它计算机硬件设备通讯的功能。当计算机接通电源后,BIOS将进行检查计算机内部所有设备,包括对微控制器(CPU)、内存、只读存储器、系统主机板、CMOS内存、并行和串行通讯子系统、软盘和硬盘子系统以及键盘进行测试。自检测试完成后,系统将在指定的驱动器中寻找操作系统,并向内存中装入操作系统。
用户为了获取计算机BIOS开机信息采用了很多技术,传统的BIOS开机监控卡,其多为七段显示器的形式来显示给用户,这样用户必需位于计算机旁,一次只能获取一台且只有数字码表示的BIOS开机信息,且用户必需自行比对各家BIOS厂商所定义的描述,才能了解BIOS开机状况。
关于获取计算机BIOS开机信息的技术曾揭露于台湾智慧财产局2001年10月21日公告的第460838号专利,其专利名称为“显示BIOS错误码的方法及装置”。该专利揭露了透过一计算机的视讯图形阵列适配卡(VGA)的接口传输BIOS测试的一错误码,并由该VGA端口模块通过七段显示器的形式来显示该错误码。
另外关于获取计算机BIOS开机信息的技术还曾揭露于台湾智慧财产局2001年12月11日公告的第468104号专利,其专利名称为“显示BIOS侦测码的方法及装置”。该专利揭露了透过一计算机地通用串行总线(USB)接口传输BIOS测试的一侦测码,并通过微控制器控制该侦错码,并将该侦错码以七段显示器的形式显示给用户。
然而上述这两种技术并不适用于远程获取计算机BIOS开机信息,从而给用户在远程获取计算机BIOS开机信息带来不便。为克服上述先前技术之不足,须提供一种远程计算机BIOS开机信息监看系统及方法,其可通过网络监看远程计算机BIOS开机信息,从而让监看者获悉远程计算机BIOS开机的状况。
【发明内容】
本发明的主要目的在于提供一种远程计算机BIOS开机信息监看系统及方法,其可通过网络监看远程计算机BIOS开机状况。
为达成上述发明目的,本发明提供一种远程计算机BIOS开机信息监看系统。该远程计算机BIOS开机信息监看系统包括:多台远程计算机、一监控计算机及网络。远程计算机用于执行该远程计算机BIOS开机后的自检程序,以及产生并发出一连串I/O80端口信息(即BIOS开机信息)。监控计算机用于装载一监控程序并执行该监控程序,以及显示远程计算机BIOS开机信息。其中,每一远程计算机包括:一微控制器、一远程监控卡及一PCI总线,微控制器通过PCI总线与远程监控卡相连接。微控制器是用于执行远程计算机BIOS开机后的BIOS自检程序,并产生一连串I/O80端口信息;远程监控卡是用于侦测远程计算机I/O80端口信息,并获取该I/O80端口信息;PCI总线用于在微控制器与远程监控卡之间传输远程计算机I/O80端口信息。远程监控卡包括一I/O80端口信息获取模块及一网络接口卡。其中,该I/O80端口信息获取模块用于侦测远程计算机PCI总线上的I/O80端口信息,以及从PCI总线上的信息中获取远程计算机I/O80端口信息,并于一队列中记录该信息。该网络接口卡是为远程计算机与网络提供一个接口,用于接收暂存于队列中远程计算机I/O80端口信息,并输出该信息至网络。最后通过网络传送至监控计算机并显示I/O80端口信息。
本发明还提供一种远程计算机BIOS开机信息监看方法,该方法包括如下步骤:(a)远程计算机开机后,执行BIOS自检程序,并产生一连串I/O80端口信息(即BIOS开机信息)输出至该远程计算机PCI总线上;(b)监控计算机执行监控程序;(c)为远程计算机提供一I/O80端口信息获取模块;(d)I/O80端口信息获取模块侦测远程计算机PCI总线上的信息;(e)I/O80端口信息获取模块判断是否侦测到I/O80端口信息;若侦测到I/O80端口信息,则I/O80端口信息获取模块获取该I/O80端口信息,并将该I/O80端口信息记录于一队列中;若还未侦测到该I/O80端口信息,则I/O80端口信息获取模块继续侦测远程计算机PCI总线上的信息;(f)远程计算机判断监控计算机是否询问记录于队列中的I/O80端口信息;若远程计算机收到该询问请求,则所述的I/O80端口信息获取模块将队列中的I/O80端口信息输出,并通过网络传输至监控计算机;若远程计算机还未收到该询问请求,则I/O80端口信息获取模块继续侦测远程计算机PCI总线上的信息;及(g)监控计算机显示远程计算机I/O80端口信息,即远程计算机BIOS开机信息。
其中所述的监控计算机执行监控程序之步骤(b)还包括如下步骤:监控计算机向远程计算机发出信息询问I/O80端口信息获取模块记录的I/O80端口信息;监控计算机等待远程计算机是否响应该询问请求;若远程计算机未响应该询问请求,则监控计算机继续询问I/O80端口信息获取模块记录的I/O80端口信息;若远程计算机响应该询问请求,则监控计算机显示该I/O80端口信息,即远程计算机BIOS开机信息。
通过实施本发明,可通过网络监看远程计算机BIOS开机信息,从而让监看者获悉远程计算机BIOS开机状况。
【附图说明】
图1是本发明远程计算机BIOS开机信息监看系统的硬件架构图。
图2是本发明远程计算机BIOS开机信息监看方法的远程计算机作业流程图。
图3是本发明远程计算机BIOS开机信息监看方法的监控程序作业流程图。
【具体实施方式】
如图1所示,是本发明远程计算机BIOS开机信息监看系统的硬件架构图。该远程计算机BIOS开机信息监看系统包括多台远程计算机1、一监控计算机2及网络3,远程计算机1通过网络3与监控计算机2相连接。远程计算机1可以为台式PC、笔记本计算机或服务器主机。该远程计算机1包括一微控制器(Micro-controller)10、一远程监控卡(Remote Control Card)11及一PCI总线(PCIBus)12,微控制器10通过PCI总线12与远程监控卡11相连接。微控制器10用于执行该远程计算机BIOS开机后自我测试程序,即BIOS自检程序,以及产生I/O80端口信息,即远程计算机BIOS开机信息;远程监控卡11用于侦测远程计算机1的BIOS开机信息,并获取该BIOS开机信息;以及PCI总线12用于在微控制器10与远程监控卡11之间传输BIOS开机信息。其中,该远程监控卡11包括一I/O80端口(输入输出80端口)信息获取模块(I/O80 PortCapture Module)111及一网络接口卡(Network Interface Card,NIC)112。该I/O80端口信息获取模块111是用于侦测远程计算机PCI总线12上的I/O80端口信息,以及从PCI总线12上获取I/O80端口信息并记录该信息;以及网络接口卡112是为远程计算机1与网络3提供一个接口,其用于接收暂存于队列中的远程计算机I/O80端口信息,并输出该信息至网络3。所述的队列用于暂存I/O80端口信息获取模块111于PCI总线12上获取的远程计算机I/O80端口信息。该监控计算机2装载有一监控程序并执行该监控程序,并用于显示远程计算机BIOS开机信息。所述的监控程序是指一种用于获取并显示远程计算机BIOS开机信息的应用程序。该网络3是为一种支持传输控制协议/网络协议(Transmission ControlProtocol/Internet Protocol,TCP/IP)的通讯网络,其可以为企业内部网(Intranet)、网际互联网(Internet)或其它类型的通讯网络。
如图2所示,是本发明远程计算机BIOS开机信息监看方法的远程计算机作业流程图。用户打开远程计算机1的电源,远程计算机1的微控制器10开始执行BIOS自检程序,并产生一连串I/O80端口信息(该I/O80端口信息包括生产厂家对本台计算机定义的数字码及其描述)。该I/O80端口信息是指远程计算机1开机时的一系列状况,其包括远程计算机1的CPU、磁盘容量、内存大小、厂家对本台计算机的描述以及是否正常连接网络等信息(步骤S10)。远程计算机1中提供有一I/O80端口信息获取模块111(步骤S11)。I/O80端口信息获取模块111侦测PCI总线12上的信息(步骤S12),并询问PCI总线12上是否有I/O80端口信息(步骤S13)。若还未侦测到PCI总线12上有I/O80端口信息,则I/O80端口信息获取模块111继续侦测PCI总线12上的信息(步骤S12);若侦测到PCI总线12上有I/O80端口信息,则I/O80端口信息获取模块111从PCI总线12上获取I/O80端口信息,并将该I/O80端口信息记录于队列中(步骤S14)。微控制器10是否收到监控计算机2的监控程序询问I/O80端口信息获取模块111记录的I/O80端口信息(步骤S15)。若微控制器10没有收到该询问请求,则I/O80端口信息获取模块111继续侦测PCI总线12上的信息(步骤S12);若微控制器10收到该询问请求,则I/O80端口信息获取模块111将队列中所记录的I/O80端口信息通过网络接口卡112输出至网络3,然后通过网络3传输至监控计算机2(步骤S16)。
如图3所示,是本发明远程计算机BIOS开机信息监看方法的监控程序作业流程图。监看者在监控计算机2中执行监控程序(步骤S20)。监控计算机2向远程计算机1发出询问请求获取I/O80端口信息获取模块111记录的所有I/O80端口的数字码描述(步骤S21),为了考虑网络使用效率,监控计算机2一次性获取所有I/O80端口的数字码描述。监控计算机2等待远程计算机1是否响应该询问请求(步骤S22)。若远程计算机1未响应该询问请求(即超时),则监控程序作Retry1=Retry1+1运算,其中,Retry1为一个参数变量,即对监控计算机2询问I/O80端口信息获取模块111记录的I/O80端口的数字码描述的次数作一计数(步骤S23);若远程计算机1响应该询问请求(即响应),则监控计算机2向远程计算机1发出信息询问I/O80端口信息获取模块111所记录的I/O80端口的数字码(步骤S25),监控计算机2分段获取I/O80端口的数字码。当监控程序执行步骤S23后,接着判断是否Retry1<=5,即判断监控计算机2询问I/O80端口信息获取模块111记录的I/O80端口的数字码描述的次数是否超过5次,该询问次数由监控程序自动设定(步骤S24)。若该询问次数还未超过5次,则监控计算机2继续询问I/O80端口信息获取模块111记录的I/O80端口的数字码描述(步骤S21);若该询问次数超过5次,则在监控计算机2中显示与远程计算机1联机发生错误的信息(步骤S30)。
当监控程序执行步骤S25后,远程计算机1是否响应询问I/O80端口信息获取模块111记录的I/O80端口的数字码的询问请求(步骤S26)。若远程计算机1未响应该询问请求(即超时),则监控程序作Retry2=Retry2+1运算,其中,Retry2为一个参数变量,即对监控计算机2询问I/O80端口信息获取模块111记录的I/O80端口的数字码的次数作一计数(步骤S27);若远程计算机1响应该询问请求(即响应),则监控程序将分段获取的远程计算机I/O80端口的数字码和一次性获取的I/O80端口的数字码描述进行比对后,于监控计算机2显示远程计算机I/O80端口的数字码及其对应的描述,从而让监看者了解远程计算机BIOS开机信息(步骤S29)。当监控程序执行步骤S27后,接着判断是否Retry2<=5,即判断监控计算机2询问I/O80端口信息获取模块111记录的I/O80端口的数字码的次数是否超过5次,该询问次数由监控程序自动设定(步骤S28)。若该询问次数还未超过5次,则监控计算机2继续询问I/O80端口信息获取模块111所记录的I/O80端口的数字码(步骤S25);若该询问次数超过5次,则在监控计算机2中显示与远程计算机1联机发生错误的信息(步骤S30)。最后监控计算机2判断监看者是否结束监控程序(步骤S31),若监看者还未结束该监控程序,则监控计算机2继续询问I/O80端口信息获取模块111所记录的I/O80端口的数字码(步骤S25);若监看者结束该监控程序,则结束I/O80端口信息获取模块111停止从远程计算机PCI总线12上撷取I/O80端口的数字码,从而停止监看远程计算机BIOS开机信息的整个过程。